postmasterlib/dto/
user_role_java_model.rsuse chrono::NaiveDateTime;
use common::enums::r_status::RStatus;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::dto::organization::Organization;
use crate::dto::user::User;
use crate::dto::user_role::UserRole;
#[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>,
#[serde(rename = "id")]
pub uuid: Uuid,
pub updu: Option<Uuid>,
#[serde(rename = "user")]
pub user_t: User,
pub organization: Organization,
pub child: Option<Uuid>,
pub school_class: Option<Uuid>,
pub rstatus: Option<RStatus>,
#[serde(rename = "role")]
pub role_name: String,
#[serde(rename = "status")]
pub status_name: String,
}
impl UserRoleJavaModel {
pub fn from_user_role_and_user(ur: &UserRole, u: User, o: Organization) -> 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(),
uuid: ur.uuid.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_name: ur.status_name.clone(),
}
}
}