pub struct Project {Show 15 fields
pub id: String,
pub name: String,
pub start: NaiveDate,
pub end: Option<NaiveDate>,
pub status_date: Option<NaiveDate>,
pub calendar: CalendarId,
pub currency: String,
pub tasks: Vec<Task>,
pub resources: Vec<Resource>,
pub calendars: Vec<Calendar>,
pub scenarios: Vec<Scenario>,
pub attributes: HashMap<String, String>,
pub profiles: Vec<ResourceProfile>,
pub traits: Vec<Trait>,
pub cost_policy: CostPolicy,
}Expand description
A complete project definition
Fields§
§id: StringUnique identifier
name: StringHuman-readable name
start: NaiveDateProject start date
end: Option<NaiveDate>Project end date (optional, can be computed)
status_date: Option<NaiveDate>Status date for progress-aware scheduling (RFC-0004) When set, remaining work schedules from this date
calendar: CalendarIdDefault calendar for the project
currency: StringCurrency for cost calculations
tasks: Vec<Task>All tasks in the project (may be hierarchical)
resources: Vec<Resource>All resources available to the project
calendars: Vec<Calendar>Calendar definitions
scenarios: Vec<Scenario>Scenario definitions (for what-if analysis)
attributes: HashMap<String, String>Custom attributes (timezone, etc.)
profiles: Vec<ResourceProfile>Resource profiles (abstract roles/capabilities)
traits: Vec<Trait>Trait definitions (rate modifiers)
cost_policy: CostPolicyPolicy for calculating expected cost from ranges
Implementations§
Source§impl Project
impl Project
Sourcepub fn get_resource(&self, id: &str) -> Option<&Resource>
pub fn get_resource(&self, id: &str) -> Option<&Resource>
Get a resource by ID
Sourcepub fn get_profile(&self, id: &str) -> Option<&ResourceProfile>
pub fn get_profile(&self, id: &str) -> Option<&ResourceProfile>
Get a resource profile by ID (RFC-0001)
Sourcepub fn leaf_tasks(&self) -> Vec<&Task>
pub fn leaf_tasks(&self) -> Vec<&Task>
Get all leaf tasks (tasks without children)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Project
impl<'de> Deserialize<'de> for Project
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Project
impl RefUnwindSafe for Project
impl Send for Project
impl Sync for Project
impl Unpin for Project
impl UnwindSafe for Project
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more