Update git remote URL from git.threefold.info to git.ourworld.tf
This commit is contained in:
15
specs/models/calendar/calendar.v
Normal file
15
specs/models/calendar/calendar.v
Normal file
@@ -0,0 +1,15 @@
|
||||
module calendar
|
||||
|
||||
import freeflowuniverse.herolib.hero.models.core
|
||||
|
||||
// Calendar represents a calendar with events and scheduling capabilities
|
||||
pub struct Calendar {
|
||||
core.Base
|
||||
pub mut:
|
||||
name string @[index]
|
||||
description string
|
||||
color string // hex color code
|
||||
timezone string
|
||||
owner_id u32 @[index]
|
||||
is_public bool
|
||||
}
|
36
specs/models/calendar/contacts.v
Normal file
36
specs/models/calendar/contacts.v
Normal file
@@ -0,0 +1,36 @@
|
||||
module calendar
|
||||
|
||||
import freeflowuniverse.herolib.hero.models.core
|
||||
|
||||
// Contact represents a contact or address book entry
|
||||
pub struct Contact {
|
||||
core.Base
|
||||
pub mut:
|
||||
name string @[index]
|
||||
email string @[index]
|
||||
phone string
|
||||
address string
|
||||
company string
|
||||
job_title string
|
||||
notes string
|
||||
tags []string
|
||||
birthday u64
|
||||
is_favorite bool
|
||||
}
|
||||
|
||||
// ContactGroup represents a group of contacts
|
||||
pub struct ContactGroup {
|
||||
core.Base
|
||||
pub mut:
|
||||
name string @[index]
|
||||
description string
|
||||
color string
|
||||
}
|
||||
|
||||
// ContactGroupMembership links contacts to groups
|
||||
pub struct ContactGroupMembership {
|
||||
core.Base
|
||||
pub mut:
|
||||
contact_id u32 @[index]
|
||||
group_id u32 @[index]
|
||||
}
|
53
specs/models/calendar/event.v
Normal file
53
specs/models/calendar/event.v
Normal file
@@ -0,0 +1,53 @@
|
||||
module calendar
|
||||
|
||||
import freeflowuniverse.herolib.hero.models.core
|
||||
|
||||
// EventStatus represents the current status of an event
|
||||
pub enum EventStatus {
|
||||
scheduled
|
||||
ongoing
|
||||
completed
|
||||
cancelled
|
||||
postponed
|
||||
}
|
||||
|
||||
// EventType categorizes different types of events
|
||||
pub enum EventType {
|
||||
meeting
|
||||
appointment
|
||||
reminder
|
||||
task
|
||||
call
|
||||
conference
|
||||
}
|
||||
|
||||
// Event represents a calendar event
|
||||
pub struct Event {
|
||||
core.Base
|
||||
pub mut:
|
||||
calendar_id u32 @[index]
|
||||
title string @[index]
|
||||
description string
|
||||
start_time u64 @[index]
|
||||
end_time u64 @[index]
|
||||
location string
|
||||
status EventStatus
|
||||
event_type EventType
|
||||
priority u8 // 1-5 scale
|
||||
is_all_day bool
|
||||
recurrence_rule string // RFC 5545 recurrence rule
|
||||
parent_event_id u32 // for recurring events
|
||||
}
|
||||
|
||||
// EventParticipant represents a participant in an event
|
||||
pub struct EventParticipant {
|
||||
core.Base
|
||||
pub mut:
|
||||
event_id u32 @[index]
|
||||
user_id u32 @[index]
|
||||
email string @[index]
|
||||
name string
|
||||
role string // attendee, organizer, optional
|
||||
status string // accepted, declined, tentative, pending
|
||||
response_time u64
|
||||
}
|
49
specs/models/calendar/message.v
Normal file
49
specs/models/calendar/message.v
Normal file
@@ -0,0 +1,49 @@
|
||||
module calendar
|
||||
|
||||
import freeflowuniverse.herolib.hero.models.core
|
||||
|
||||
// MessageStatus represents the delivery status of a message
|
||||
pub enum MessageStatus {
|
||||
draft
|
||||
sent
|
||||
delivered
|
||||
read
|
||||
failed
|
||||
}
|
||||
|
||||
// MessageType categorizes different types of messages
|
||||
pub enum MessageType {
|
||||
email
|
||||
sms
|
||||
notification
|
||||
reminder
|
||||
}
|
||||
|
||||
// Message represents a communication message
|
||||
pub struct Message {
|
||||
core.Base
|
||||
pub mut:
|
||||
sender_id u32 @[index]
|
||||
recipient_id u32 @[index]
|
||||
subject string
|
||||
body string
|
||||
message_type MessageType
|
||||
status MessageStatus
|
||||
scheduled_at u64
|
||||
sent_at u64
|
||||
read_at u64
|
||||
priority u8 // 1-5 scale
|
||||
attachments []string // file paths or URLs
|
||||
tags []string
|
||||
}
|
||||
|
||||
// Reminder represents a scheduled reminder
|
||||
pub struct Reminder {
|
||||
core.Base
|
||||
pub mut:
|
||||
event_id u32 @[index]
|
||||
message string
|
||||
reminder_time u64 @[index]
|
||||
is_sent bool
|
||||
snooze_count u8
|
||||
}
|
Reference in New Issue
Block a user