...
This commit is contained in:
15
specs/models/circle/attachment.v
Normal file
15
specs/models/circle/attachment.v
Normal 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
|
||||
}
|
39
specs/models/circle/config.v
Normal file
39
specs/models/circle/config.v
Normal 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
|
||||
}
|
||||
|
@@ -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
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user