cognite/api/data_organization/
datasets.rs1use serde::Serialize;
2
3use crate::api::resource::*;
4use crate::dto::{
5 data_organization::datasets::*,
6 items::{Cursor, ItemsVec},
7};
8use crate::error::Result;
9use crate::{Filter, IdentityList, Patch};
10
11pub type DataSetsResource = Resource<DataSet>;
13
14impl WithBasePath for DataSetsResource {
15 const BASE_PATH: &'static str = "datasets";
16}
17
18impl Create<AddDataSet, DataSet> for DataSetsResource {}
19impl<R> RetrieveWithIgnoreUnknownIds<IdentityList<R>, DataSet> for DataSetsResource
20where
21 IdentityList<R>: Serialize,
22 R: Send + Sync,
23{
24}
25impl Update<Patch<PatchDataSet>, DataSet> for DataSetsResource {}
26impl FilterItems<DataSetFilter, DataSet> for DataSetsResource {}
27
28impl DataSetsResource {
29 pub async fn count(&self, filter: DataSetFilter) -> Result<DataSetsCount> {
35 let query = Filter::<DataSetFilter>::new(filter, None, None);
36 let result: ItemsVec<DataSetsCount, Cursor> =
37 self.api_client.post("datasets/aggregate", &query).await?;
38 Ok(result.items.into_iter().next().unwrap())
39 }
40}