59 lines
1.1 KiB
V
59 lines
1.1 KiB
V
module biz
|
|
import base
|
|
|
|
import freeflowuniverse.herolib.data.ourtime
|
|
|
|
|
|
// MeetingStatus represents the status of a meeting
|
|
pub enum MeetingStatus {
|
|
scheduled
|
|
completed
|
|
cancelled
|
|
}
|
|
|
|
// AttendeeRole represents the role of an attendee in a meeting
|
|
pub enum AttendeeRole {
|
|
coordinator
|
|
member
|
|
secretary
|
|
participant
|
|
advisor
|
|
admin
|
|
}
|
|
|
|
// AttendeeStatus represents the status of an attendee's participation
|
|
pub enum AttendeeStatus {
|
|
confirmed
|
|
pending
|
|
declined
|
|
}
|
|
|
|
// Meeting represents a board meeting of a company or other meeting
|
|
pub struct Meeting {
|
|
base.Base // Base struct for common fields
|
|
pub mut:
|
|
id u32
|
|
company_id u32
|
|
title string
|
|
date ourtime.OurTime
|
|
location string
|
|
description string
|
|
status MeetingStatus
|
|
minutes string
|
|
created_at ourtime.OurTime
|
|
updated_at ourtime.OurTime
|
|
attendees []Attendee
|
|
}
|
|
|
|
// Attendee represents an attendee of a board meeting
|
|
pub struct Attendee {
|
|
pub mut:
|
|
id u32
|
|
meeting_id u32
|
|
user_id u32
|
|
name string
|
|
role AttendeeRole
|
|
status AttendeeStatus
|
|
created_at ourtime.OurTime
|
|
}
|