use crate::model::{shared, types};
use serde::{Deserialize, Serialize};
#[derive(Debug, PartialEq, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Roles {
pub results: Vec<Role>,
pub has_more: bool,
}
#[derive(Debug, PartialEq, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Role {
pub id: types::UUID,
pub name: String,
pub is_active: bool,
pub is_billable: bool,
pub rate: Option<f64>,
pub created_at: types::Timestamp,
pub project: shared::Project,
pub discipline: shared::Entity,
pub budget: Option<Budget>,
pub monthly_budget: Option<Budget>,
}
#[derive(PartialEq, Deserialize, Serialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct Budget {
pub billable_hours: Option<i64>,
pub non_billable_hours: i64,
}
#[cfg(test)]
mod tests;