Skip to main content

nominal_api/conjure/endpoints/timeseries/metadata/
series_metadata_service.rs

1use conjure_http::endpoint;
2/// [INTERNAL]
3/// Series metadata represents the constant information about data in a series - specifically, the name, units, a
4/// description, and the tags. Series metadata can be used to query points from specific series depending on the tag
5/// value selections.
6#[conjure_http::conjure_endpoints(
7    name = "SeriesMetadataService",
8    use_legacy_error_serialization
9)]
10pub trait SeriesMetadataService {
11    /// Batch get series metadata by DataSourceRid.
12    #[endpoint(
13        method = POST,
14        path = "/timeseries/archetype/v1/series-archetype/batch-get",
15        name = "batchGet",
16        produces = conjure_http::server::StdResponseSerializer
17    )]
18    fn batch_get(
19        &self,
20        #[auth]
21        auth_: conjure_object::BearerToken,
22        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
23        request: super::super::super::super::objects::timeseries::metadata::api::BatchGetSeriesMetadataRequest,
24    ) -> Result<
25        super::super::super::super::objects::timeseries::metadata::api::BatchGetSeriesMetadataResponse,
26        conjure_http::private::Error,
27    >;
28    /// Create new series metadata.
29    #[endpoint(
30        method = POST,
31        path = "/timeseries/archetype/v1/series-archetype",
32        name = "create"
33    )]
34    fn create(
35        &self,
36        #[auth]
37        auth_: conjure_object::BearerToken,
38        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
39        request: super::super::super::super::objects::timeseries::metadata::api::CreateSeriesMetadataRequest,
40    ) -> Result<(), conjure_http::private::Error>;
41    /// Idempotently creates series metadata.
42    #[endpoint(
43        method = POST,
44        path = "/timeseries/archetype/v1/series-archetype/batch-create",
45        name = "batchCreate"
46    )]
47    fn batch_create(
48        &self,
49        #[auth]
50        auth_: conjure_object::BearerToken,
51        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
52        request: super::super::super::super::objects::timeseries::metadata::api::BatchCreateSeriesMetadataRequest,
53    ) -> Result<(), conjure_http::private::Error>;
54    /// Upserts series metadata. Creates new series metadata if it does not exist for the given channel and data
55    /// source. If it already exists, updates the locator and any provided unit and description fields while
56    /// preserving existing values for fields not supplied.
57    #[endpoint(
58        method = POST,
59        path = "/timeseries/archetype/v1/series-archetype/create-or-update",
60        name = "createOrUpdate"
61    )]
62    fn create_or_update(
63        &self,
64        #[auth]
65        auth_: conjure_object::BearerToken,
66        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
67        request: super::super::super::super::objects::timeseries::metadata::api::CreateSeriesMetadataRequest,
68    ) -> Result<(), conjure_http::private::Error>;
69    /// Batch version of createOrUpdate.
70    #[endpoint(
71        method = POST,
72        path = "/timeseries/archetype/v1/series-archetype/batch-create-or-update",
73        name = "batchCreateOrUpdate"
74    )]
75    fn batch_create_or_update(
76        &self,
77        #[auth]
78        auth_: conjure_object::BearerToken,
79        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
80        request: super::super::super::super::objects::timeseries::metadata::api::BatchCreateSeriesMetadataRequest,
81    ) -> Result<(), conjure_http::private::Error>;
82    /// Get series metadata from its series metadata rid.
83    #[endpoint(
84        method = GET,
85        path = "/timeseries/archetype/v1/series-archetype/{rid}",
86        name = "get",
87        produces = conjure_http::server::StdResponseSerializer
88    )]
89    fn get(
90        &self,
91        #[auth]
92        auth_: conjure_object::BearerToken,
93        #[path(name = "rid", decoder = conjure_http::server::conjure::FromPlainDecoder)]
94        rid: conjure_object::ResourceIdentifier,
95    ) -> Result<
96        super::super::super::super::objects::timeseries::metadata::api::SeriesMetadata,
97        conjure_http::private::Error,
98    >;
99    /// Update existing series metadata.
100    /// Throws SeriesMetadataNotFound if the series metadata does not exist.
101    #[endpoint(
102        method = POST,
103        path = "/timeseries/archetype/v1/series-archetype/{rid}/metadata",
104        name = "updateMetadata",
105        produces = conjure_http::server::StdResponseSerializer
106    )]
107    fn update_metadata(
108        &self,
109        #[auth]
110        auth_: conjure_object::BearerToken,
111        #[path(name = "rid", decoder = conjure_http::server::conjure::FromPlainDecoder)]
112        rid: conjure_object::ResourceIdentifier,
113        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
114        request: super::super::super::super::objects::timeseries::metadata::api::UpdateSeriesMetadataRequest,
115    ) -> Result<
116        super::super::super::super::objects::timeseries::metadata::api::SeriesMetadata,
117        conjure_http::private::Error,
118    >;
119    /// This endpoint lets an authorized workspace caller change how one nominal dataset channel is interpreted.
120    /// This updates metadata and future series resolution. It does not rewrite historical point rows.
121    #[endpoint(
122        method = POST,
123        path = "/timeseries/archetype/v1/series-archetype/change-data-type",
124        name = "changeDataType",
125        produces = conjure_http::server::StdResponseSerializer
126    )]
127    fn change_data_type(
128        &self,
129        #[auth]
130        auth_: conjure_object::BearerToken,
131        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
132        request: super::super::super::super::objects::timeseries::metadata::api::ChangeDataTypeRequest,
133    ) -> Result<
134        super::super::super::super::objects::timeseries::metadata::api::ChangeDataTypeResponse,
135        conjure_http::private::Error,
136    >;
137    /// Batch creates series metadata for video channels if they don't exist.
138    /// Idempotent - returns existing SeriesMetadataRid if already exists.
139    #[endpoint(
140        method = POST,
141        path = "/timeseries/archetype/v1/series-archetype/video-channel",
142        name = "batchCreateVideoSeries",
143        produces = conjure_http::server::StdResponseSerializer
144    )]
145    fn batch_create_video_series(
146        &self,
147        #[auth]
148        auth_: conjure_object::BearerToken,
149        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
150        request: super::super::super::super::objects::timeseries::metadata::api::BatchCreateVideoSeriesRequest,
151    ) -> Result<
152        super::super::super::super::objects::timeseries::metadata::api::BatchCreateVideoSeriesResponse,
153        conjure_http::private::Error,
154    >;
155}
156/// [INTERNAL]
157/// Series metadata represents the constant information about data in a series - specifically, the name, units, a
158/// description, and the tags. Series metadata can be used to query points from specific series depending on the tag
159/// value selections.
160#[conjure_http::conjure_endpoints(
161    name = "SeriesMetadataService",
162    use_legacy_error_serialization
163)]
164pub trait AsyncSeriesMetadataService {
165    /// Batch get series metadata by DataSourceRid.
166    #[endpoint(
167        method = POST,
168        path = "/timeseries/archetype/v1/series-archetype/batch-get",
169        name = "batchGet",
170        produces = conjure_http::server::StdResponseSerializer
171    )]
172    async fn batch_get(
173        &self,
174        #[auth]
175        auth_: conjure_object::BearerToken,
176        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
177        request: super::super::super::super::objects::timeseries::metadata::api::BatchGetSeriesMetadataRequest,
178    ) -> Result<
179        super::super::super::super::objects::timeseries::metadata::api::BatchGetSeriesMetadataResponse,
180        conjure_http::private::Error,
181    >;
182    /// Create new series metadata.
183    #[endpoint(
184        method = POST,
185        path = "/timeseries/archetype/v1/series-archetype",
186        name = "create"
187    )]
188    async fn create(
189        &self,
190        #[auth]
191        auth_: conjure_object::BearerToken,
192        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
193        request: super::super::super::super::objects::timeseries::metadata::api::CreateSeriesMetadataRequest,
194    ) -> Result<(), conjure_http::private::Error>;
195    /// Idempotently creates series metadata.
196    #[endpoint(
197        method = POST,
198        path = "/timeseries/archetype/v1/series-archetype/batch-create",
199        name = "batchCreate"
200    )]
201    async fn batch_create(
202        &self,
203        #[auth]
204        auth_: conjure_object::BearerToken,
205        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
206        request: super::super::super::super::objects::timeseries::metadata::api::BatchCreateSeriesMetadataRequest,
207    ) -> Result<(), conjure_http::private::Error>;
208    /// Upserts series metadata. Creates new series metadata if it does not exist for the given channel and data
209    /// source. If it already exists, updates the locator and any provided unit and description fields while
210    /// preserving existing values for fields not supplied.
211    #[endpoint(
212        method = POST,
213        path = "/timeseries/archetype/v1/series-archetype/create-or-update",
214        name = "createOrUpdate"
215    )]
216    async fn create_or_update(
217        &self,
218        #[auth]
219        auth_: conjure_object::BearerToken,
220        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
221        request: super::super::super::super::objects::timeseries::metadata::api::CreateSeriesMetadataRequest,
222    ) -> Result<(), conjure_http::private::Error>;
223    /// Batch version of createOrUpdate.
224    #[endpoint(
225        method = POST,
226        path = "/timeseries/archetype/v1/series-archetype/batch-create-or-update",
227        name = "batchCreateOrUpdate"
228    )]
229    async fn batch_create_or_update(
230        &self,
231        #[auth]
232        auth_: conjure_object::BearerToken,
233        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
234        request: super::super::super::super::objects::timeseries::metadata::api::BatchCreateSeriesMetadataRequest,
235    ) -> Result<(), conjure_http::private::Error>;
236    /// Get series metadata from its series metadata rid.
237    #[endpoint(
238        method = GET,
239        path = "/timeseries/archetype/v1/series-archetype/{rid}",
240        name = "get",
241        produces = conjure_http::server::StdResponseSerializer
242    )]
243    async fn get(
244        &self,
245        #[auth]
246        auth_: conjure_object::BearerToken,
247        #[path(name = "rid", decoder = conjure_http::server::conjure::FromPlainDecoder)]
248        rid: conjure_object::ResourceIdentifier,
249    ) -> Result<
250        super::super::super::super::objects::timeseries::metadata::api::SeriesMetadata,
251        conjure_http::private::Error,
252    >;
253    /// Update existing series metadata.
254    /// Throws SeriesMetadataNotFound if the series metadata does not exist.
255    #[endpoint(
256        method = POST,
257        path = "/timeseries/archetype/v1/series-archetype/{rid}/metadata",
258        name = "updateMetadata",
259        produces = conjure_http::server::StdResponseSerializer
260    )]
261    async fn update_metadata(
262        &self,
263        #[auth]
264        auth_: conjure_object::BearerToken,
265        #[path(name = "rid", decoder = conjure_http::server::conjure::FromPlainDecoder)]
266        rid: conjure_object::ResourceIdentifier,
267        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
268        request: super::super::super::super::objects::timeseries::metadata::api::UpdateSeriesMetadataRequest,
269    ) -> Result<
270        super::super::super::super::objects::timeseries::metadata::api::SeriesMetadata,
271        conjure_http::private::Error,
272    >;
273    /// This endpoint lets an authorized workspace caller change how one nominal dataset channel is interpreted.
274    /// This updates metadata and future series resolution. It does not rewrite historical point rows.
275    #[endpoint(
276        method = POST,
277        path = "/timeseries/archetype/v1/series-archetype/change-data-type",
278        name = "changeDataType",
279        produces = conjure_http::server::StdResponseSerializer
280    )]
281    async fn change_data_type(
282        &self,
283        #[auth]
284        auth_: conjure_object::BearerToken,
285        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
286        request: super::super::super::super::objects::timeseries::metadata::api::ChangeDataTypeRequest,
287    ) -> Result<
288        super::super::super::super::objects::timeseries::metadata::api::ChangeDataTypeResponse,
289        conjure_http::private::Error,
290    >;
291    /// Batch creates series metadata for video channels if they don't exist.
292    /// Idempotent - returns existing SeriesMetadataRid if already exists.
293    #[endpoint(
294        method = POST,
295        path = "/timeseries/archetype/v1/series-archetype/video-channel",
296        name = "batchCreateVideoSeries",
297        produces = conjure_http::server::StdResponseSerializer
298    )]
299    async fn batch_create_video_series(
300        &self,
301        #[auth]
302        auth_: conjure_object::BearerToken,
303        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
304        request: super::super::super::super::objects::timeseries::metadata::api::BatchCreateVideoSeriesRequest,
305    ) -> Result<
306        super::super::super::super::objects::timeseries::metadata::api::BatchCreateVideoSeriesResponse,
307        conjure_http::private::Error,
308    >;
309}
310/// [INTERNAL]
311/// Series metadata represents the constant information about data in a series - specifically, the name, units, a
312/// description, and the tags. Series metadata can be used to query points from specific series depending on the tag
313/// value selections.
314#[conjure_http::conjure_endpoints(
315    name = "SeriesMetadataService",
316    use_legacy_error_serialization,
317    local
318)]
319pub trait LocalAsyncSeriesMetadataService {
320    /// Batch get series metadata by DataSourceRid.
321    #[endpoint(
322        method = POST,
323        path = "/timeseries/archetype/v1/series-archetype/batch-get",
324        name = "batchGet",
325        produces = conjure_http::server::StdResponseSerializer
326    )]
327    async fn batch_get(
328        &self,
329        #[auth]
330        auth_: conjure_object::BearerToken,
331        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
332        request: super::super::super::super::objects::timeseries::metadata::api::BatchGetSeriesMetadataRequest,
333    ) -> Result<
334        super::super::super::super::objects::timeseries::metadata::api::BatchGetSeriesMetadataResponse,
335        conjure_http::private::Error,
336    >;
337    /// Create new series metadata.
338    #[endpoint(
339        method = POST,
340        path = "/timeseries/archetype/v1/series-archetype",
341        name = "create"
342    )]
343    async fn create(
344        &self,
345        #[auth]
346        auth_: conjure_object::BearerToken,
347        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
348        request: super::super::super::super::objects::timeseries::metadata::api::CreateSeriesMetadataRequest,
349    ) -> Result<(), conjure_http::private::Error>;
350    /// Idempotently creates series metadata.
351    #[endpoint(
352        method = POST,
353        path = "/timeseries/archetype/v1/series-archetype/batch-create",
354        name = "batchCreate"
355    )]
356    async fn batch_create(
357        &self,
358        #[auth]
359        auth_: conjure_object::BearerToken,
360        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
361        request: super::super::super::super::objects::timeseries::metadata::api::BatchCreateSeriesMetadataRequest,
362    ) -> Result<(), conjure_http::private::Error>;
363    /// Upserts series metadata. Creates new series metadata if it does not exist for the given channel and data
364    /// source. If it already exists, updates the locator and any provided unit and description fields while
365    /// preserving existing values for fields not supplied.
366    #[endpoint(
367        method = POST,
368        path = "/timeseries/archetype/v1/series-archetype/create-or-update",
369        name = "createOrUpdate"
370    )]
371    async fn create_or_update(
372        &self,
373        #[auth]
374        auth_: conjure_object::BearerToken,
375        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
376        request: super::super::super::super::objects::timeseries::metadata::api::CreateSeriesMetadataRequest,
377    ) -> Result<(), conjure_http::private::Error>;
378    /// Batch version of createOrUpdate.
379    #[endpoint(
380        method = POST,
381        path = "/timeseries/archetype/v1/series-archetype/batch-create-or-update",
382        name = "batchCreateOrUpdate"
383    )]
384    async fn batch_create_or_update(
385        &self,
386        #[auth]
387        auth_: conjure_object::BearerToken,
388        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
389        request: super::super::super::super::objects::timeseries::metadata::api::BatchCreateSeriesMetadataRequest,
390    ) -> Result<(), conjure_http::private::Error>;
391    /// Get series metadata from its series metadata rid.
392    #[endpoint(
393        method = GET,
394        path = "/timeseries/archetype/v1/series-archetype/{rid}",
395        name = "get",
396        produces = conjure_http::server::StdResponseSerializer
397    )]
398    async fn get(
399        &self,
400        #[auth]
401        auth_: conjure_object::BearerToken,
402        #[path(name = "rid", decoder = conjure_http::server::conjure::FromPlainDecoder)]
403        rid: conjure_object::ResourceIdentifier,
404    ) -> Result<
405        super::super::super::super::objects::timeseries::metadata::api::SeriesMetadata,
406        conjure_http::private::Error,
407    >;
408    /// Update existing series metadata.
409    /// Throws SeriesMetadataNotFound if the series metadata does not exist.
410    #[endpoint(
411        method = POST,
412        path = "/timeseries/archetype/v1/series-archetype/{rid}/metadata",
413        name = "updateMetadata",
414        produces = conjure_http::server::StdResponseSerializer
415    )]
416    async fn update_metadata(
417        &self,
418        #[auth]
419        auth_: conjure_object::BearerToken,
420        #[path(name = "rid", decoder = conjure_http::server::conjure::FromPlainDecoder)]
421        rid: conjure_object::ResourceIdentifier,
422        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
423        request: super::super::super::super::objects::timeseries::metadata::api::UpdateSeriesMetadataRequest,
424    ) -> Result<
425        super::super::super::super::objects::timeseries::metadata::api::SeriesMetadata,
426        conjure_http::private::Error,
427    >;
428    /// This endpoint lets an authorized workspace caller change how one nominal dataset channel is interpreted.
429    /// This updates metadata and future series resolution. It does not rewrite historical point rows.
430    #[endpoint(
431        method = POST,
432        path = "/timeseries/archetype/v1/series-archetype/change-data-type",
433        name = "changeDataType",
434        produces = conjure_http::server::StdResponseSerializer
435    )]
436    async fn change_data_type(
437        &self,
438        #[auth]
439        auth_: conjure_object::BearerToken,
440        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
441        request: super::super::super::super::objects::timeseries::metadata::api::ChangeDataTypeRequest,
442    ) -> Result<
443        super::super::super::super::objects::timeseries::metadata::api::ChangeDataTypeResponse,
444        conjure_http::private::Error,
445    >;
446    /// Batch creates series metadata for video channels if they don't exist.
447    /// Idempotent - returns existing SeriesMetadataRid if already exists.
448    #[endpoint(
449        method = POST,
450        path = "/timeseries/archetype/v1/series-archetype/video-channel",
451        name = "batchCreateVideoSeries",
452        produces = conjure_http::server::StdResponseSerializer
453    )]
454    async fn batch_create_video_series(
455        &self,
456        #[auth]
457        auth_: conjure_object::BearerToken,
458        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
459        request: super::super::super::super::objects::timeseries::metadata::api::BatchCreateVideoSeriesRequest,
460    ) -> Result<
461        super::super::super::super::objects::timeseries::metadata::api::BatchCreateVideoSeriesResponse,
462        conjure_http::private::Error,
463    >;
464}