Skip to main content

nominal_api/conjure/endpoints/scout/spatial/
spatial_service.rs

1use conjure_http::endpoint;
2/// The spatial asset service manages spatial assets (point clouds, etc.) and their metadata.
3/// Spatial asset data is stored in Dagger; Scout tracks metadata and references.
4#[conjure_http::conjure_endpoints(
5    name = "SpatialService",
6    use_legacy_error_serialization
7)]
8pub trait SpatialService {
9    /// Returns spatial asset metadata associated with a spatial asset rid.
10    #[endpoint(
11        method = GET,
12        path = "/spatial/v1/spatials/{spatialRid}",
13        name = "get",
14        produces = conjure_http::server::StdResponseSerializer
15    )]
16    fn get(
17        &self,
18        #[auth]
19        auth_: conjure_object::BearerToken,
20        #[path(
21            name = "spatialRid",
22            decoder = conjure_http::server::conjure::FromPlainDecoder,
23            log_as = "spatialRid",
24            safe
25        )]
26        spatial_rid: super::super::super::super::objects::api::rids::SpatialRid,
27    ) -> Result<
28        super::super::super::super::objects::scout::spatial::api::Spatial,
29        conjure_http::private::Error,
30    >;
31    /// Returns spatial asset metadata for each given spatial asset rid.
32    #[endpoint(
33        method = POST,
34        path = "/spatial/v1/spatials/batchGet",
35        name = "batchGet",
36        produces = conjure_http::server::StdResponseSerializer
37    )]
38    fn batch_get(
39        &self,
40        #[auth]
41        auth_: conjure_object::BearerToken,
42        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
43        request: super::super::super::super::objects::scout::spatial::api::GetSpatialsRequest,
44    ) -> Result<
45        super::super::super::super::objects::scout::spatial::api::GetSpatialsResponse,
46        conjure_http::private::Error,
47    >;
48    /// Returns metadata about spatial assets that match a given query.
49    #[endpoint(
50        method = POST,
51        path = "/spatial/v1/spatials/search",
52        name = "search",
53        produces = conjure_http::server::StdResponseSerializer
54    )]
55    fn search(
56        &self,
57        #[auth]
58        auth_: conjure_object::BearerToken,
59        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
60        request: super::super::super::super::objects::scout::spatial::api::SearchSpatialsRequest,
61    ) -> Result<
62        super::super::super::super::objects::scout::spatial::api::SearchSpatialsResponse,
63        conjure_http::private::Error,
64    >;
65    /// Creates and persists a spatial asset entity with the given metadata.
66    #[endpoint(
67        method = POST,
68        path = "/spatial/v1/spatials",
69        name = "create",
70        produces = conjure_http::server::StdResponseSerializer
71    )]
72    fn create(
73        &self,
74        #[auth]
75        auth_: conjure_object::BearerToken,
76        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
77        request: super::super::super::super::objects::scout::spatial::api::CreateSpatialRequest,
78    ) -> Result<
79        super::super::super::super::objects::scout::spatial::api::Spatial,
80        conjure_http::private::Error,
81    >;
82    /// Updates the metadata for a spatial asset associated with the given rid.
83    #[endpoint(
84        method = PUT,
85        path = "/spatial/v1/spatials/{spatialRid}",
86        name = "updateMetadata",
87        produces = conjure_http::server::StdResponseSerializer
88    )]
89    fn update_metadata(
90        &self,
91        #[auth]
92        auth_: conjure_object::BearerToken,
93        #[path(
94            name = "spatialRid",
95            decoder = conjure_http::server::conjure::FromPlainDecoder,
96            log_as = "spatialRid",
97            safe
98        )]
99        spatial_rid: super::super::super::super::objects::api::rids::SpatialRid,
100        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
101        request: super::super::super::super::objects::scout::spatial::api::UpdateSpatialMetadataRequest,
102    ) -> Result<
103        super::super::super::super::objects::scout::spatial::api::Spatial,
104        conjure_http::private::Error,
105    >;
106    /// Archives a spatial asset, excluding it from search. Can be unarchived.
107    #[endpoint(
108        method = PUT,
109        path = "/spatial/v1/spatials/{spatialRid}/archive",
110        name = "archive"
111    )]
112    fn archive(
113        &self,
114        #[auth]
115        auth_: conjure_object::BearerToken,
116        #[path(
117            name = "spatialRid",
118            decoder = conjure_http::server::conjure::FromPlainDecoder,
119            log_as = "spatialRid",
120            safe
121        )]
122        spatial_rid: super::super::super::super::objects::api::rids::SpatialRid,
123    ) -> Result<(), conjure_http::private::Error>;
124    /// Unarchives a previously archived spatial asset.
125    #[endpoint(
126        method = PUT,
127        path = "/spatial/v1/spatials/{spatialRid}/unarchive",
128        name = "unarchive"
129    )]
130    fn unarchive(
131        &self,
132        #[auth]
133        auth_: conjure_object::BearerToken,
134        #[path(
135            name = "spatialRid",
136            decoder = conjure_http::server::conjure::FromPlainDecoder,
137            log_as = "spatialRid",
138            safe
139        )]
140        spatial_rid: super::super::super::super::objects::api::rids::SpatialRid,
141    ) -> Result<(), conjure_http::private::Error>;
142}
143/// The spatial asset service manages spatial assets (point clouds, etc.) and their metadata.
144/// Spatial asset data is stored in Dagger; Scout tracks metadata and references.
145#[conjure_http::conjure_endpoints(
146    name = "SpatialService",
147    use_legacy_error_serialization
148)]
149pub trait AsyncSpatialService {
150    /// Returns spatial asset metadata associated with a spatial asset rid.
151    #[endpoint(
152        method = GET,
153        path = "/spatial/v1/spatials/{spatialRid}",
154        name = "get",
155        produces = conjure_http::server::StdResponseSerializer
156    )]
157    async fn get(
158        &self,
159        #[auth]
160        auth_: conjure_object::BearerToken,
161        #[path(
162            name = "spatialRid",
163            decoder = conjure_http::server::conjure::FromPlainDecoder,
164            log_as = "spatialRid",
165            safe
166        )]
167        spatial_rid: super::super::super::super::objects::api::rids::SpatialRid,
168    ) -> Result<
169        super::super::super::super::objects::scout::spatial::api::Spatial,
170        conjure_http::private::Error,
171    >;
172    /// Returns spatial asset metadata for each given spatial asset rid.
173    #[endpoint(
174        method = POST,
175        path = "/spatial/v1/spatials/batchGet",
176        name = "batchGet",
177        produces = conjure_http::server::StdResponseSerializer
178    )]
179    async fn batch_get(
180        &self,
181        #[auth]
182        auth_: conjure_object::BearerToken,
183        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
184        request: super::super::super::super::objects::scout::spatial::api::GetSpatialsRequest,
185    ) -> Result<
186        super::super::super::super::objects::scout::spatial::api::GetSpatialsResponse,
187        conjure_http::private::Error,
188    >;
189    /// Returns metadata about spatial assets that match a given query.
190    #[endpoint(
191        method = POST,
192        path = "/spatial/v1/spatials/search",
193        name = "search",
194        produces = conjure_http::server::StdResponseSerializer
195    )]
196    async fn search(
197        &self,
198        #[auth]
199        auth_: conjure_object::BearerToken,
200        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
201        request: super::super::super::super::objects::scout::spatial::api::SearchSpatialsRequest,
202    ) -> Result<
203        super::super::super::super::objects::scout::spatial::api::SearchSpatialsResponse,
204        conjure_http::private::Error,
205    >;
206    /// Creates and persists a spatial asset entity with the given metadata.
207    #[endpoint(
208        method = POST,
209        path = "/spatial/v1/spatials",
210        name = "create",
211        produces = conjure_http::server::StdResponseSerializer
212    )]
213    async fn create(
214        &self,
215        #[auth]
216        auth_: conjure_object::BearerToken,
217        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
218        request: super::super::super::super::objects::scout::spatial::api::CreateSpatialRequest,
219    ) -> Result<
220        super::super::super::super::objects::scout::spatial::api::Spatial,
221        conjure_http::private::Error,
222    >;
223    /// Updates the metadata for a spatial asset associated with the given rid.
224    #[endpoint(
225        method = PUT,
226        path = "/spatial/v1/spatials/{spatialRid}",
227        name = "updateMetadata",
228        produces = conjure_http::server::StdResponseSerializer
229    )]
230    async fn update_metadata(
231        &self,
232        #[auth]
233        auth_: conjure_object::BearerToken,
234        #[path(
235            name = "spatialRid",
236            decoder = conjure_http::server::conjure::FromPlainDecoder,
237            log_as = "spatialRid",
238            safe
239        )]
240        spatial_rid: super::super::super::super::objects::api::rids::SpatialRid,
241        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
242        request: super::super::super::super::objects::scout::spatial::api::UpdateSpatialMetadataRequest,
243    ) -> Result<
244        super::super::super::super::objects::scout::spatial::api::Spatial,
245        conjure_http::private::Error,
246    >;
247    /// Archives a spatial asset, excluding it from search. Can be unarchived.
248    #[endpoint(
249        method = PUT,
250        path = "/spatial/v1/spatials/{spatialRid}/archive",
251        name = "archive"
252    )]
253    async fn archive(
254        &self,
255        #[auth]
256        auth_: conjure_object::BearerToken,
257        #[path(
258            name = "spatialRid",
259            decoder = conjure_http::server::conjure::FromPlainDecoder,
260            log_as = "spatialRid",
261            safe
262        )]
263        spatial_rid: super::super::super::super::objects::api::rids::SpatialRid,
264    ) -> Result<(), conjure_http::private::Error>;
265    /// Unarchives a previously archived spatial asset.
266    #[endpoint(
267        method = PUT,
268        path = "/spatial/v1/spatials/{spatialRid}/unarchive",
269        name = "unarchive"
270    )]
271    async fn unarchive(
272        &self,
273        #[auth]
274        auth_: conjure_object::BearerToken,
275        #[path(
276            name = "spatialRid",
277            decoder = conjure_http::server::conjure::FromPlainDecoder,
278            log_as = "spatialRid",
279            safe
280        )]
281        spatial_rid: super::super::super::super::objects::api::rids::SpatialRid,
282    ) -> Result<(), conjure_http::private::Error>;
283}
284/// The spatial asset service manages spatial assets (point clouds, etc.) and their metadata.
285/// Spatial asset data is stored in Dagger; Scout tracks metadata and references.
286#[conjure_http::conjure_endpoints(
287    name = "SpatialService",
288    use_legacy_error_serialization,
289    local
290)]
291pub trait LocalAsyncSpatialService {
292    /// Returns spatial asset metadata associated with a spatial asset rid.
293    #[endpoint(
294        method = GET,
295        path = "/spatial/v1/spatials/{spatialRid}",
296        name = "get",
297        produces = conjure_http::server::StdResponseSerializer
298    )]
299    async fn get(
300        &self,
301        #[auth]
302        auth_: conjure_object::BearerToken,
303        #[path(
304            name = "spatialRid",
305            decoder = conjure_http::server::conjure::FromPlainDecoder,
306            log_as = "spatialRid",
307            safe
308        )]
309        spatial_rid: super::super::super::super::objects::api::rids::SpatialRid,
310    ) -> Result<
311        super::super::super::super::objects::scout::spatial::api::Spatial,
312        conjure_http::private::Error,
313    >;
314    /// Returns spatial asset metadata for each given spatial asset rid.
315    #[endpoint(
316        method = POST,
317        path = "/spatial/v1/spatials/batchGet",
318        name = "batchGet",
319        produces = conjure_http::server::StdResponseSerializer
320    )]
321    async fn batch_get(
322        &self,
323        #[auth]
324        auth_: conjure_object::BearerToken,
325        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
326        request: super::super::super::super::objects::scout::spatial::api::GetSpatialsRequest,
327    ) -> Result<
328        super::super::super::super::objects::scout::spatial::api::GetSpatialsResponse,
329        conjure_http::private::Error,
330    >;
331    /// Returns metadata about spatial assets that match a given query.
332    #[endpoint(
333        method = POST,
334        path = "/spatial/v1/spatials/search",
335        name = "search",
336        produces = conjure_http::server::StdResponseSerializer
337    )]
338    async fn search(
339        &self,
340        #[auth]
341        auth_: conjure_object::BearerToken,
342        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
343        request: super::super::super::super::objects::scout::spatial::api::SearchSpatialsRequest,
344    ) -> Result<
345        super::super::super::super::objects::scout::spatial::api::SearchSpatialsResponse,
346        conjure_http::private::Error,
347    >;
348    /// Creates and persists a spatial asset entity with the given metadata.
349    #[endpoint(
350        method = POST,
351        path = "/spatial/v1/spatials",
352        name = "create",
353        produces = conjure_http::server::StdResponseSerializer
354    )]
355    async fn create(
356        &self,
357        #[auth]
358        auth_: conjure_object::BearerToken,
359        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
360        request: super::super::super::super::objects::scout::spatial::api::CreateSpatialRequest,
361    ) -> Result<
362        super::super::super::super::objects::scout::spatial::api::Spatial,
363        conjure_http::private::Error,
364    >;
365    /// Updates the metadata for a spatial asset associated with the given rid.
366    #[endpoint(
367        method = PUT,
368        path = "/spatial/v1/spatials/{spatialRid}",
369        name = "updateMetadata",
370        produces = conjure_http::server::StdResponseSerializer
371    )]
372    async fn update_metadata(
373        &self,
374        #[auth]
375        auth_: conjure_object::BearerToken,
376        #[path(
377            name = "spatialRid",
378            decoder = conjure_http::server::conjure::FromPlainDecoder,
379            log_as = "spatialRid",
380            safe
381        )]
382        spatial_rid: super::super::super::super::objects::api::rids::SpatialRid,
383        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
384        request: super::super::super::super::objects::scout::spatial::api::UpdateSpatialMetadataRequest,
385    ) -> Result<
386        super::super::super::super::objects::scout::spatial::api::Spatial,
387        conjure_http::private::Error,
388    >;
389    /// Archives a spatial asset, excluding it from search. Can be unarchived.
390    #[endpoint(
391        method = PUT,
392        path = "/spatial/v1/spatials/{spatialRid}/archive",
393        name = "archive"
394    )]
395    async fn archive(
396        &self,
397        #[auth]
398        auth_: conjure_object::BearerToken,
399        #[path(
400            name = "spatialRid",
401            decoder = conjure_http::server::conjure::FromPlainDecoder,
402            log_as = "spatialRid",
403            safe
404        )]
405        spatial_rid: super::super::super::super::objects::api::rids::SpatialRid,
406    ) -> Result<(), conjure_http::private::Error>;
407    /// Unarchives a previously archived spatial asset.
408    #[endpoint(
409        method = PUT,
410        path = "/spatial/v1/spatials/{spatialRid}/unarchive",
411        name = "unarchive"
412    )]
413    async fn unarchive(
414        &self,
415        #[auth]
416        auth_: conjure_object::BearerToken,
417        #[path(
418            name = "spatialRid",
419            decoder = conjure_http::server::conjure::FromPlainDecoder,
420            log_as = "spatialRid",
421            safe
422        )]
423        spatial_rid: super::super::super::super::objects::api::rids::SpatialRid,
424    ) -> Result<(), conjure_http::private::Error>;
425}