userlib/dto/
user_role_request.rs

1use common::entity::DtoReq;
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)]
9#[serde(rename_all = "camelCase")]
10pub struct UserRoleRequest {
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    #[serde(skip_serializing_if = "Option::is_none")]
16    pub priority: Option<i32>,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub need_help: Option<bool>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub parent_type: Option<i32>,
21    #[serde(skip_serializing_if = "Option::is_none")]
22    #[serde(rename = "user")]
23    pub user_t: Option<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    #[serde(skip_serializing_if = "Option::is_none")]
32    pub status: Option<Status>,
33    #[serde(skip_serializing_if = "Option::is_none")]
34    pub subgroups: Option<Vec<Uuid>>,
35    #[serde(skip_serializing_if = "Option::is_none")]
36    pub subjects: Option<Vec<Subject>>,
37}
38
39impl DtoReq for UserRoleRequest {}