model spec
This commit is contained in:
58
specs/models/biz/meeting.v
Normal file
58
specs/models/biz/meeting.v
Normal file
@@ -0,0 +1,58 @@
|
||||
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
|
||||
}
|
Reference in New Issue
Block a user