userlib/dto/
user_role_java_model.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
use serde::{Deserialize, Serialize};
use uuid::Uuid;

use crate::dto::organization_response::OrganizationResponse;
use crate::dto::user_response::UserResponse;
use crate::dto::user_role_response::UserRoleResponse;

#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
#[serde(rename_all = "camelCase")]
pub struct UserRoleJavaModel {
    pub name: Option<String>,
    pub is_collaborator: Option<i32>,
    pub priority: i32,
    // pub updt: Option<NaiveDateTime>,
    // pub ver: i32,
    pub is_first_login: Option<bool>,
    pub need_help: Option<bool>,
    pub parent_type: Option<i32>,
    pub id: Uuid,
    // pub updu: Option<Uuid>,
    #[serde(rename = "user")]
    pub user_t: UserResponse,
    pub organization: OrganizationResponse,
    pub child: Option<Uuid>,
    pub school_class: Option<Uuid>,
    // pub rstatus: Option<RStatus>,
    #[serde(rename = "role")]
    pub role_name: String,
    pub status: String,
}

impl UserRoleJavaModel {
    pub fn from_user_role_and_user(
        ur: &UserRoleResponse,
        u: UserResponse,
        o: OrganizationResponse,
    ) -> UserRoleJavaModel {
        UserRoleJavaModel {
            name: ur.name.clone(),
            is_collaborator: ur.is_collaborator.clone(),
            priority: ur.priority.clone(),
            // updt: ur.updt.clone(),
            // ver: ur.ver.clone(),
            is_first_login: ur.is_first_login.clone(),
            need_help: ur.need_help.clone(),
            parent_type: ur.parent_type.clone(),
            id: ur.id.clone(),
            // updu: ur.updu.clone(),
            user_t: u,
            organization: o,
            child: None,
            school_class: ur.school_class.clone(),
            // rstatus: ur.rstatus.clone(),
            role_name: ur.role_name.clone(),
            status: ur.status.clone(),
        }
    }
}