Skip to main content

nominal_api/conjure/endpoints/scout/catalog/
catalog_service.rs

1use conjure_http::endpoint;
2/// The Catalog Service provides the ability to query for information about Datasets that are stored in
3/// the Nominal platform. A Dataset is the Nominal representation of data that has been uploaded to Nominal via
4/// a file, primarily CSV.
5#[conjure_http::conjure_endpoints(
6    name = "CatalogService",
7    use_legacy_error_serialization
8)]
9pub trait CatalogService {
10    #[endpoint(
11        method = GET,
12        path = "/catalog/v1/datasets/{datasetUuid}",
13        name = "getEnrichedDataset",
14        produces = conjure_http::server::StdResponseSerializer
15    )]
16    fn get_enriched_dataset(
17        &self,
18        #[auth]
19        auth_: conjure_object::BearerToken,
20        #[path(
21            name = "datasetUuid",
22            decoder = conjure_http::server::conjure::FromPlainDecoder,
23            log_as = "datasetUuid"
24        )]
25        dataset_uuid: conjure_object::Uuid,
26    ) -> Result<
27        super::super::super::super::objects::scout::catalog::EnrichedDataset,
28        conjure_http::private::Error,
29    >;
30    #[endpoint(
31        method = POST,
32        path = "/catalog/v1/datasets/multiple",
33        name = "getEnrichedDatasets",
34        produces = conjure_http::server::conjure::CollectionResponseSerializer
35    )]
36    fn get_enriched_datasets(
37        &self,
38        #[auth]
39        auth_: conjure_object::BearerToken,
40        #[body(
41            deserializer = conjure_http::server::StdRequestDeserializer,
42            log_as = "getDatasetsRequest"
43        )]
44        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
45    ) -> Result<
46        std::collections::BTreeSet<
47            super::super::super::super::objects::scout::catalog::EnrichedDataset,
48        >,
49        conjure_http::private::Error,
50    >;
51    #[endpoint(
52        method = GET,
53        path = "/catalog/v1/datasets-simple/{datasetUuid}",
54        name = "getDataset",
55        produces = conjure_http::server::StdResponseSerializer
56    )]
57    fn get_dataset(
58        &self,
59        #[auth]
60        auth_: conjure_object::BearerToken,
61        #[path(
62            name = "datasetUuid",
63            decoder = conjure_http::server::conjure::FromPlainDecoder,
64            log_as = "datasetUuid"
65        )]
66        dataset_uuid: conjure_object::Uuid,
67    ) -> Result<
68        super::super::super::super::objects::scout::catalog::Dataset,
69        conjure_http::private::Error,
70    >;
71    #[endpoint(
72        method = POST,
73        path = "/catalog/v1/datasets-simple/multiple",
74        name = "getDatasets",
75        produces = conjure_http::server::conjure::CollectionResponseSerializer
76    )]
77    fn get_datasets(
78        &self,
79        #[auth]
80        auth_: conjure_object::BearerToken,
81        #[body(
82            deserializer = conjure_http::server::StdRequestDeserializer,
83            log_as = "getDatasetsRequest"
84        )]
85        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
86    ) -> Result<
87        std::collections::BTreeSet<
88            super::super::super::super::objects::scout::catalog::Dataset,
89        >,
90        conjure_http::private::Error,
91    >;
92    /// Gets the subset of dataset RIDs that currently have external connection config attached.
93    #[endpoint(
94        method = POST,
95        path = "/catalog/v1/datasets-simple/external-config",
96        name = "getDatasetsWithExternalConnectionConfig",
97        produces = conjure_http::server::conjure::CollectionResponseSerializer
98    )]
99    fn get_datasets_with_external_connection_config(
100        &self,
101        #[auth]
102        auth_: conjure_object::BearerToken,
103        #[body(
104            deserializer = conjure_http::server::StdRequestDeserializer,
105            log_as = "getDatasetsRequest"
106        )]
107        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
108    ) -> Result<
109        std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
110        conjure_http::private::Error,
111    >;
112    /// Registers or updates external connection configuration for an existing dataset.
113    #[endpoint(
114        method = POST,
115        path = "/catalog/v1/datasets/external-config",
116        name = "registerExternalConnectionConfig",
117        produces = conjure_http::server::StdResponseSerializer
118    )]
119    fn register_external_connection_config(
120        &self,
121        #[auth]
122        auth_: conjure_object::BearerToken,
123        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
124        request: super::super::super::super::objects::scout::catalog::RegisterExternalConnectionConfigRequest,
125    ) -> Result<
126        super::super::super::super::objects::scout::catalog::EnrichedDataset,
127        conjure_http::private::Error,
128    >;
129    #[endpoint(
130        method = GET,
131        path = "/catalog/v1/dataset/{datasetRid}/file/{fileId}",
132        name = "getDatasetFile",
133        produces = conjure_http::server::StdResponseSerializer
134    )]
135    fn get_dataset_file(
136        &self,
137        #[auth]
138        auth_: conjure_object::BearerToken,
139        #[path(
140            name = "datasetRid",
141            decoder = conjure_http::server::conjure::FromPlainDecoder,
142            log_as = "datasetRid"
143        )]
144        dataset_rid: conjure_object::ResourceIdentifier,
145        #[path(
146            name = "fileId",
147            decoder = conjure_http::server::conjure::FromPlainDecoder,
148            log_as = "fileId",
149            safe
150        )]
151        file_id: super::super::super::super::objects::datasource::DatasetFileId,
152    ) -> Result<
153        super::super::super::super::objects::scout::catalog::DatasetFile,
154        conjure_http::private::Error,
155    >;
156    /// Returns dataset files for the given file IDs within a single dataset. Only returns files that
157    /// exist and belong to the specified dataset. Useful for checking ingestion status of many files at once.
158    #[endpoint(
159        method = POST,
160        path = "/catalog/v1/dataset-files/batchGet",
161        name = "batchGetDatasetFiles",
162        produces = conjure_http::server::conjure::CollectionResponseSerializer
163    )]
164    fn batch_get_dataset_files(
165        &self,
166        #[auth]
167        auth_: conjure_object::BearerToken,
168        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
169        request: super::super::super::super::objects::scout::catalog::BatchGetDatasetFilesRequest,
170    ) -> Result<
171        std::collections::BTreeMap<
172            super::super::super::super::objects::datasource::DatasetFileId,
173            super::super::super::super::objects::scout::catalog::DatasetFile,
174        >,
175        conjure_http::private::Error,
176    >;
177    #[endpoint(
178        method = GET,
179        path = "/catalog/v1/ingest-job/{ingestJobRid}/files",
180        name = "getDatasetFilesForJob",
181        produces = conjure_http::server::StdResponseSerializer
182    )]
183    fn get_dataset_files_for_job(
184        &self,
185        #[auth]
186        auth_: conjure_object::BearerToken,
187        #[path(
188            name = "ingestJobRid",
189            decoder = conjure_http::server::conjure::FromPlainDecoder,
190            log_as = "ingestJobRid"
191        )]
192        ingest_job_rid: conjure_object::ResourceIdentifier,
193        #[query(
194            name = "nextPageToken",
195            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
196            log_as = "nextPageToken"
197        )]
198        next_page_token: Option<super::super::super::super::objects::api::Token>,
199    ) -> Result<
200        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
201        conjure_http::private::Error,
202    >;
203    #[endpoint(
204        method = POST,
205        path = "/catalog/v1/search-datasets-v2",
206        name = "searchDatasets",
207        produces = conjure_http::server::StdResponseSerializer
208    )]
209    fn search_datasets(
210        &self,
211        #[auth]
212        auth_: conjure_object::BearerToken,
213        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
214        request: super::super::super::super::objects::scout::catalog::SearchDatasetsRequest,
215    ) -> Result<
216        super::super::super::super::objects::scout::catalog::SearchDatasetsResponse,
217        conjure_http::private::Error,
218    >;
219    #[endpoint(
220        method = PUT,
221        path = "/catalog/v1/datasets/ingest-status-v2",
222        name = "updateDatasetIngestStatusV2",
223        produces = conjure_http::server::StdResponseSerializer
224    )]
225    fn update_dataset_ingest_status_v2(
226        &self,
227        #[auth]
228        auth_: conjure_object::BearerToken,
229        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
230        details: super::super::super::super::objects::scout::catalog::UpdateIngestStatusV2,
231    ) -> Result<
232        super::super::super::super::objects::api::IngestStatusV2,
233        conjure_http::private::Error,
234    >;
235    #[endpoint(
236        method = GET,
237        path = "/catalog/v1/datasets/{datasetRid}/ingest-progress-v2",
238        name = "getIngestProgressV2",
239        produces = conjure_http::server::StdResponseSerializer
240    )]
241    fn get_ingest_progress_v2(
242        &self,
243        #[auth]
244        auth_: conjure_object::BearerToken,
245        #[path(
246            name = "datasetRid",
247            decoder = conjure_http::server::conjure::FromPlainDecoder,
248            log_as = "datasetRid"
249        )]
250        dataset_rid: conjure_object::ResourceIdentifier,
251    ) -> Result<
252        super::super::super::super::objects::scout::catalog::IngestProgressV2,
253        conjure_http::private::Error,
254    >;
255    #[endpoint(
256        method = GET,
257        path = "/catalog/v1/datasets/{dataset}/handle",
258        name = "getHandleForDataset",
259        produces = conjure_http::server::conjure::CollectionResponseSerializer
260    )]
261    fn get_handle_for_dataset(
262        &self,
263        #[auth]
264        auth_: conjure_object::BearerToken,
265        #[path(
266            name = "dataset",
267            decoder = conjure_http::server::conjure::FromPlainDecoder
268        )]
269        dataset: conjure_object::Uuid,
270    ) -> Result<
271        Option<super::super::super::super::objects::scout::catalog::Handle>,
272        conjure_http::private::Error,
273    >;
274    #[endpoint(
275        method = POST,
276        path = "/catalog/v1/datasets",
277        name = "createDataset",
278        produces = conjure_http::server::StdResponseSerializer
279    )]
280    fn create_dataset(
281        &self,
282        #[auth]
283        auth_: conjure_object::BearerToken,
284        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
285        details: super::super::super::super::objects::scout::catalog::CreateDataset,
286    ) -> Result<
287        super::super::super::super::objects::scout::catalog::EnrichedDataset,
288        conjure_http::private::Error,
289    >;
290    /// Creates a dataset if the s3 path does not exist, otherwise updates the dataset
291    #[endpoint(
292        method = POST,
293        path = "/catalog/v1/datasets/create-or-update",
294        name = "createOrUpdateDataset",
295        produces = conjure_http::server::StdResponseSerializer
296    )]
297    fn create_or_update_dataset(
298        &self,
299        #[auth]
300        auth_: conjure_object::BearerToken,
301        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
302        details: super::super::super::super::objects::scout::catalog::CreateDataset,
303    ) -> Result<
304        super::super::super::super::objects::scout::catalog::EnrichedDataset,
305        conjure_http::private::Error,
306    >;
307    /// Creates a dataset with a specific UUID. This is useful for migrations and advanced use cases
308    /// where the dataset UUID must be controlled by the caller. Throws a conflict error if a dataset
309    /// with the specified UUID already exists. This endpoint is not intended for general use. Use /datasets instead to create a new dataset.
310    #[endpoint(
311        method = POST,
312        path = "/catalog/v1/datasets/with-uuid",
313        name = "createDatasetWithUuid",
314        produces = conjure_http::server::StdResponseSerializer
315    )]
316    fn create_dataset_with_uuid(
317        &self,
318        #[auth]
319        auth_: conjure_object::BearerToken,
320        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
321        request: super::super::super::super::objects::scout::catalog::CreateDatasetWithUuidRequest,
322    ) -> Result<
323        super::super::super::super::objects::scout::catalog::EnrichedDataset,
324        conjure_http::private::Error,
325    >;
326    /// Adds a single file to an existing dataset.
327    #[endpoint(
328        method = POST,
329        path = "/catalog/v1/datasets/{datasetRid}/add-file",
330        name = "addFileToDataset",
331        produces = conjure_http::server::StdResponseSerializer
332    )]
333    fn add_file_to_dataset(
334        &self,
335        #[auth]
336        auth_: conjure_object::BearerToken,
337        #[path(
338            name = "datasetRid",
339            decoder = conjure_http::server::conjure::FromPlainDecoder,
340            log_as = "datasetRid"
341        )]
342        dataset_rid: conjure_object::ResourceIdentifier,
343        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
344        request: super::super::super::super::objects::scout::catalog::AddFileToDataset,
345    ) -> Result<
346        super::super::super::super::objects::scout::catalog::DatasetFile,
347        conjure_http::private::Error,
348    >;
349    #[endpoint(
350        method = GET,
351        path = "/catalog/v1/datasets/{datasetRid}/files",
352        name = "listDatasetFiles",
353        produces = conjure_http::server::StdResponseSerializer
354    )]
355    fn list_dataset_files(
356        &self,
357        #[auth]
358        auth_: conjure_object::BearerToken,
359        #[path(
360            name = "datasetRid",
361            decoder = conjure_http::server::conjure::FromPlainDecoder,
362            log_as = "datasetRid"
363        )]
364        dataset_rid: conjure_object::ResourceIdentifier,
365        #[query(
366            name = "nextPageToken",
367            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
368            log_as = "nextPageToken"
369        )]
370        next_page_token: Option<super::super::super::super::objects::api::Token>,
371    ) -> Result<
372        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
373        conjure_http::private::Error,
374    >;
375    #[endpoint(
376        method = POST,
377        path = "/catalog/v1/search-dataset-files",
378        name = "searchDatasetFiles",
379        produces = conjure_http::server::StdResponseSerializer
380    )]
381    fn search_dataset_files(
382        &self,
383        #[auth]
384        auth_: conjure_object::BearerToken,
385        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
386        request: super::super::super::super::objects::scout::catalog::SearchDatasetFilesRequest,
387    ) -> Result<
388        super::super::super::super::objects::scout::catalog::SearchDatasetFilesResponse,
389        conjure_http::private::Error,
390    >;
391    #[endpoint(
392        method = GET,
393        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/uri",
394        name = "getDatasetFileUri",
395        produces = conjure_http::server::StdResponseSerializer
396    )]
397    fn get_dataset_file_uri(
398        &self,
399        #[auth]
400        auth_: conjure_object::BearerToken,
401        #[path(
402            name = "datasetRid",
403            decoder = conjure_http::server::conjure::FromPlainDecoder,
404            log_as = "datasetRid"
405        )]
406        dataset_rid: conjure_object::ResourceIdentifier,
407        #[path(
408            name = "fileId",
409            decoder = conjure_http::server::conjure::FromPlainDecoder,
410            log_as = "fileId",
411            safe
412        )]
413        file_id: super::super::super::super::objects::datasource::DatasetFileId,
414    ) -> Result<
415        super::super::super::super::objects::scout::catalog::DatasetFileUri,
416        conjure_http::private::Error,
417    >;
418    #[endpoint(
419        method = GET,
420        path = "/catalog/v1/videos/{videoFileRid}/uri",
421        name = "getVideoFileUri",
422        produces = conjure_http::server::StdResponseSerializer
423    )]
424    fn get_video_file_uri(
425        &self,
426        #[auth]
427        auth_: conjure_object::BearerToken,
428        #[path(
429            name = "videoFileRid",
430            decoder = conjure_http::server::conjure::FromPlainDecoder,
431            log_as = "videoFileRid"
432        )]
433        video_file_rid: conjure_object::ResourceIdentifier,
434    ) -> Result<
435        super::super::super::super::objects::scout::catalog::VideoFileUri,
436        conjure_http::private::Error,
437    >;
438    #[endpoint(
439        method = GET,
440        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/origin-uris",
441        name = "getOriginFileUris",
442        produces = conjure_http::server::conjure::CollectionResponseSerializer
443    )]
444    fn get_origin_file_uris(
445        &self,
446        #[auth]
447        auth_: conjure_object::BearerToken,
448        #[path(
449            name = "datasetRid",
450            decoder = conjure_http::server::conjure::FromPlainDecoder,
451            log_as = "datasetRid"
452        )]
453        dataset_rid: conjure_object::ResourceIdentifier,
454        #[path(
455            name = "fileId",
456            decoder = conjure_http::server::conjure::FromPlainDecoder,
457            log_as = "fileId",
458            safe
459        )]
460        file_id: super::super::super::super::objects::datasource::DatasetFileId,
461    ) -> Result<
462        Vec<super::super::super::super::objects::scout::catalog::OriginFileUri>,
463        conjure_http::private::Error,
464    >;
465    #[endpoint(
466        method = PUT,
467        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/success",
468        name = "markFileIngestSuccessful",
469        produces = conjure_http::server::StdResponseSerializer
470    )]
471    fn mark_file_ingest_successful(
472        &self,
473        #[auth]
474        auth_: conjure_object::BearerToken,
475        #[path(
476            name = "datasetRid",
477            decoder = conjure_http::server::conjure::FromPlainDecoder,
478            log_as = "datasetRid"
479        )]
480        dataset_rid: conjure_object::ResourceIdentifier,
481        #[path(
482            name = "fileId",
483            decoder = conjure_http::server::conjure::FromPlainDecoder,
484            log_as = "fileId",
485            safe
486        )]
487        file_id: super::super::super::super::objects::datasource::DatasetFileId,
488        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
489        request: super::super::super::super::objects::scout::catalog::MarkFileIngestSuccessful,
490    ) -> Result<
491        super::super::super::super::objects::scout::catalog::DatasetFile,
492        conjure_http::private::Error,
493    >;
494    #[endpoint(
495        method = PUT,
496        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/error",
497        name = "markFileIngestError",
498        produces = conjure_http::server::StdResponseSerializer
499    )]
500    fn mark_file_ingest_error(
501        &self,
502        #[auth]
503        auth_: conjure_object::BearerToken,
504        #[path(
505            name = "datasetRid",
506            decoder = conjure_http::server::conjure::FromPlainDecoder,
507            log_as = "datasetRid"
508        )]
509        dataset_rid: conjure_object::ResourceIdentifier,
510        #[path(
511            name = "fileId",
512            decoder = conjure_http::server::conjure::FromPlainDecoder,
513            log_as = "fileId",
514            safe
515        )]
516        file_id: super::super::super::super::objects::datasource::DatasetFileId,
517        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
518        request: super::super::super::super::objects::scout::catalog::MarkFileIngestError,
519    ) -> Result<
520        super::super::super::super::objects::scout::catalog::DatasetFile,
521        conjure_http::private::Error,
522    >;
523    /// Updates file-type-specific metadata for a dataset file. Currently used to update video segment metadata
524    /// after video segmentation is complete.
525    #[endpoint(
526        method = PUT,
527        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/metadata",
528        name = "updateDatasetFileMetadata",
529        produces = conjure_http::server::StdResponseSerializer
530    )]
531    fn update_dataset_file_metadata(
532        &self,
533        #[auth]
534        auth_: conjure_object::BearerToken,
535        #[path(
536            name = "datasetRid",
537            decoder = conjure_http::server::conjure::FromPlainDecoder,
538            log_as = "datasetRid"
539        )]
540        dataset_rid: conjure_object::ResourceIdentifier,
541        #[path(
542            name = "fileId",
543            decoder = conjure_http::server::conjure::FromPlainDecoder,
544            log_as = "fileId",
545            safe
546        )]
547        file_id: super::super::super::super::objects::datasource::DatasetFileId,
548        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
549        metadata: super::super::super::super::objects::scout::catalog::DatasetFileMetadata,
550    ) -> Result<
551        super::super::super::super::objects::scout::catalog::DatasetFile,
552        conjure_http::private::Error,
553    >;
554    #[endpoint(
555        method = PUT,
556        path = "/catalog/v1/datasets/{datasetRid}",
557        name = "updateDatasetMetadata",
558        produces = conjure_http::server::StdResponseSerializer
559    )]
560    fn update_dataset_metadata(
561        &self,
562        #[auth]
563        auth_: conjure_object::BearerToken,
564        #[path(
565            name = "datasetRid",
566            decoder = conjure_http::server::conjure::FromPlainDecoder,
567            log_as = "datasetRid"
568        )]
569        dataset_rid: conjure_object::ResourceIdentifier,
570        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
571        request: super::super::super::super::objects::scout::catalog::UpdateDatasetMetadata,
572    ) -> Result<
573        super::super::super::super::objects::scout::catalog::EnrichedDataset,
574        conjure_http::private::Error,
575    >;
576    /// Update the bounds for a dataset without updating bounds of files within the dataset. If the
577    /// current bounds of the dataset are not set, then the bounds of the request will be used. Otherwise,
578    /// the bounds will be min(current start, request start), max(current end, request end).
579    #[endpoint(
580        method = PUT,
581        path = "/catalog/v1/datasets/{rid}/bounds-from-streaming",
582        name = "updateGlobalDatasetBounds",
583        produces = conjure_http::server::StdResponseSerializer
584    )]
585    fn update_global_dataset_bounds(
586        &self,
587        #[auth]
588        auth_: conjure_object::BearerToken,
589        #[path(name = "rid", decoder = conjure_http::server::conjure::FromPlainDecoder)]
590        rid: conjure_object::ResourceIdentifier,
591        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
592        request: super::super::super::super::objects::scout::catalog::UpdateBoundsRequest,
593    ) -> Result<
594        super::super::super::super::objects::scout::catalog::Dataset,
595        conjure_http::private::Error,
596    >;
597    /// Archives a dataset, which will hide it from search results unless the includeArchived flag is set to true. The
598    /// dataset can still be directly accessed by its UUID/rid.
599    #[endpoint(
600        method = POST,
601        path = "/catalog/v1/datasets/{datasetRid}/archive",
602        name = "archiveDataset"
603    )]
604    fn archive_dataset(
605        &self,
606        #[auth]
607        auth_: conjure_object::BearerToken,
608        #[path(
609            name = "datasetRid",
610            decoder = conjure_http::server::conjure::FromPlainDecoder,
611            log_as = "datasetRid"
612        )]
613        dataset_rid: conjure_object::ResourceIdentifier,
614    ) -> Result<(), conjure_http::private::Error>;
615    /// Undoes the archiving of a dataset.
616    #[endpoint(
617        method = POST,
618        path = "/catalog/v1/datasets/{datasetRid}/unarchive",
619        name = "unarchiveDataset"
620    )]
621    fn unarchive_dataset(
622        &self,
623        #[auth]
624        auth_: conjure_object::BearerToken,
625        #[path(
626            name = "datasetRid",
627            decoder = conjure_http::server::conjure::FromPlainDecoder,
628            log_as = "datasetRid"
629        )]
630        dataset_rid: conjure_object::ResourceIdentifier,
631    ) -> Result<(), conjure_http::private::Error>;
632    #[endpoint(
633        method = GET,
634        path = "/catalog/v1/datasets/all-properties-labels",
635        name = "getAllPropertiesAndLabels",
636        produces = conjure_http::server::StdResponseSerializer
637    )]
638    fn get_all_properties_and_labels(
639        &self,
640        #[auth]
641        auth_: conjure_object::BearerToken,
642        #[query(
643            name = "workspaces",
644            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
645        )]
646        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
647    ) -> Result<
648        super::super::super::super::objects::scout::catalog::AllPropertiesAndLabelsResponse,
649        conjure_http::private::Error,
650    >;
651    /// Returns the log dataset RID for the specified workspace if configured and accessible to the caller.
652    #[endpoint(
653        method = GET,
654        path = "/catalog/v1/workspaces/{workspaceRid}/log-dataset",
655        name = "getLogDatasetForWorkspace",
656        produces = conjure_http::server::conjure::CollectionResponseSerializer
657    )]
658    fn get_log_dataset_for_workspace(
659        &self,
660        #[auth]
661        auth_: conjure_object::BearerToken,
662        #[path(
663            name = "workspaceRid",
664            decoder = conjure_http::server::conjure::FromPlainDecoder,
665            log_as = "workspaceRid"
666        )]
667        workspace_rid: conjure_object::ResourceIdentifier,
668    ) -> Result<
669        Option<conjure_object::ResourceIdentifier>,
670        conjure_http::private::Error,
671    >;
672}
673/// The Catalog Service provides the ability to query for information about Datasets that are stored in
674/// the Nominal platform. A Dataset is the Nominal representation of data that has been uploaded to Nominal via
675/// a file, primarily CSV.
676#[conjure_http::conjure_endpoints(
677    name = "CatalogService",
678    use_legacy_error_serialization
679)]
680pub trait AsyncCatalogService {
681    #[endpoint(
682        method = GET,
683        path = "/catalog/v1/datasets/{datasetUuid}",
684        name = "getEnrichedDataset",
685        produces = conjure_http::server::StdResponseSerializer
686    )]
687    async fn get_enriched_dataset(
688        &self,
689        #[auth]
690        auth_: conjure_object::BearerToken,
691        #[path(
692            name = "datasetUuid",
693            decoder = conjure_http::server::conjure::FromPlainDecoder,
694            log_as = "datasetUuid"
695        )]
696        dataset_uuid: conjure_object::Uuid,
697    ) -> Result<
698        super::super::super::super::objects::scout::catalog::EnrichedDataset,
699        conjure_http::private::Error,
700    >;
701    #[endpoint(
702        method = POST,
703        path = "/catalog/v1/datasets/multiple",
704        name = "getEnrichedDatasets",
705        produces = conjure_http::server::conjure::CollectionResponseSerializer
706    )]
707    async fn get_enriched_datasets(
708        &self,
709        #[auth]
710        auth_: conjure_object::BearerToken,
711        #[body(
712            deserializer = conjure_http::server::StdRequestDeserializer,
713            log_as = "getDatasetsRequest"
714        )]
715        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
716    ) -> Result<
717        std::collections::BTreeSet<
718            super::super::super::super::objects::scout::catalog::EnrichedDataset,
719        >,
720        conjure_http::private::Error,
721    >;
722    #[endpoint(
723        method = GET,
724        path = "/catalog/v1/datasets-simple/{datasetUuid}",
725        name = "getDataset",
726        produces = conjure_http::server::StdResponseSerializer
727    )]
728    async fn get_dataset(
729        &self,
730        #[auth]
731        auth_: conjure_object::BearerToken,
732        #[path(
733            name = "datasetUuid",
734            decoder = conjure_http::server::conjure::FromPlainDecoder,
735            log_as = "datasetUuid"
736        )]
737        dataset_uuid: conjure_object::Uuid,
738    ) -> Result<
739        super::super::super::super::objects::scout::catalog::Dataset,
740        conjure_http::private::Error,
741    >;
742    #[endpoint(
743        method = POST,
744        path = "/catalog/v1/datasets-simple/multiple",
745        name = "getDatasets",
746        produces = conjure_http::server::conjure::CollectionResponseSerializer
747    )]
748    async fn get_datasets(
749        &self,
750        #[auth]
751        auth_: conjure_object::BearerToken,
752        #[body(
753            deserializer = conjure_http::server::StdRequestDeserializer,
754            log_as = "getDatasetsRequest"
755        )]
756        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
757    ) -> Result<
758        std::collections::BTreeSet<
759            super::super::super::super::objects::scout::catalog::Dataset,
760        >,
761        conjure_http::private::Error,
762    >;
763    /// Gets the subset of dataset RIDs that currently have external connection config attached.
764    #[endpoint(
765        method = POST,
766        path = "/catalog/v1/datasets-simple/external-config",
767        name = "getDatasetsWithExternalConnectionConfig",
768        produces = conjure_http::server::conjure::CollectionResponseSerializer
769    )]
770    async fn get_datasets_with_external_connection_config(
771        &self,
772        #[auth]
773        auth_: conjure_object::BearerToken,
774        #[body(
775            deserializer = conjure_http::server::StdRequestDeserializer,
776            log_as = "getDatasetsRequest"
777        )]
778        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
779    ) -> Result<
780        std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
781        conjure_http::private::Error,
782    >;
783    /// Registers or updates external connection configuration for an existing dataset.
784    #[endpoint(
785        method = POST,
786        path = "/catalog/v1/datasets/external-config",
787        name = "registerExternalConnectionConfig",
788        produces = conjure_http::server::StdResponseSerializer
789    )]
790    async fn register_external_connection_config(
791        &self,
792        #[auth]
793        auth_: conjure_object::BearerToken,
794        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
795        request: super::super::super::super::objects::scout::catalog::RegisterExternalConnectionConfigRequest,
796    ) -> Result<
797        super::super::super::super::objects::scout::catalog::EnrichedDataset,
798        conjure_http::private::Error,
799    >;
800    #[endpoint(
801        method = GET,
802        path = "/catalog/v1/dataset/{datasetRid}/file/{fileId}",
803        name = "getDatasetFile",
804        produces = conjure_http::server::StdResponseSerializer
805    )]
806    async fn get_dataset_file(
807        &self,
808        #[auth]
809        auth_: conjure_object::BearerToken,
810        #[path(
811            name = "datasetRid",
812            decoder = conjure_http::server::conjure::FromPlainDecoder,
813            log_as = "datasetRid"
814        )]
815        dataset_rid: conjure_object::ResourceIdentifier,
816        #[path(
817            name = "fileId",
818            decoder = conjure_http::server::conjure::FromPlainDecoder,
819            log_as = "fileId",
820            safe
821        )]
822        file_id: super::super::super::super::objects::datasource::DatasetFileId,
823    ) -> Result<
824        super::super::super::super::objects::scout::catalog::DatasetFile,
825        conjure_http::private::Error,
826    >;
827    /// Returns dataset files for the given file IDs within a single dataset. Only returns files that
828    /// exist and belong to the specified dataset. Useful for checking ingestion status of many files at once.
829    #[endpoint(
830        method = POST,
831        path = "/catalog/v1/dataset-files/batchGet",
832        name = "batchGetDatasetFiles",
833        produces = conjure_http::server::conjure::CollectionResponseSerializer
834    )]
835    async fn batch_get_dataset_files(
836        &self,
837        #[auth]
838        auth_: conjure_object::BearerToken,
839        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
840        request: super::super::super::super::objects::scout::catalog::BatchGetDatasetFilesRequest,
841    ) -> Result<
842        std::collections::BTreeMap<
843            super::super::super::super::objects::datasource::DatasetFileId,
844            super::super::super::super::objects::scout::catalog::DatasetFile,
845        >,
846        conjure_http::private::Error,
847    >;
848    #[endpoint(
849        method = GET,
850        path = "/catalog/v1/ingest-job/{ingestJobRid}/files",
851        name = "getDatasetFilesForJob",
852        produces = conjure_http::server::StdResponseSerializer
853    )]
854    async fn get_dataset_files_for_job(
855        &self,
856        #[auth]
857        auth_: conjure_object::BearerToken,
858        #[path(
859            name = "ingestJobRid",
860            decoder = conjure_http::server::conjure::FromPlainDecoder,
861            log_as = "ingestJobRid"
862        )]
863        ingest_job_rid: conjure_object::ResourceIdentifier,
864        #[query(
865            name = "nextPageToken",
866            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
867            log_as = "nextPageToken"
868        )]
869        next_page_token: Option<super::super::super::super::objects::api::Token>,
870    ) -> Result<
871        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
872        conjure_http::private::Error,
873    >;
874    #[endpoint(
875        method = POST,
876        path = "/catalog/v1/search-datasets-v2",
877        name = "searchDatasets",
878        produces = conjure_http::server::StdResponseSerializer
879    )]
880    async fn search_datasets(
881        &self,
882        #[auth]
883        auth_: conjure_object::BearerToken,
884        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
885        request: super::super::super::super::objects::scout::catalog::SearchDatasetsRequest,
886    ) -> Result<
887        super::super::super::super::objects::scout::catalog::SearchDatasetsResponse,
888        conjure_http::private::Error,
889    >;
890    #[endpoint(
891        method = PUT,
892        path = "/catalog/v1/datasets/ingest-status-v2",
893        name = "updateDatasetIngestStatusV2",
894        produces = conjure_http::server::StdResponseSerializer
895    )]
896    async fn update_dataset_ingest_status_v2(
897        &self,
898        #[auth]
899        auth_: conjure_object::BearerToken,
900        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
901        details: super::super::super::super::objects::scout::catalog::UpdateIngestStatusV2,
902    ) -> Result<
903        super::super::super::super::objects::api::IngestStatusV2,
904        conjure_http::private::Error,
905    >;
906    #[endpoint(
907        method = GET,
908        path = "/catalog/v1/datasets/{datasetRid}/ingest-progress-v2",
909        name = "getIngestProgressV2",
910        produces = conjure_http::server::StdResponseSerializer
911    )]
912    async fn get_ingest_progress_v2(
913        &self,
914        #[auth]
915        auth_: conjure_object::BearerToken,
916        #[path(
917            name = "datasetRid",
918            decoder = conjure_http::server::conjure::FromPlainDecoder,
919            log_as = "datasetRid"
920        )]
921        dataset_rid: conjure_object::ResourceIdentifier,
922    ) -> Result<
923        super::super::super::super::objects::scout::catalog::IngestProgressV2,
924        conjure_http::private::Error,
925    >;
926    #[endpoint(
927        method = GET,
928        path = "/catalog/v1/datasets/{dataset}/handle",
929        name = "getHandleForDataset",
930        produces = conjure_http::server::conjure::CollectionResponseSerializer
931    )]
932    async fn get_handle_for_dataset(
933        &self,
934        #[auth]
935        auth_: conjure_object::BearerToken,
936        #[path(
937            name = "dataset",
938            decoder = conjure_http::server::conjure::FromPlainDecoder
939        )]
940        dataset: conjure_object::Uuid,
941    ) -> Result<
942        Option<super::super::super::super::objects::scout::catalog::Handle>,
943        conjure_http::private::Error,
944    >;
945    #[endpoint(
946        method = POST,
947        path = "/catalog/v1/datasets",
948        name = "createDataset",
949        produces = conjure_http::server::StdResponseSerializer
950    )]
951    async fn create_dataset(
952        &self,
953        #[auth]
954        auth_: conjure_object::BearerToken,
955        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
956        details: super::super::super::super::objects::scout::catalog::CreateDataset,
957    ) -> Result<
958        super::super::super::super::objects::scout::catalog::EnrichedDataset,
959        conjure_http::private::Error,
960    >;
961    /// Creates a dataset if the s3 path does not exist, otherwise updates the dataset
962    #[endpoint(
963        method = POST,
964        path = "/catalog/v1/datasets/create-or-update",
965        name = "createOrUpdateDataset",
966        produces = conjure_http::server::StdResponseSerializer
967    )]
968    async fn create_or_update_dataset(
969        &self,
970        #[auth]
971        auth_: conjure_object::BearerToken,
972        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
973        details: super::super::super::super::objects::scout::catalog::CreateDataset,
974    ) -> Result<
975        super::super::super::super::objects::scout::catalog::EnrichedDataset,
976        conjure_http::private::Error,
977    >;
978    /// Creates a dataset with a specific UUID. This is useful for migrations and advanced use cases
979    /// where the dataset UUID must be controlled by the caller. Throws a conflict error if a dataset
980    /// with the specified UUID already exists. This endpoint is not intended for general use. Use /datasets instead to create a new dataset.
981    #[endpoint(
982        method = POST,
983        path = "/catalog/v1/datasets/with-uuid",
984        name = "createDatasetWithUuid",
985        produces = conjure_http::server::StdResponseSerializer
986    )]
987    async fn create_dataset_with_uuid(
988        &self,
989        #[auth]
990        auth_: conjure_object::BearerToken,
991        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
992        request: super::super::super::super::objects::scout::catalog::CreateDatasetWithUuidRequest,
993    ) -> Result<
994        super::super::super::super::objects::scout::catalog::EnrichedDataset,
995        conjure_http::private::Error,
996    >;
997    /// Adds a single file to an existing dataset.
998    #[endpoint(
999        method = POST,
1000        path = "/catalog/v1/datasets/{datasetRid}/add-file",
1001        name = "addFileToDataset",
1002        produces = conjure_http::server::StdResponseSerializer
1003    )]
1004    async fn add_file_to_dataset(
1005        &self,
1006        #[auth]
1007        auth_: conjure_object::BearerToken,
1008        #[path(
1009            name = "datasetRid",
1010            decoder = conjure_http::server::conjure::FromPlainDecoder,
1011            log_as = "datasetRid"
1012        )]
1013        dataset_rid: conjure_object::ResourceIdentifier,
1014        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1015        request: super::super::super::super::objects::scout::catalog::AddFileToDataset,
1016    ) -> Result<
1017        super::super::super::super::objects::scout::catalog::DatasetFile,
1018        conjure_http::private::Error,
1019    >;
1020    #[endpoint(
1021        method = GET,
1022        path = "/catalog/v1/datasets/{datasetRid}/files",
1023        name = "listDatasetFiles",
1024        produces = conjure_http::server::StdResponseSerializer
1025    )]
1026    async fn list_dataset_files(
1027        &self,
1028        #[auth]
1029        auth_: conjure_object::BearerToken,
1030        #[path(
1031            name = "datasetRid",
1032            decoder = conjure_http::server::conjure::FromPlainDecoder,
1033            log_as = "datasetRid"
1034        )]
1035        dataset_rid: conjure_object::ResourceIdentifier,
1036        #[query(
1037            name = "nextPageToken",
1038            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
1039            log_as = "nextPageToken"
1040        )]
1041        next_page_token: Option<super::super::super::super::objects::api::Token>,
1042    ) -> Result<
1043        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
1044        conjure_http::private::Error,
1045    >;
1046    #[endpoint(
1047        method = POST,
1048        path = "/catalog/v1/search-dataset-files",
1049        name = "searchDatasetFiles",
1050        produces = conjure_http::server::StdResponseSerializer
1051    )]
1052    async fn search_dataset_files(
1053        &self,
1054        #[auth]
1055        auth_: conjure_object::BearerToken,
1056        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1057        request: super::super::super::super::objects::scout::catalog::SearchDatasetFilesRequest,
1058    ) -> Result<
1059        super::super::super::super::objects::scout::catalog::SearchDatasetFilesResponse,
1060        conjure_http::private::Error,
1061    >;
1062    #[endpoint(
1063        method = GET,
1064        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/uri",
1065        name = "getDatasetFileUri",
1066        produces = conjure_http::server::StdResponseSerializer
1067    )]
1068    async fn get_dataset_file_uri(
1069        &self,
1070        #[auth]
1071        auth_: conjure_object::BearerToken,
1072        #[path(
1073            name = "datasetRid",
1074            decoder = conjure_http::server::conjure::FromPlainDecoder,
1075            log_as = "datasetRid"
1076        )]
1077        dataset_rid: conjure_object::ResourceIdentifier,
1078        #[path(
1079            name = "fileId",
1080            decoder = conjure_http::server::conjure::FromPlainDecoder,
1081            log_as = "fileId",
1082            safe
1083        )]
1084        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1085    ) -> Result<
1086        super::super::super::super::objects::scout::catalog::DatasetFileUri,
1087        conjure_http::private::Error,
1088    >;
1089    #[endpoint(
1090        method = GET,
1091        path = "/catalog/v1/videos/{videoFileRid}/uri",
1092        name = "getVideoFileUri",
1093        produces = conjure_http::server::StdResponseSerializer
1094    )]
1095    async fn get_video_file_uri(
1096        &self,
1097        #[auth]
1098        auth_: conjure_object::BearerToken,
1099        #[path(
1100            name = "videoFileRid",
1101            decoder = conjure_http::server::conjure::FromPlainDecoder,
1102            log_as = "videoFileRid"
1103        )]
1104        video_file_rid: conjure_object::ResourceIdentifier,
1105    ) -> Result<
1106        super::super::super::super::objects::scout::catalog::VideoFileUri,
1107        conjure_http::private::Error,
1108    >;
1109    #[endpoint(
1110        method = GET,
1111        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/origin-uris",
1112        name = "getOriginFileUris",
1113        produces = conjure_http::server::conjure::CollectionResponseSerializer
1114    )]
1115    async fn get_origin_file_uris(
1116        &self,
1117        #[auth]
1118        auth_: conjure_object::BearerToken,
1119        #[path(
1120            name = "datasetRid",
1121            decoder = conjure_http::server::conjure::FromPlainDecoder,
1122            log_as = "datasetRid"
1123        )]
1124        dataset_rid: conjure_object::ResourceIdentifier,
1125        #[path(
1126            name = "fileId",
1127            decoder = conjure_http::server::conjure::FromPlainDecoder,
1128            log_as = "fileId",
1129            safe
1130        )]
1131        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1132    ) -> Result<
1133        Vec<super::super::super::super::objects::scout::catalog::OriginFileUri>,
1134        conjure_http::private::Error,
1135    >;
1136    #[endpoint(
1137        method = PUT,
1138        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/success",
1139        name = "markFileIngestSuccessful",
1140        produces = conjure_http::server::StdResponseSerializer
1141    )]
1142    async fn mark_file_ingest_successful(
1143        &self,
1144        #[auth]
1145        auth_: conjure_object::BearerToken,
1146        #[path(
1147            name = "datasetRid",
1148            decoder = conjure_http::server::conjure::FromPlainDecoder,
1149            log_as = "datasetRid"
1150        )]
1151        dataset_rid: conjure_object::ResourceIdentifier,
1152        #[path(
1153            name = "fileId",
1154            decoder = conjure_http::server::conjure::FromPlainDecoder,
1155            log_as = "fileId",
1156            safe
1157        )]
1158        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1159        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1160        request: super::super::super::super::objects::scout::catalog::MarkFileIngestSuccessful,
1161    ) -> Result<
1162        super::super::super::super::objects::scout::catalog::DatasetFile,
1163        conjure_http::private::Error,
1164    >;
1165    #[endpoint(
1166        method = PUT,
1167        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/error",
1168        name = "markFileIngestError",
1169        produces = conjure_http::server::StdResponseSerializer
1170    )]
1171    async fn mark_file_ingest_error(
1172        &self,
1173        #[auth]
1174        auth_: conjure_object::BearerToken,
1175        #[path(
1176            name = "datasetRid",
1177            decoder = conjure_http::server::conjure::FromPlainDecoder,
1178            log_as = "datasetRid"
1179        )]
1180        dataset_rid: conjure_object::ResourceIdentifier,
1181        #[path(
1182            name = "fileId",
1183            decoder = conjure_http::server::conjure::FromPlainDecoder,
1184            log_as = "fileId",
1185            safe
1186        )]
1187        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1188        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1189        request: super::super::super::super::objects::scout::catalog::MarkFileIngestError,
1190    ) -> Result<
1191        super::super::super::super::objects::scout::catalog::DatasetFile,
1192        conjure_http::private::Error,
1193    >;
1194    /// Updates file-type-specific metadata for a dataset file. Currently used to update video segment metadata
1195    /// after video segmentation is complete.
1196    #[endpoint(
1197        method = PUT,
1198        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/metadata",
1199        name = "updateDatasetFileMetadata",
1200        produces = conjure_http::server::StdResponseSerializer
1201    )]
1202    async fn update_dataset_file_metadata(
1203        &self,
1204        #[auth]
1205        auth_: conjure_object::BearerToken,
1206        #[path(
1207            name = "datasetRid",
1208            decoder = conjure_http::server::conjure::FromPlainDecoder,
1209            log_as = "datasetRid"
1210        )]
1211        dataset_rid: conjure_object::ResourceIdentifier,
1212        #[path(
1213            name = "fileId",
1214            decoder = conjure_http::server::conjure::FromPlainDecoder,
1215            log_as = "fileId",
1216            safe
1217        )]
1218        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1219        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1220        metadata: super::super::super::super::objects::scout::catalog::DatasetFileMetadata,
1221    ) -> Result<
1222        super::super::super::super::objects::scout::catalog::DatasetFile,
1223        conjure_http::private::Error,
1224    >;
1225    #[endpoint(
1226        method = PUT,
1227        path = "/catalog/v1/datasets/{datasetRid}",
1228        name = "updateDatasetMetadata",
1229        produces = conjure_http::server::StdResponseSerializer
1230    )]
1231    async fn update_dataset_metadata(
1232        &self,
1233        #[auth]
1234        auth_: conjure_object::BearerToken,
1235        #[path(
1236            name = "datasetRid",
1237            decoder = conjure_http::server::conjure::FromPlainDecoder,
1238            log_as = "datasetRid"
1239        )]
1240        dataset_rid: conjure_object::ResourceIdentifier,
1241        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1242        request: super::super::super::super::objects::scout::catalog::UpdateDatasetMetadata,
1243    ) -> Result<
1244        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1245        conjure_http::private::Error,
1246    >;
1247    /// Update the bounds for a dataset without updating bounds of files within the dataset. If the
1248    /// current bounds of the dataset are not set, then the bounds of the request will be used. Otherwise,
1249    /// the bounds will be min(current start, request start), max(current end, request end).
1250    #[endpoint(
1251        method = PUT,
1252        path = "/catalog/v1/datasets/{rid}/bounds-from-streaming",
1253        name = "updateGlobalDatasetBounds",
1254        produces = conjure_http::server::StdResponseSerializer
1255    )]
1256    async fn update_global_dataset_bounds(
1257        &self,
1258        #[auth]
1259        auth_: conjure_object::BearerToken,
1260        #[path(name = "rid", decoder = conjure_http::server::conjure::FromPlainDecoder)]
1261        rid: conjure_object::ResourceIdentifier,
1262        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1263        request: super::super::super::super::objects::scout::catalog::UpdateBoundsRequest,
1264    ) -> Result<
1265        super::super::super::super::objects::scout::catalog::Dataset,
1266        conjure_http::private::Error,
1267    >;
1268    /// Archives a dataset, which will hide it from search results unless the includeArchived flag is set to true. The
1269    /// dataset can still be directly accessed by its UUID/rid.
1270    #[endpoint(
1271        method = POST,
1272        path = "/catalog/v1/datasets/{datasetRid}/archive",
1273        name = "archiveDataset"
1274    )]
1275    async fn archive_dataset(
1276        &self,
1277        #[auth]
1278        auth_: conjure_object::BearerToken,
1279        #[path(
1280            name = "datasetRid",
1281            decoder = conjure_http::server::conjure::FromPlainDecoder,
1282            log_as = "datasetRid"
1283        )]
1284        dataset_rid: conjure_object::ResourceIdentifier,
1285    ) -> Result<(), conjure_http::private::Error>;
1286    /// Undoes the archiving of a dataset.
1287    #[endpoint(
1288        method = POST,
1289        path = "/catalog/v1/datasets/{datasetRid}/unarchive",
1290        name = "unarchiveDataset"
1291    )]
1292    async fn unarchive_dataset(
1293        &self,
1294        #[auth]
1295        auth_: conjure_object::BearerToken,
1296        #[path(
1297            name = "datasetRid",
1298            decoder = conjure_http::server::conjure::FromPlainDecoder,
1299            log_as = "datasetRid"
1300        )]
1301        dataset_rid: conjure_object::ResourceIdentifier,
1302    ) -> Result<(), conjure_http::private::Error>;
1303    #[endpoint(
1304        method = GET,
1305        path = "/catalog/v1/datasets/all-properties-labels",
1306        name = "getAllPropertiesAndLabels",
1307        produces = conjure_http::server::StdResponseSerializer
1308    )]
1309    async fn get_all_properties_and_labels(
1310        &self,
1311        #[auth]
1312        auth_: conjure_object::BearerToken,
1313        #[query(
1314            name = "workspaces",
1315            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
1316        )]
1317        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
1318    ) -> Result<
1319        super::super::super::super::objects::scout::catalog::AllPropertiesAndLabelsResponse,
1320        conjure_http::private::Error,
1321    >;
1322    /// Returns the log dataset RID for the specified workspace if configured and accessible to the caller.
1323    #[endpoint(
1324        method = GET,
1325        path = "/catalog/v1/workspaces/{workspaceRid}/log-dataset",
1326        name = "getLogDatasetForWorkspace",
1327        produces = conjure_http::server::conjure::CollectionResponseSerializer
1328    )]
1329    async fn get_log_dataset_for_workspace(
1330        &self,
1331        #[auth]
1332        auth_: conjure_object::BearerToken,
1333        #[path(
1334            name = "workspaceRid",
1335            decoder = conjure_http::server::conjure::FromPlainDecoder,
1336            log_as = "workspaceRid"
1337        )]
1338        workspace_rid: conjure_object::ResourceIdentifier,
1339    ) -> Result<
1340        Option<conjure_object::ResourceIdentifier>,
1341        conjure_http::private::Error,
1342    >;
1343}
1344/// The Catalog Service provides the ability to query for information about Datasets that are stored in
1345/// the Nominal platform. A Dataset is the Nominal representation of data that has been uploaded to Nominal via
1346/// a file, primarily CSV.
1347#[conjure_http::conjure_endpoints(
1348    name = "CatalogService",
1349    use_legacy_error_serialization,
1350    local
1351)]
1352pub trait LocalAsyncCatalogService {
1353    #[endpoint(
1354        method = GET,
1355        path = "/catalog/v1/datasets/{datasetUuid}",
1356        name = "getEnrichedDataset",
1357        produces = conjure_http::server::StdResponseSerializer
1358    )]
1359    async fn get_enriched_dataset(
1360        &self,
1361        #[auth]
1362        auth_: conjure_object::BearerToken,
1363        #[path(
1364            name = "datasetUuid",
1365            decoder = conjure_http::server::conjure::FromPlainDecoder,
1366            log_as = "datasetUuid"
1367        )]
1368        dataset_uuid: conjure_object::Uuid,
1369    ) -> Result<
1370        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1371        conjure_http::private::Error,
1372    >;
1373    #[endpoint(
1374        method = POST,
1375        path = "/catalog/v1/datasets/multiple",
1376        name = "getEnrichedDatasets",
1377        produces = conjure_http::server::conjure::CollectionResponseSerializer
1378    )]
1379    async fn get_enriched_datasets(
1380        &self,
1381        #[auth]
1382        auth_: conjure_object::BearerToken,
1383        #[body(
1384            deserializer = conjure_http::server::StdRequestDeserializer,
1385            log_as = "getDatasetsRequest"
1386        )]
1387        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
1388    ) -> Result<
1389        std::collections::BTreeSet<
1390            super::super::super::super::objects::scout::catalog::EnrichedDataset,
1391        >,
1392        conjure_http::private::Error,
1393    >;
1394    #[endpoint(
1395        method = GET,
1396        path = "/catalog/v1/datasets-simple/{datasetUuid}",
1397        name = "getDataset",
1398        produces = conjure_http::server::StdResponseSerializer
1399    )]
1400    async fn get_dataset(
1401        &self,
1402        #[auth]
1403        auth_: conjure_object::BearerToken,
1404        #[path(
1405            name = "datasetUuid",
1406            decoder = conjure_http::server::conjure::FromPlainDecoder,
1407            log_as = "datasetUuid"
1408        )]
1409        dataset_uuid: conjure_object::Uuid,
1410    ) -> Result<
1411        super::super::super::super::objects::scout::catalog::Dataset,
1412        conjure_http::private::Error,
1413    >;
1414    #[endpoint(
1415        method = POST,
1416        path = "/catalog/v1/datasets-simple/multiple",
1417        name = "getDatasets",
1418        produces = conjure_http::server::conjure::CollectionResponseSerializer
1419    )]
1420    async fn get_datasets(
1421        &self,
1422        #[auth]
1423        auth_: conjure_object::BearerToken,
1424        #[body(
1425            deserializer = conjure_http::server::StdRequestDeserializer,
1426            log_as = "getDatasetsRequest"
1427        )]
1428        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
1429    ) -> Result<
1430        std::collections::BTreeSet<
1431            super::super::super::super::objects::scout::catalog::Dataset,
1432        >,
1433        conjure_http::private::Error,
1434    >;
1435    /// Gets the subset of dataset RIDs that currently have external connection config attached.
1436    #[endpoint(
1437        method = POST,
1438        path = "/catalog/v1/datasets-simple/external-config",
1439        name = "getDatasetsWithExternalConnectionConfig",
1440        produces = conjure_http::server::conjure::CollectionResponseSerializer
1441    )]
1442    async fn get_datasets_with_external_connection_config(
1443        &self,
1444        #[auth]
1445        auth_: conjure_object::BearerToken,
1446        #[body(
1447            deserializer = conjure_http::server::StdRequestDeserializer,
1448            log_as = "getDatasetsRequest"
1449        )]
1450        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
1451    ) -> Result<
1452        std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
1453        conjure_http::private::Error,
1454    >;
1455    /// Registers or updates external connection configuration for an existing dataset.
1456    #[endpoint(
1457        method = POST,
1458        path = "/catalog/v1/datasets/external-config",
1459        name = "registerExternalConnectionConfig",
1460        produces = conjure_http::server::StdResponseSerializer
1461    )]
1462    async fn register_external_connection_config(
1463        &self,
1464        #[auth]
1465        auth_: conjure_object::BearerToken,
1466        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1467        request: super::super::super::super::objects::scout::catalog::RegisterExternalConnectionConfigRequest,
1468    ) -> Result<
1469        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1470        conjure_http::private::Error,
1471    >;
1472    #[endpoint(
1473        method = GET,
1474        path = "/catalog/v1/dataset/{datasetRid}/file/{fileId}",
1475        name = "getDatasetFile",
1476        produces = conjure_http::server::StdResponseSerializer
1477    )]
1478    async fn get_dataset_file(
1479        &self,
1480        #[auth]
1481        auth_: conjure_object::BearerToken,
1482        #[path(
1483            name = "datasetRid",
1484            decoder = conjure_http::server::conjure::FromPlainDecoder,
1485            log_as = "datasetRid"
1486        )]
1487        dataset_rid: conjure_object::ResourceIdentifier,
1488        #[path(
1489            name = "fileId",
1490            decoder = conjure_http::server::conjure::FromPlainDecoder,
1491            log_as = "fileId",
1492            safe
1493        )]
1494        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1495    ) -> Result<
1496        super::super::super::super::objects::scout::catalog::DatasetFile,
1497        conjure_http::private::Error,
1498    >;
1499    /// Returns dataset files for the given file IDs within a single dataset. Only returns files that
1500    /// exist and belong to the specified dataset. Useful for checking ingestion status of many files at once.
1501    #[endpoint(
1502        method = POST,
1503        path = "/catalog/v1/dataset-files/batchGet",
1504        name = "batchGetDatasetFiles",
1505        produces = conjure_http::server::conjure::CollectionResponseSerializer
1506    )]
1507    async fn batch_get_dataset_files(
1508        &self,
1509        #[auth]
1510        auth_: conjure_object::BearerToken,
1511        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1512        request: super::super::super::super::objects::scout::catalog::BatchGetDatasetFilesRequest,
1513    ) -> Result<
1514        std::collections::BTreeMap<
1515            super::super::super::super::objects::datasource::DatasetFileId,
1516            super::super::super::super::objects::scout::catalog::DatasetFile,
1517        >,
1518        conjure_http::private::Error,
1519    >;
1520    #[endpoint(
1521        method = GET,
1522        path = "/catalog/v1/ingest-job/{ingestJobRid}/files",
1523        name = "getDatasetFilesForJob",
1524        produces = conjure_http::server::StdResponseSerializer
1525    )]
1526    async fn get_dataset_files_for_job(
1527        &self,
1528        #[auth]
1529        auth_: conjure_object::BearerToken,
1530        #[path(
1531            name = "ingestJobRid",
1532            decoder = conjure_http::server::conjure::FromPlainDecoder,
1533            log_as = "ingestJobRid"
1534        )]
1535        ingest_job_rid: conjure_object::ResourceIdentifier,
1536        #[query(
1537            name = "nextPageToken",
1538            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
1539            log_as = "nextPageToken"
1540        )]
1541        next_page_token: Option<super::super::super::super::objects::api::Token>,
1542    ) -> Result<
1543        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
1544        conjure_http::private::Error,
1545    >;
1546    #[endpoint(
1547        method = POST,
1548        path = "/catalog/v1/search-datasets-v2",
1549        name = "searchDatasets",
1550        produces = conjure_http::server::StdResponseSerializer
1551    )]
1552    async fn search_datasets(
1553        &self,
1554        #[auth]
1555        auth_: conjure_object::BearerToken,
1556        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1557        request: super::super::super::super::objects::scout::catalog::SearchDatasetsRequest,
1558    ) -> Result<
1559        super::super::super::super::objects::scout::catalog::SearchDatasetsResponse,
1560        conjure_http::private::Error,
1561    >;
1562    #[endpoint(
1563        method = PUT,
1564        path = "/catalog/v1/datasets/ingest-status-v2",
1565        name = "updateDatasetIngestStatusV2",
1566        produces = conjure_http::server::StdResponseSerializer
1567    )]
1568    async fn update_dataset_ingest_status_v2(
1569        &self,
1570        #[auth]
1571        auth_: conjure_object::BearerToken,
1572        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1573        details: super::super::super::super::objects::scout::catalog::UpdateIngestStatusV2,
1574    ) -> Result<
1575        super::super::super::super::objects::api::IngestStatusV2,
1576        conjure_http::private::Error,
1577    >;
1578    #[endpoint(
1579        method = GET,
1580        path = "/catalog/v1/datasets/{datasetRid}/ingest-progress-v2",
1581        name = "getIngestProgressV2",
1582        produces = conjure_http::server::StdResponseSerializer
1583    )]
1584    async fn get_ingest_progress_v2(
1585        &self,
1586        #[auth]
1587        auth_: conjure_object::BearerToken,
1588        #[path(
1589            name = "datasetRid",
1590            decoder = conjure_http::server::conjure::FromPlainDecoder,
1591            log_as = "datasetRid"
1592        )]
1593        dataset_rid: conjure_object::ResourceIdentifier,
1594    ) -> Result<
1595        super::super::super::super::objects::scout::catalog::IngestProgressV2,
1596        conjure_http::private::Error,
1597    >;
1598    #[endpoint(
1599        method = GET,
1600        path = "/catalog/v1/datasets/{dataset}/handle",
1601        name = "getHandleForDataset",
1602        produces = conjure_http::server::conjure::CollectionResponseSerializer
1603    )]
1604    async fn get_handle_for_dataset(
1605        &self,
1606        #[auth]
1607        auth_: conjure_object::BearerToken,
1608        #[path(
1609            name = "dataset",
1610            decoder = conjure_http::server::conjure::FromPlainDecoder
1611        )]
1612        dataset: conjure_object::Uuid,
1613    ) -> Result<
1614        Option<super::super::super::super::objects::scout::catalog::Handle>,
1615        conjure_http::private::Error,
1616    >;
1617    #[endpoint(
1618        method = POST,
1619        path = "/catalog/v1/datasets",
1620        name = "createDataset",
1621        produces = conjure_http::server::StdResponseSerializer
1622    )]
1623    async fn create_dataset(
1624        &self,
1625        #[auth]
1626        auth_: conjure_object::BearerToken,
1627        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1628        details: super::super::super::super::objects::scout::catalog::CreateDataset,
1629    ) -> Result<
1630        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1631        conjure_http::private::Error,
1632    >;
1633    /// Creates a dataset if the s3 path does not exist, otherwise updates the dataset
1634    #[endpoint(
1635        method = POST,
1636        path = "/catalog/v1/datasets/create-or-update",
1637        name = "createOrUpdateDataset",
1638        produces = conjure_http::server::StdResponseSerializer
1639    )]
1640    async fn create_or_update_dataset(
1641        &self,
1642        #[auth]
1643        auth_: conjure_object::BearerToken,
1644        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1645        details: super::super::super::super::objects::scout::catalog::CreateDataset,
1646    ) -> Result<
1647        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1648        conjure_http::private::Error,
1649    >;
1650    /// Creates a dataset with a specific UUID. This is useful for migrations and advanced use cases
1651    /// where the dataset UUID must be controlled by the caller. Throws a conflict error if a dataset
1652    /// with the specified UUID already exists. This endpoint is not intended for general use. Use /datasets instead to create a new dataset.
1653    #[endpoint(
1654        method = POST,
1655        path = "/catalog/v1/datasets/with-uuid",
1656        name = "createDatasetWithUuid",
1657        produces = conjure_http::server::StdResponseSerializer
1658    )]
1659    async fn create_dataset_with_uuid(
1660        &self,
1661        #[auth]
1662        auth_: conjure_object::BearerToken,
1663        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1664        request: super::super::super::super::objects::scout::catalog::CreateDatasetWithUuidRequest,
1665    ) -> Result<
1666        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1667        conjure_http::private::Error,
1668    >;
1669    /// Adds a single file to an existing dataset.
1670    #[endpoint(
1671        method = POST,
1672        path = "/catalog/v1/datasets/{datasetRid}/add-file",
1673        name = "addFileToDataset",
1674        produces = conjure_http::server::StdResponseSerializer
1675    )]
1676    async fn add_file_to_dataset(
1677        &self,
1678        #[auth]
1679        auth_: conjure_object::BearerToken,
1680        #[path(
1681            name = "datasetRid",
1682            decoder = conjure_http::server::conjure::FromPlainDecoder,
1683            log_as = "datasetRid"
1684        )]
1685        dataset_rid: conjure_object::ResourceIdentifier,
1686        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1687        request: super::super::super::super::objects::scout::catalog::AddFileToDataset,
1688    ) -> Result<
1689        super::super::super::super::objects::scout::catalog::DatasetFile,
1690        conjure_http::private::Error,
1691    >;
1692    #[endpoint(
1693        method = GET,
1694        path = "/catalog/v1/datasets/{datasetRid}/files",
1695        name = "listDatasetFiles",
1696        produces = conjure_http::server::StdResponseSerializer
1697    )]
1698    async fn list_dataset_files(
1699        &self,
1700        #[auth]
1701        auth_: conjure_object::BearerToken,
1702        #[path(
1703            name = "datasetRid",
1704            decoder = conjure_http::server::conjure::FromPlainDecoder,
1705            log_as = "datasetRid"
1706        )]
1707        dataset_rid: conjure_object::ResourceIdentifier,
1708        #[query(
1709            name = "nextPageToken",
1710            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
1711            log_as = "nextPageToken"
1712        )]
1713        next_page_token: Option<super::super::super::super::objects::api::Token>,
1714    ) -> Result<
1715        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
1716        conjure_http::private::Error,
1717    >;
1718    #[endpoint(
1719        method = POST,
1720        path = "/catalog/v1/search-dataset-files",
1721        name = "searchDatasetFiles",
1722        produces = conjure_http::server::StdResponseSerializer
1723    )]
1724    async fn search_dataset_files(
1725        &self,
1726        #[auth]
1727        auth_: conjure_object::BearerToken,
1728        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1729        request: super::super::super::super::objects::scout::catalog::SearchDatasetFilesRequest,
1730    ) -> Result<
1731        super::super::super::super::objects::scout::catalog::SearchDatasetFilesResponse,
1732        conjure_http::private::Error,
1733    >;
1734    #[endpoint(
1735        method = GET,
1736        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/uri",
1737        name = "getDatasetFileUri",
1738        produces = conjure_http::server::StdResponseSerializer
1739    )]
1740    async fn get_dataset_file_uri(
1741        &self,
1742        #[auth]
1743        auth_: conjure_object::BearerToken,
1744        #[path(
1745            name = "datasetRid",
1746            decoder = conjure_http::server::conjure::FromPlainDecoder,
1747            log_as = "datasetRid"
1748        )]
1749        dataset_rid: conjure_object::ResourceIdentifier,
1750        #[path(
1751            name = "fileId",
1752            decoder = conjure_http::server::conjure::FromPlainDecoder,
1753            log_as = "fileId",
1754            safe
1755        )]
1756        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1757    ) -> Result<
1758        super::super::super::super::objects::scout::catalog::DatasetFileUri,
1759        conjure_http::private::Error,
1760    >;
1761    #[endpoint(
1762        method = GET,
1763        path = "/catalog/v1/videos/{videoFileRid}/uri",
1764        name = "getVideoFileUri",
1765        produces = conjure_http::server::StdResponseSerializer
1766    )]
1767    async fn get_video_file_uri(
1768        &self,
1769        #[auth]
1770        auth_: conjure_object::BearerToken,
1771        #[path(
1772            name = "videoFileRid",
1773            decoder = conjure_http::server::conjure::FromPlainDecoder,
1774            log_as = "videoFileRid"
1775        )]
1776        video_file_rid: conjure_object::ResourceIdentifier,
1777    ) -> Result<
1778        super::super::super::super::objects::scout::catalog::VideoFileUri,
1779        conjure_http::private::Error,
1780    >;
1781    #[endpoint(
1782        method = GET,
1783        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/origin-uris",
1784        name = "getOriginFileUris",
1785        produces = conjure_http::server::conjure::CollectionResponseSerializer
1786    )]
1787    async fn get_origin_file_uris(
1788        &self,
1789        #[auth]
1790        auth_: conjure_object::BearerToken,
1791        #[path(
1792            name = "datasetRid",
1793            decoder = conjure_http::server::conjure::FromPlainDecoder,
1794            log_as = "datasetRid"
1795        )]
1796        dataset_rid: conjure_object::ResourceIdentifier,
1797        #[path(
1798            name = "fileId",
1799            decoder = conjure_http::server::conjure::FromPlainDecoder,
1800            log_as = "fileId",
1801            safe
1802        )]
1803        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1804    ) -> Result<
1805        Vec<super::super::super::super::objects::scout::catalog::OriginFileUri>,
1806        conjure_http::private::Error,
1807    >;
1808    #[endpoint(
1809        method = PUT,
1810        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/success",
1811        name = "markFileIngestSuccessful",
1812        produces = conjure_http::server::StdResponseSerializer
1813    )]
1814    async fn mark_file_ingest_successful(
1815        &self,
1816        #[auth]
1817        auth_: conjure_object::BearerToken,
1818        #[path(
1819            name = "datasetRid",
1820            decoder = conjure_http::server::conjure::FromPlainDecoder,
1821            log_as = "datasetRid"
1822        )]
1823        dataset_rid: conjure_object::ResourceIdentifier,
1824        #[path(
1825            name = "fileId",
1826            decoder = conjure_http::server::conjure::FromPlainDecoder,
1827            log_as = "fileId",
1828            safe
1829        )]
1830        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1831        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1832        request: super::super::super::super::objects::scout::catalog::MarkFileIngestSuccessful,
1833    ) -> Result<
1834        super::super::super::super::objects::scout::catalog::DatasetFile,
1835        conjure_http::private::Error,
1836    >;
1837    #[endpoint(
1838        method = PUT,
1839        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/error",
1840        name = "markFileIngestError",
1841        produces = conjure_http::server::StdResponseSerializer
1842    )]
1843    async fn mark_file_ingest_error(
1844        &self,
1845        #[auth]
1846        auth_: conjure_object::BearerToken,
1847        #[path(
1848            name = "datasetRid",
1849            decoder = conjure_http::server::conjure::FromPlainDecoder,
1850            log_as = "datasetRid"
1851        )]
1852        dataset_rid: conjure_object::ResourceIdentifier,
1853        #[path(
1854            name = "fileId",
1855            decoder = conjure_http::server::conjure::FromPlainDecoder,
1856            log_as = "fileId",
1857            safe
1858        )]
1859        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1860        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1861        request: super::super::super::super::objects::scout::catalog::MarkFileIngestError,
1862    ) -> Result<
1863        super::super::super::super::objects::scout::catalog::DatasetFile,
1864        conjure_http::private::Error,
1865    >;
1866    /// Updates file-type-specific metadata for a dataset file. Currently used to update video segment metadata
1867    /// after video segmentation is complete.
1868    #[endpoint(
1869        method = PUT,
1870        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/metadata",
1871        name = "updateDatasetFileMetadata",
1872        produces = conjure_http::server::StdResponseSerializer
1873    )]
1874    async fn update_dataset_file_metadata(
1875        &self,
1876        #[auth]
1877        auth_: conjure_object::BearerToken,
1878        #[path(
1879            name = "datasetRid",
1880            decoder = conjure_http::server::conjure::FromPlainDecoder,
1881            log_as = "datasetRid"
1882        )]
1883        dataset_rid: conjure_object::ResourceIdentifier,
1884        #[path(
1885            name = "fileId",
1886            decoder = conjure_http::server::conjure::FromPlainDecoder,
1887            log_as = "fileId",
1888            safe
1889        )]
1890        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1891        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1892        metadata: super::super::super::super::objects::scout::catalog::DatasetFileMetadata,
1893    ) -> Result<
1894        super::super::super::super::objects::scout::catalog::DatasetFile,
1895        conjure_http::private::Error,
1896    >;
1897    #[endpoint(
1898        method = PUT,
1899        path = "/catalog/v1/datasets/{datasetRid}",
1900        name = "updateDatasetMetadata",
1901        produces = conjure_http::server::StdResponseSerializer
1902    )]
1903    async fn update_dataset_metadata(
1904        &self,
1905        #[auth]
1906        auth_: conjure_object::BearerToken,
1907        #[path(
1908            name = "datasetRid",
1909            decoder = conjure_http::server::conjure::FromPlainDecoder,
1910            log_as = "datasetRid"
1911        )]
1912        dataset_rid: conjure_object::ResourceIdentifier,
1913        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1914        request: super::super::super::super::objects::scout::catalog::UpdateDatasetMetadata,
1915    ) -> Result<
1916        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1917        conjure_http::private::Error,
1918    >;
1919    /// Update the bounds for a dataset without updating bounds of files within the dataset. If the
1920    /// current bounds of the dataset are not set, then the bounds of the request will be used. Otherwise,
1921    /// the bounds will be min(current start, request start), max(current end, request end).
1922    #[endpoint(
1923        method = PUT,
1924        path = "/catalog/v1/datasets/{rid}/bounds-from-streaming",
1925        name = "updateGlobalDatasetBounds",
1926        produces = conjure_http::server::StdResponseSerializer
1927    )]
1928    async fn update_global_dataset_bounds(
1929        &self,
1930        #[auth]
1931        auth_: conjure_object::BearerToken,
1932        #[path(name = "rid", decoder = conjure_http::server::conjure::FromPlainDecoder)]
1933        rid: conjure_object::ResourceIdentifier,
1934        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1935        request: super::super::super::super::objects::scout::catalog::UpdateBoundsRequest,
1936    ) -> Result<
1937        super::super::super::super::objects::scout::catalog::Dataset,
1938        conjure_http::private::Error,
1939    >;
1940    /// Archives a dataset, which will hide it from search results unless the includeArchived flag is set to true. The
1941    /// dataset can still be directly accessed by its UUID/rid.
1942    #[endpoint(
1943        method = POST,
1944        path = "/catalog/v1/datasets/{datasetRid}/archive",
1945        name = "archiveDataset"
1946    )]
1947    async fn archive_dataset(
1948        &self,
1949        #[auth]
1950        auth_: conjure_object::BearerToken,
1951        #[path(
1952            name = "datasetRid",
1953            decoder = conjure_http::server::conjure::FromPlainDecoder,
1954            log_as = "datasetRid"
1955        )]
1956        dataset_rid: conjure_object::ResourceIdentifier,
1957    ) -> Result<(), conjure_http::private::Error>;
1958    /// Undoes the archiving of a dataset.
1959    #[endpoint(
1960        method = POST,
1961        path = "/catalog/v1/datasets/{datasetRid}/unarchive",
1962        name = "unarchiveDataset"
1963    )]
1964    async fn unarchive_dataset(
1965        &self,
1966        #[auth]
1967        auth_: conjure_object::BearerToken,
1968        #[path(
1969            name = "datasetRid",
1970            decoder = conjure_http::server::conjure::FromPlainDecoder,
1971            log_as = "datasetRid"
1972        )]
1973        dataset_rid: conjure_object::ResourceIdentifier,
1974    ) -> Result<(), conjure_http::private::Error>;
1975    #[endpoint(
1976        method = GET,
1977        path = "/catalog/v1/datasets/all-properties-labels",
1978        name = "getAllPropertiesAndLabels",
1979        produces = conjure_http::server::StdResponseSerializer
1980    )]
1981    async fn get_all_properties_and_labels(
1982        &self,
1983        #[auth]
1984        auth_: conjure_object::BearerToken,
1985        #[query(
1986            name = "workspaces",
1987            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
1988        )]
1989        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
1990    ) -> Result<
1991        super::super::super::super::objects::scout::catalog::AllPropertiesAndLabelsResponse,
1992        conjure_http::private::Error,
1993    >;
1994    /// Returns the log dataset RID for the specified workspace if configured and accessible to the caller.
1995    #[endpoint(
1996        method = GET,
1997        path = "/catalog/v1/workspaces/{workspaceRid}/log-dataset",
1998        name = "getLogDatasetForWorkspace",
1999        produces = conjure_http::server::conjure::CollectionResponseSerializer
2000    )]
2001    async fn get_log_dataset_for_workspace(
2002        &self,
2003        #[auth]
2004        auth_: conjure_object::BearerToken,
2005        #[path(
2006            name = "workspaceRid",
2007            decoder = conjure_http::server::conjure::FromPlainDecoder,
2008            log_as = "workspaceRid"
2009        )]
2010        workspace_rid: conjure_object::ResourceIdentifier,
2011    ) -> Result<
2012        Option<conjure_object::ResourceIdentifier>,
2013        conjure_http::private::Error,
2014    >;
2015}