userlib/dto/
user_role_request.rs1use 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 {}