tmf_client/tmf/
tmf645.rs

1//! TMF645 Service Qualifcation API
2//! Manage objects with TMF645 Service Qualification API
3
4use tmflib::tmf645::check_service_qualification::CheckServiceQualification;
5
6use super::{create_tmf, delete_tmf, get_tmf, list_tmf, update_tmf};
7use crate::common::tmf_error::TMFError;
8#[cfg(not(feature = "blocking"))]
9use crate::AsyncOperations;
10#[cfg(feature = "blocking")]
11use crate::BlockingOperations;
12use crate::{Config, HasNew};
13
14/// TMF645 Service Qualification API
15pub struct TMF645CheckServiceQualification {
16    config: Config,
17}
18
19impl TMF645CheckServiceQualification {
20    /// Create a new instance of the Service Qualificatoin module of TMF645 API
21    pub fn new(config: Config) -> TMF645CheckServiceQualification {
22        TMF645CheckServiceQualification { config }
23    }
24}
25
26#[cfg(feature = "blocking")]
27impl BlockingOperations for TMF645CheckServiceQualification {
28    type TMF = CheckServiceQualification;
29
30    fn create(&self, item: Self::TMF) -> Result<Self::TMF, TMFError> {
31        create_tmf(&self.config, item)
32    }
33    fn delete(&self, id: impl Into<String>) -> Result<Self::TMF, TMFError> {
34        delete_tmf(&self.config, id.into())
35    }
36    fn get(&self, id: impl Into<String>) -> Result<Vec<Self::TMF>, TMFError> {
37        get_tmf(&self.config, id.into())
38    }
39    fn list(&self, filter: Option<crate::QueryOptions>) -> Result<Vec<Self::TMF>, TMFError> {
40        list_tmf(&self.config, filter)
41    }
42    fn update(&self, id: impl Into<String>, patch: Self::TMF) -> Result<Self::TMF, TMFError> {
43        update_tmf(&self.config, id.into(), patch)
44    }
45}
46
47#[cfg(not(feature = "blocking"))]
48impl AsyncOperations for TMF645CheckServiceQualification {
49    type TMF = CheckServiceQualification;
50
51    async fn create(&self, item: Self::TMF) -> Result<Self::TMF, TMFError> {
52        create_tmf(&self.config, item).await
53    }
54    async fn delete(&self, id: impl Into<String>) -> Result<Self::TMF, TMFError> {
55        delete_tmf(&self.config, id.into()).await
56    }
57    async fn get(&self, id: impl Into<String>) -> Result<Vec<Self::TMF>, TMFError> {
58        get_tmf(&self.config, id.into()).await
59    }
60    async fn list(&self, filter: Option<crate::QueryOptions>) -> Result<Vec<Self::TMF>, TMFError> {
61        list_tmf(&self.config, filter).await
62    }
63    async fn update(&self, id: impl Into<String>, patch: Self::TMF) -> Result<Self::TMF, TMFError> {
64        update_tmf(&self.config, id.into(), patch).await
65    }
66}
67
68/// TMF645 Service Qualification API
69#[derive(Clone, Default, Debug)]
70pub struct TMF645 {
71    config: Config,
72}
73
74impl HasNew<TMF645> for TMF645 {
75    fn new(config: Config) -> TMF645 {
76        TMF645 { config }
77    }
78}
79
80impl TMF645 {
81    /// Access the Check Service Qualification API
82    pub fn check_qualifcation(&mut self) -> TMF645CheckServiceQualification {
83        TMF645CheckServiceQualification::new(self.config.clone())
84    }
85}