Update git remote URL from git.threefold.info to git.ourworld.tf

This commit is contained in:
2025-08-04 10:44:17 +02:00
parent 0cf66642a2
commit aa7e79d26c
85 changed files with 1865 additions and 392 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

@@ -0,0 +1,36 @@
module circle
import base
// Define the RecordType enum
pub enum RecordType {
a
aaa
cname
mx
ns
ptr
soa
srv
txt
}
// Define the DomainNamespace struct, represents a full domain with all its records
pub struct DomainNameSpace {
base.Base
pub mut:
id u32
domain string
description string
records []Record
admins []u32 // IDs of the admins they need to exist as user in the circle
}
// Define the Record struct
pub struct Record {
pub mut:
name string
text string
category RecordType
addr []string
}

View File

@@ -0,0 +1,12 @@
module circle
import base
// there is one group called "everyone" which is the default group for all members and their roles
pub struct Group {
base.Base
pub mut:
name string // name of the group in a circle, the one "everyone" is the default group
description string // optional description
members []u32 // pointers to the members of this group
}

View File

@@ -0,0 +1,42 @@
module circle
import freeflowuniverse.herolib.data.ourtime
import base
// Role represents the role of a member in a circle
pub enum Role {
admin
stakeholder
member
contributor
guest
external // means no right in this circle appart from we register this user
}
// 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:
name string // name of the member as used in this circle
description string // optional description which is relevant to this circle
role Role // role of the member in the circle
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
}