Skip to main content

trailcache_core/models/
mod.rs

1//! Data models for Scout troop entities.
2//!
3//! This module contains all the data structures used to represent
4//! troop data including:
5//!
6//! - `Youth`, `Adult`, `Parent`: Person models with contact info
7//! - `Event`, `EventGuest`: Calendar events and RSVP tracking
8//! - `Patrol`: Troop organization structure
9//! - Advancement types: `RankProgress`, `MeritBadgeProgress`, etc.
10//! - Unit types: `Key3Leaders`, `UnitInfo`, `OrgProfile`, `Commissioner`
11
12pub mod advancement;
13pub mod event;
14pub mod organization;
15pub mod person;
16pub mod pivot;
17pub mod sorting;
18pub mod stats;
19pub mod unit;
20
21pub use advancement::{
22    format_date, AdvancementDashboard, Award, BadgeSummary, DEFAULT_AWARD_STATUS,
23    DEFAULT_BADGE_STATUS, EAGLE_REQUIRED_COUNT, LeadershipPosition, MeritBadgeCatalogEntry,
24    MeritBadgeProgress, MeritBadgeRequirement, MeritBadgeWithRequirements, RankProgress,
25    RankRequirement, RankWithRequirements, RanksResponse, ReadyToAward, ScoutRank,
26    StatusCategory, STATUS_AWARDED, STATUS_COUNSELOR_APPROVED, STATUS_LEADER_APPROVED,
27    UNKNOWN_DATE,
28};
29pub use event::{Event, EventGuest, EventSortColumn, RsvpStatus};
30pub use organization::Patrol;
31pub use person::{Adult, AdultSortColumn, DEFAULT_ADULT_ROLE, DISPLAY_NOT_TRAINED, OrgAdultsResponse, OrgYouthsResponse, Parent, ParentResponse, PROGRAM_ID_SCOUTS_BSA, PROGRAM_SCOUTS_BSA, ScoutSortColumn, UnitYouthsResponse, Youth, youth_position_list, YOUTH_POSITION_PRIORITY};
32pub use sorting::{sort_requirements, HasRequirementNumber};
33pub use stats::{patrol_rank_breakdown, PatrolBreakdown, RenewalStats, TrainingStats};
34pub use unit::{Commissioner, Key3Leaders, Leader, MeetingLocation, OrgProfile, UnitContact, UnitInfo};