projectlib/jsonb/
project_user.rsuse common::enums::status::Status;
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::enums::participant_type::ParticipantType;
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct ProjectUser {
pub id: Uuid,
pub group_role: ParticipantType,
pub status: Status,
}
impl ProjectUser {
pub fn normalize(&self) -> ProjectUser {
ProjectUser {
id: self.id,
group_role: self.group_role.clone(),
status: self.status.clone(),
}
}
pub fn add_requested_user(&self) -> ProjectUser {
ProjectUser {
id: self.id,
group_role: self.group_role.clone(),
status: Status::Requested,
}
}
}