Skip to main content

Module models

Module models 

Source
Expand description

Data models for Scout troop entities.

This module contains all the data structures used to represent troop data including:

  • Youth, Adult, Parent: Person models with contact info
  • Event, EventGuest: Calendar events and RSVP tracking
  • Patrol: Troop organization structure
  • Advancement types: RankProgress, MeritBadgeProgress, etc.
  • Unit types: Key3Leaders, UnitInfo, OrgProfile, Commissioner

Re-exports§

pub use advancement::format_date;
pub use advancement::AdvancementDashboard;
pub use advancement::Award;
pub use advancement::BadgeSummary;
pub use advancement::DEFAULT_AWARD_STATUS;
pub use advancement::DEFAULT_BADGE_STATUS;
pub use advancement::EAGLE_REQUIRED_COUNT;
pub use advancement::LeadershipPosition;
pub use advancement::MeritBadgeCatalogEntry;
pub use advancement::MeritBadgeProgress;
pub use advancement::MeritBadgeRequirement;
pub use advancement::MeritBadgeWithRequirements;
pub use advancement::RankProgress;
pub use advancement::RankRequirement;
pub use advancement::RankWithRequirements;
pub use advancement::RanksResponse;
pub use advancement::ReadyToAward;
pub use advancement::ScoutRank;
pub use advancement::StatusCategory;
pub use advancement::STATUS_AWARDED;
pub use advancement::STATUS_COUNSELOR_APPROVED;
pub use advancement::STATUS_LEADER_APPROVED;
pub use advancement::UNKNOWN_DATE;
pub use event::Event;
pub use event::EventGuest;
pub use event::EventSortColumn;
pub use event::RsvpStatus;
pub use organization::Patrol;
pub use person::Adult;
pub use person::AdultSortColumn;
pub use person::DEFAULT_ADULT_ROLE;
pub use person::DISPLAY_NOT_TRAINED;
pub use person::OrgAdultsResponse;
pub use person::OrgYouthsResponse;
pub use person::Parent;
pub use person::ParentResponse;
pub use person::PROGRAM_ID_SCOUTS_BSA;
pub use person::PROGRAM_SCOUTS_BSA;
pub use person::ScoutSortColumn;
pub use person::UnitYouthsResponse;
pub use person::Youth;
pub use person::youth_position_list;
pub use person::YOUTH_POSITION_PRIORITY;
pub use sorting::sort_requirements;
pub use sorting::HasRequirementNumber;
pub use stats::patrol_rank_breakdown;
pub use stats::PatrolBreakdown;
pub use stats::RenewalStats;
pub use stats::TrainingStats;
pub use unit::Commissioner;
pub use unit::Key3Leaders;
pub use unit::Leader;
pub use unit::MeetingLocation;
pub use unit::OrgProfile;
pub use unit::UnitContact;
pub use unit::UnitInfo;

Modules§

advancement
event
organization
person
pivot
Pivot aggregation logic shared across all interfaces.
sorting
Requirement sorting utilities shared across all interfaces.
stats
Aggregate statistics computed over collections of model objects.
unit
Domain models for unit/troop information.