nblm_core/models/enterprise/
share.rs1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4use serde_json::Value;
5
6#[derive(Debug, Clone, Serialize, Deserialize, Default)]
7#[serde(rename_all = "camelCase")]
8pub struct AccountRole {
9 pub email: String,
10 pub role: ProjectRole,
11}
12
13#[derive(Debug, Clone, Copy, Serialize, Deserialize, Default, PartialEq, Eq)]
14#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
15pub enum ProjectRole {
16 ProjectRoleOwner,
17 ProjectRoleWriter,
18 #[default]
19 ProjectRoleReader,
20 ProjectRoleNotShared,
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize, Default)]
24#[serde(rename_all = "camelCase")]
25pub struct ShareResponse {
26 #[serde(skip_serializing_if = "Option::is_none")]
27 pub granted: Option<i32>,
28 #[serde(flatten)]
29 pub extra: HashMap<String, Value>,
30}