userlib/dto/
user_role_java_model.rsuse 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 is_first_login: Option<bool>,
pub need_help: Option<bool>,
pub parent_type: Option<i32>,
pub id: Uuid,
#[serde(rename = "user")]
pub user_t: UserResponse,
pub organization: OrganizationResponse,
pub child: Option<Uuid>,
pub school_class: Option<Uuid>,
#[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(),
is_first_login: ur.is_first_login.clone(),
need_help: ur.need_help.clone(),
parent_type: ur.parent_type.clone(),
id: ur.id.clone(),
user_t: u,
organization: o,
child: None,
school_class: ur.school_class.clone(),
role_name: ur.role_name.clone(),
status: ur.status.clone(),
}
}
}