cognite/dto/iam/
security_category.rs1use serde::{Deserialize, Serialize};
2
3use crate::{models::SortDirection, to_query, IntoParams, SetCursor};
4
5#[derive(Serialize, Deserialize, Debug, Clone)]
6#[serde(rename_all = "camelCase")]
7pub struct AddSecurityCategory {
9 pub name: String,
11}
12
13#[derive(Serialize, Deserialize, Debug, Clone)]
14#[serde(rename_all = "camelCase")]
15pub struct SecurityCategory {
17 pub name: String,
19 pub id: u64,
21}
22
23#[derive(Debug, Default)]
24pub struct SecurityCategoryQuery {
26 pub sort: Option<SortDirection>,
28 pub cursor: Option<String>,
30 pub limit: Option<i32>,
32}
33
34impl IntoParams for SecurityCategoryQuery {
35 fn into_params(self) -> Vec<(String, String)> {
36 let mut params = Vec::<(String, String)>::new();
37 to_query(
38 "sort",
39 &self.sort.as_ref().map(|f| match f {
40 SortDirection::Ascending => "ASC",
41 SortDirection::Descending => "DESC",
42 }),
43 &mut params,
44 );
45 to_query("cursor", &self.cursor, &mut params);
46 to_query("limit", &self.limit, &mut params);
47 params
48 }
49}
50
51impl SetCursor for SecurityCategoryQuery {
52 fn set_cursor(&mut self, cursor: Option<String>) {
53 self.cursor = cursor;
54 }
55}