This commit is contained in:
2025-05-09 13:27:35 +03:00
parent 04ee493cd9
commit f388fde388
8 changed files with 570 additions and 50 deletions

View File

@@ -0,0 +1,15 @@
module circle
// Attachment represents an attachment usable for any object
// such as email, chat, etc.
// It is a generic struct that can be used for any object
// that requires an attachment.
pub struct Attachment {
pub mut:
filename string
content_type string
hash string // Hash of the attachment data
size u32 // Size in bytes
}

View File

@@ -0,0 +1,39 @@
module mcc
import base
//there is only 1 of this per circle called "configs"
pub struct Configs {
base.Base
pub mut:
configs map[string]Config //string is namefixed
}
//generic config per circle, can be more than 1
pub struct Config {
base.Base
pub mut:
name string
labels []Label
colors []Color
}
pub struct Label {
base.Base
pub mut:
name string
comment string
color u16
}
pub struct Color {
base.Base
pub mut:
id u16
name string
comment string
colorcode string //hex color code
}

View File

@@ -1,6 +1,6 @@
module circle
// import freeflowuniverse.herolib.data.ourtime
import freeflowuniverse.herolib.data.ourtime
import base
// Role represents the role of a member in a circle
@@ -13,7 +13,17 @@ pub enum Role {
external // means no right in this circle appart from we register this user
}
// Member represents a member of a circle
// UserPreferences represents user preferences for MCC
pub struct UserPreferences {
pub mut:
default_calendar_id u32 // Default calendar ID
default_view string // Default view (day, week, month)
email_signature string // Default email signature
theme string // UI theme preference
notifications bool // Enable/disable notifications
}
// User represents a member of a circle
pub struct User {
base.Base
pub mut:
@@ -23,5 +33,10 @@ pub mut:
contact_ids []u32 // IDs of contacts linked to this member
wallet_ids []u32 // IDs of wallets owned by this member which are relevant to this circle
pubkey string // public key of the member as used in this circle
// Additional fields needed for MCC functionality
email string // Primary email address
timezone string // User's preferred timezone
preferences UserPreferences // User preferences for MCC
}