userlib/dto/
user_role_response.rs

1use 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 {}