userlib/dto/
user_role_response.rs1use common::entity::DtoResp;
2use common::enums::roles::Roles;
3use common::enums::status::Status;
4use common::enums::subject::Subject;
5use serde::{Deserialize, Serialize};
6use uuid::Uuid;
7
8#[derive(Serialize, Deserialize, Debug, Clone)]
9#[serde(rename_all = "camelCase")]
10pub struct UserRoleResponse {
11 #[serde(skip_serializing_if = "Option::is_none")]
12 pub name: Option<String>,
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub is_collaborator: Option<i32>,
15 pub priority: i32,
16 #[serde(skip_serializing_if = "Option::is_none")]
17 pub is_first_login: Option<bool>,
18 #[serde(skip_serializing_if = "Option::is_none")]
19 pub need_help: Option<bool>,
20 #[serde(skip_serializing_if = "Option::is_none")]
21 pub parent_type: Option<i32>,
22 pub id: Uuid,
23 pub user: Uuid,
24 pub organization: Uuid,
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub child: Option<Uuid>,
27 #[serde(skip_serializing_if = "Option::is_none")]
28 pub school_class: Option<Uuid>,
29 #[serde(rename = "role")]
30 pub role_name: Roles,
31 pub status: Status,
32 pub administration_allowed: bool,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 pub subjects: Option<Vec<Subject>>,
35}
36
37impl DtoResp for UserRoleResponse {}