manta_server/backend_dispatcher/
ims.rs1use manta_backend_dispatcher::{
4 error::Error,
5 interfaces::ims::{GetImagesAndDetailsTrait, ImsTrait},
6 types::ims::{Image, PatchImage},
7};
8
9use StaticBackendDispatcher::*;
10
11use crate::manta_backend_dispatcher::StaticBackendDispatcher;
12
13impl ImsTrait for StaticBackendDispatcher {
14 async fn get_images(
15 &self,
16 shasta_token: &str,
17 image_id_opt: Option<&str>,
18 ) -> Result<Vec<Image>, Error> {
19 dispatch!(self, get_images, shasta_token, image_id_opt)
20 }
21
22 async fn get_all_images(
23 &self,
24 shasta_token: &str,
25 shasta_base_url: &str,
26 shasta_root_cert: &[u8],
27 ) -> Result<Vec<Image>, Error> {
28 dispatch!(
29 self,
30 get_all_images,
31 shasta_token,
32 shasta_base_url,
33 shasta_root_cert
34 )
35 }
36
37 fn filter_images(&self, image_vec: &mut Vec<Image>) -> Result<(), Error> {
38 dispatch!(sync self, filter_images, image_vec)
39 }
40
41 async fn update_image(
42 &self,
43 shasta_token: &str,
44 image_id: &str,
45 image: &PatchImage,
46 ) -> Result<(), Error> {
47 dispatch!(self, update_image, shasta_token, image_id, image)
48 }
49
50 async fn delete_image(
51 &self,
52 shasta_token: &str,
53 shasta_base_url: &str,
54 shasta_root_cert: &[u8],
55 image_id: &str,
56 ) -> Result<(), Error> {
57 dispatch!(
58 self,
59 delete_image,
60 shasta_token,
61 shasta_base_url,
62 shasta_root_cert,
63 image_id
64 )
65 }
66}
67
68impl GetImagesAndDetailsTrait for StaticBackendDispatcher {
69 async fn get_images_and_details(
70 &self,
71 shasta_token: &str,
72 shasta_base_url: &str,
73 shasta_root_cert: &[u8],
74 hsm_group_name_vec: &[String],
75 id_opt: Option<&str>,
76 limit_number: Option<&u8>,
77 ) -> Result<Vec<(Image, String, String, bool)>, Error> {
78 dispatch!(
79 self,
80 get_images_and_details,
81 shasta_token,
82 shasta_base_url,
83 shasta_root_cert,
84 hsm_group_name_vec,
85 id_opt,
86 limit_number
87 )
88 }
89}