Skip to main content

nominal_api/conjure/endpoints/module/
module_service.rs

1use conjure_http::endpoint;
2/// Modules define collections of compute logic that can be shared and used across different contexts.
3/// The Modules Service provides the API for managing these collections of functions.
4#[conjure_http::conjure_endpoints(
5    name = "ModuleService",
6    use_legacy_error_serialization
7)]
8pub trait ModuleService {
9    /// Create a new module.
10    #[endpoint(
11        method = POST,
12        path = "/scout/v2/module",
13        name = "createModule",
14        produces = conjure_http::server::StdResponseSerializer
15    )]
16    fn create_module(
17        &self,
18        #[auth]
19        auth_: conjure_object::BearerToken,
20        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
21        request: super::super::super::objects::module::CreateModuleRequest,
22    ) -> Result<
23        super::super::super::objects::module::Module,
24        conjure_http::private::Error,
25    >;
26    /// Update an existing module.
27    #[endpoint(
28        method = PUT,
29        path = "/scout/v2/module/{moduleRid}",
30        name = "updateModule",
31        produces = conjure_http::server::StdResponseSerializer
32    )]
33    fn update_module(
34        &self,
35        #[auth]
36        auth_: conjure_object::BearerToken,
37        #[path(
38            name = "moduleRid",
39            decoder = conjure_http::server::conjure::FromPlainDecoder,
40            log_as = "moduleRid",
41            safe
42        )]
43        module_rid: super::super::super::objects::modules::api::ModuleRid,
44        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
45        request: super::super::super::objects::module::UpdateModuleRequest,
46    ) -> Result<
47        super::super::super::objects::module::Module,
48        conjure_http::private::Error,
49    >;
50    /// Get a list of modules by their RIDs and version specifiers if provided.
51    #[endpoint(
52        method = POST,
53        path = "/scout/v2/module/batch-get",
54        name = "batchGetModules",
55        produces = conjure_http::server::conjure::CollectionResponseSerializer
56    )]
57    fn batch_get_modules(
58        &self,
59        #[auth]
60        auth_: conjure_object::BearerToken,
61        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
62        request: super::super::super::objects::module::BatchGetModulesRequest,
63    ) -> Result<
64        Vec<super::super::super::objects::module::Module>,
65        conjure_http::private::Error,
66    >;
67    /// Search for modules.
68    #[endpoint(
69        method = POST,
70        path = "/scout/v2/module/search",
71        name = "searchModules",
72        produces = conjure_http::server::StdResponseSerializer
73    )]
74    fn search_modules(
75        &self,
76        #[auth]
77        auth_: conjure_object::BearerToken,
78        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
79        request: super::super::super::objects::module::SearchModulesRequest,
80    ) -> Result<
81        super::super::super::objects::module::SearchModulesResponse,
82        conjure_http::private::Error,
83    >;
84    /// Archive a set of modules.
85    #[endpoint(
86        method = POST,
87        path = "/scout/v2/module/archive",
88        name = "batchArchiveModules",
89        produces = conjure_http::server::StdResponseSerializer
90    )]
91    fn batch_archive_modules(
92        &self,
93        #[auth]
94        auth_: conjure_object::BearerToken,
95        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
96        request: super::super::super::objects::module::BatchArchiveModulesRequest,
97    ) -> Result<
98        super::super::super::objects::module::BatchArchiveModulesResponse,
99        conjure_http::private::Error,
100    >;
101    /// Unarchive a set of modules.
102    #[endpoint(
103        method = POST,
104        path = "/scout/v2/module/unarchive",
105        name = "batchUnarchiveModules",
106        produces = conjure_http::server::StdResponseSerializer
107    )]
108    fn batch_unarchive_modules(
109        &self,
110        #[auth]
111        auth_: conjure_object::BearerToken,
112        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
113        request: super::super::super::objects::module::BatchUnarchiveModulesRequest,
114    ) -> Result<
115        super::super::super::objects::module::BatchUnarchiveModulesResponse,
116        conjure_http::private::Error,
117    >;
118}
119/// Modules define collections of compute logic that can be shared and used across different contexts.
120/// The Modules Service provides the API for managing these collections of functions.
121#[conjure_http::conjure_endpoints(
122    name = "ModuleService",
123    use_legacy_error_serialization
124)]
125pub trait AsyncModuleService {
126    /// Create a new module.
127    #[endpoint(
128        method = POST,
129        path = "/scout/v2/module",
130        name = "createModule",
131        produces = conjure_http::server::StdResponseSerializer
132    )]
133    async fn create_module(
134        &self,
135        #[auth]
136        auth_: conjure_object::BearerToken,
137        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
138        request: super::super::super::objects::module::CreateModuleRequest,
139    ) -> Result<
140        super::super::super::objects::module::Module,
141        conjure_http::private::Error,
142    >;
143    /// Update an existing module.
144    #[endpoint(
145        method = PUT,
146        path = "/scout/v2/module/{moduleRid}",
147        name = "updateModule",
148        produces = conjure_http::server::StdResponseSerializer
149    )]
150    async fn update_module(
151        &self,
152        #[auth]
153        auth_: conjure_object::BearerToken,
154        #[path(
155            name = "moduleRid",
156            decoder = conjure_http::server::conjure::FromPlainDecoder,
157            log_as = "moduleRid",
158            safe
159        )]
160        module_rid: super::super::super::objects::modules::api::ModuleRid,
161        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
162        request: super::super::super::objects::module::UpdateModuleRequest,
163    ) -> Result<
164        super::super::super::objects::module::Module,
165        conjure_http::private::Error,
166    >;
167    /// Get a list of modules by their RIDs and version specifiers if provided.
168    #[endpoint(
169        method = POST,
170        path = "/scout/v2/module/batch-get",
171        name = "batchGetModules",
172        produces = conjure_http::server::conjure::CollectionResponseSerializer
173    )]
174    async fn batch_get_modules(
175        &self,
176        #[auth]
177        auth_: conjure_object::BearerToken,
178        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
179        request: super::super::super::objects::module::BatchGetModulesRequest,
180    ) -> Result<
181        Vec<super::super::super::objects::module::Module>,
182        conjure_http::private::Error,
183    >;
184    /// Search for modules.
185    #[endpoint(
186        method = POST,
187        path = "/scout/v2/module/search",
188        name = "searchModules",
189        produces = conjure_http::server::StdResponseSerializer
190    )]
191    async fn search_modules(
192        &self,
193        #[auth]
194        auth_: conjure_object::BearerToken,
195        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
196        request: super::super::super::objects::module::SearchModulesRequest,
197    ) -> Result<
198        super::super::super::objects::module::SearchModulesResponse,
199        conjure_http::private::Error,
200    >;
201    /// Archive a set of modules.
202    #[endpoint(
203        method = POST,
204        path = "/scout/v2/module/archive",
205        name = "batchArchiveModules",
206        produces = conjure_http::server::StdResponseSerializer
207    )]
208    async fn batch_archive_modules(
209        &self,
210        #[auth]
211        auth_: conjure_object::BearerToken,
212        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
213        request: super::super::super::objects::module::BatchArchiveModulesRequest,
214    ) -> Result<
215        super::super::super::objects::module::BatchArchiveModulesResponse,
216        conjure_http::private::Error,
217    >;
218    /// Unarchive a set of modules.
219    #[endpoint(
220        method = POST,
221        path = "/scout/v2/module/unarchive",
222        name = "batchUnarchiveModules",
223        produces = conjure_http::server::StdResponseSerializer
224    )]
225    async fn batch_unarchive_modules(
226        &self,
227        #[auth]
228        auth_: conjure_object::BearerToken,
229        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
230        request: super::super::super::objects::module::BatchUnarchiveModulesRequest,
231    ) -> Result<
232        super::super::super::objects::module::BatchUnarchiveModulesResponse,
233        conjure_http::private::Error,
234    >;
235}
236/// Modules define collections of compute logic that can be shared and used across different contexts.
237/// The Modules Service provides the API for managing these collections of functions.
238#[conjure_http::conjure_endpoints(
239    name = "ModuleService",
240    use_legacy_error_serialization,
241    local
242)]
243pub trait LocalAsyncModuleService {
244    /// Create a new module.
245    #[endpoint(
246        method = POST,
247        path = "/scout/v2/module",
248        name = "createModule",
249        produces = conjure_http::server::StdResponseSerializer
250    )]
251    async fn create_module(
252        &self,
253        #[auth]
254        auth_: conjure_object::BearerToken,
255        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
256        request: super::super::super::objects::module::CreateModuleRequest,
257    ) -> Result<
258        super::super::super::objects::module::Module,
259        conjure_http::private::Error,
260    >;
261    /// Update an existing module.
262    #[endpoint(
263        method = PUT,
264        path = "/scout/v2/module/{moduleRid}",
265        name = "updateModule",
266        produces = conjure_http::server::StdResponseSerializer
267    )]
268    async fn update_module(
269        &self,
270        #[auth]
271        auth_: conjure_object::BearerToken,
272        #[path(
273            name = "moduleRid",
274            decoder = conjure_http::server::conjure::FromPlainDecoder,
275            log_as = "moduleRid",
276            safe
277        )]
278        module_rid: super::super::super::objects::modules::api::ModuleRid,
279        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
280        request: super::super::super::objects::module::UpdateModuleRequest,
281    ) -> Result<
282        super::super::super::objects::module::Module,
283        conjure_http::private::Error,
284    >;
285    /// Get a list of modules by their RIDs and version specifiers if provided.
286    #[endpoint(
287        method = POST,
288        path = "/scout/v2/module/batch-get",
289        name = "batchGetModules",
290        produces = conjure_http::server::conjure::CollectionResponseSerializer
291    )]
292    async fn batch_get_modules(
293        &self,
294        #[auth]
295        auth_: conjure_object::BearerToken,
296        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
297        request: super::super::super::objects::module::BatchGetModulesRequest,
298    ) -> Result<
299        Vec<super::super::super::objects::module::Module>,
300        conjure_http::private::Error,
301    >;
302    /// Search for modules.
303    #[endpoint(
304        method = POST,
305        path = "/scout/v2/module/search",
306        name = "searchModules",
307        produces = conjure_http::server::StdResponseSerializer
308    )]
309    async fn search_modules(
310        &self,
311        #[auth]
312        auth_: conjure_object::BearerToken,
313        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
314        request: super::super::super::objects::module::SearchModulesRequest,
315    ) -> Result<
316        super::super::super::objects::module::SearchModulesResponse,
317        conjure_http::private::Error,
318    >;
319    /// Archive a set of modules.
320    #[endpoint(
321        method = POST,
322        path = "/scout/v2/module/archive",
323        name = "batchArchiveModules",
324        produces = conjure_http::server::StdResponseSerializer
325    )]
326    async fn batch_archive_modules(
327        &self,
328        #[auth]
329        auth_: conjure_object::BearerToken,
330        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
331        request: super::super::super::objects::module::BatchArchiveModulesRequest,
332    ) -> Result<
333        super::super::super::objects::module::BatchArchiveModulesResponse,
334        conjure_http::private::Error,
335    >;
336    /// Unarchive a set of modules.
337    #[endpoint(
338        method = POST,
339        path = "/scout/v2/module/unarchive",
340        name = "batchUnarchiveModules",
341        produces = conjure_http::server::StdResponseSerializer
342    )]
343    async fn batch_unarchive_modules(
344        &self,
345        #[auth]
346        auth_: conjure_object::BearerToken,
347        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
348        request: super::super::super::objects::module::BatchUnarchiveModulesRequest,
349    ) -> Result<
350        super::super::super::objects::module::BatchUnarchiveModulesResponse,
351        conjure_http::private::Error,
352    >;
353}