oxinat_core/uri/admin/
services.rs1use std::{fmt::Debug, sync::Arc};
2
3use crate::{UriBuilder, Version};
4
5#[derive(Clone, Debug, Default, UriBuilder)]
6#[match_path(path = "{parent}/services")]
7pub struct ServicesUriLegacyBuilder<Parent>
8where
9 Parent: Clone + Debug + UriBuilder,
10{
11 #[parent]
12 parent: Option<Arc<Parent>>
13}
14
15impl ServicesUriLegacyBuilder<String> {
16 pub fn build_audit(&self, xsi_type: &str, object_id: &str) -> crate::BuildResult {
18 self.build_join(format!("audit/{xsi_type}/{object_id}"))
19 }
20
21 pub fn build_features(&self) -> crate::BuildResult {
23 self.build_join("features")
24 }
25
26 pub fn build_refresh_catalog(&self) -> crate::BuildResult {
29 self.build_join("refresh/catalog")
30 }
31
32 pub fn build_mail_send(&self) -> crate::BuildResult {
34 self.build_join("mail/send")
35 }
36
37 pub fn build_move_files(&self) -> crate::BuildResult {
39 self.build_join("move-files")
40 }
41
42 pub fn build_send_email_verification(&self) -> crate::BuildResult {
45 self.build_join("sendEmailVerification")
46 }
47}
48
49pub trait ServicesUriLegacy: Version {
52 #[inline]
53 fn services(&self) -> ServicesUriLegacyBuilder<String> {
54 ServicesUriLegacyBuilder::from_parent(self.data_uri().into())
55 }
56}