pub mod authorization;
use crate::common::domain::Group;
use crate::common::domain::utils::new_type::new_type;
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(any(test, feature = "fake"), derive(fake::Dummy))]
pub struct Project {
pub id: ProjectId,
pub name: ProjectName,
pub description: Option<ProjectDescription>,
pub groups: Vec<Group>,
}
new_type![
#[derive(serde::Deserialize, serde::Serialize)]
ProjectId(String)
];
new_type![
#[derive(serde::Deserialize, serde::Serialize)]
ProjectName(
#[cfg_attr(test, dummy(faker = "fake::faker::name::en::Name()"))]
String
)
];
new_type![
#[derive(serde::Deserialize, serde::Serialize)]
ProjectDescription(String)
];