Update git remote URL from git.threefold.info to git.ourworld.tf
This commit is contained in:
		
							
								
								
									
										24
									
								
								specs/models/gov/committee.v
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								specs/models/gov/committee.v
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
module gov
 | 
			
		||||
 | 
			
		||||
import freeflowuniverse.herolib.hero.models.core
 | 
			
		||||
 | 
			
		||||
// CommitteeMember represents a member of a committee
 | 
			
		||||
pub struct CommitteeMember {
 | 
			
		||||
	core.Base
 | 
			
		||||
pub mut:
 | 
			
		||||
	user_id     u32
 | 
			
		||||
	name        string
 | 
			
		||||
	role        CommitteeRole
 | 
			
		||||
	joined_date u64 // Unix timestamp
 | 
			
		||||
	notes       string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Committee represents a committee in the governance system
 | 
			
		||||
pub struct Committee {
 | 
			
		||||
	core.Base
 | 
			
		||||
pub mut:
 | 
			
		||||
	company_id  u32    @[index]
 | 
			
		||||
	name        string @[index]
 | 
			
		||||
	description string
 | 
			
		||||
	members     []CommitteeMember
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										28
									
								
								specs/models/gov/company.v
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								specs/models/gov/company.v
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
module gov
 | 
			
		||||
 | 
			
		||||
import freeflowuniverse.herolib.hero.models.core
 | 
			
		||||
 | 
			
		||||
// BusinessType represents the type of a business
 | 
			
		||||
pub struct BusinessType {
 | 
			
		||||
pub mut:
 | 
			
		||||
	type_name   string
 | 
			
		||||
	description string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Company represents a company in the governance system
 | 
			
		||||
pub struct Company {
 | 
			
		||||
	core.Base
 | 
			
		||||
pub mut:
 | 
			
		||||
	name                string @[index]
 | 
			
		||||
	registration_number string @[index]
 | 
			
		||||
	incorporation_date  u64 // Unix timestamp
 | 
			
		||||
	fiscal_year_end     string
 | 
			
		||||
	email               string
 | 
			
		||||
	phone               string
 | 
			
		||||
	website             string
 | 
			
		||||
	address             string
 | 
			
		||||
	business_type       BusinessType
 | 
			
		||||
	industry            string
 | 
			
		||||
	description         string
 | 
			
		||||
	status              CompanyStatus
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										30
									
								
								specs/models/gov/meeting.v
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								specs/models/gov/meeting.v
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
module gov
 | 
			
		||||
 | 
			
		||||
import freeflowuniverse.herolib.hero.models.core
 | 
			
		||||
 | 
			
		||||
// Attendee represents an attendee of a meeting
 | 
			
		||||
pub struct Attendee {
 | 
			
		||||
pub mut:
 | 
			
		||||
	user_id u32
 | 
			
		||||
	name    string
 | 
			
		||||
	role    string
 | 
			
		||||
	status  AttendanceStatus
 | 
			
		||||
	notes   string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Meeting represents a meeting in the governance system
 | 
			
		||||
pub struct Meeting {
 | 
			
		||||
	core.Base
 | 
			
		||||
pub mut:
 | 
			
		||||
	company_id   u32    @[index]
 | 
			
		||||
	title        string @[index]
 | 
			
		||||
	description  string
 | 
			
		||||
	meeting_type MeetingType
 | 
			
		||||
	status       MeetingStatus
 | 
			
		||||
	start_time   u64 // Unix timestamp
 | 
			
		||||
	end_time     u64 // Unix timestamp
 | 
			
		||||
	location     string
 | 
			
		||||
	agenda       string
 | 
			
		||||
	minutes      string
 | 
			
		||||
	attendees    []Attendee
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								specs/models/gov/resolution.v
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								specs/models/gov/resolution.v
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
module gov
 | 
			
		||||
 | 
			
		||||
import freeflowuniverse.herolib.hero.models.core
 | 
			
		||||
 | 
			
		||||
// Resolution represents a resolution in the governance system
 | 
			
		||||
pub struct Resolution {
 | 
			
		||||
	core.Base
 | 
			
		||||
pub mut:
 | 
			
		||||
	company_id      u32    @[index]
 | 
			
		||||
	title           string @[index]
 | 
			
		||||
	description     string
 | 
			
		||||
	resolution_type ResolutionType
 | 
			
		||||
	status          ResolutionStatus
 | 
			
		||||
	proposed_date   u64  // Unix timestamp
 | 
			
		||||
	effective_date  ?u64 // Unix timestamp
 | 
			
		||||
	expiry_date     ?u64 // Unix timestamp
 | 
			
		||||
	approvals       []string
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								specs/models/gov/shareholder.v
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								specs/models/gov/shareholder.v
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
module gov
 | 
			
		||||
 | 
			
		||||
import freeflowuniverse.herolib.hero.models.core
 | 
			
		||||
 | 
			
		||||
// Shareholder represents a shareholder in the governance system
 | 
			
		||||
pub struct Shareholder {
 | 
			
		||||
	core.Base
 | 
			
		||||
pub mut:
 | 
			
		||||
	company_id       u32    @[index]
 | 
			
		||||
	name             string @[index]
 | 
			
		||||
	shareholder_type ShareholderType
 | 
			
		||||
	contact_info     string @[index]
 | 
			
		||||
	shares           u32
 | 
			
		||||
	percentage       f64
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										82
									
								
								specs/models/gov/types.v
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								specs/models/gov/types.v
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,82 @@
 | 
			
		||||
module gov
 | 
			
		||||
 | 
			
		||||
pub enum CompanyStatus {
 | 
			
		||||
	active
 | 
			
		||||
	inactive
 | 
			
		||||
	dissolved
 | 
			
		||||
	suspended
 | 
			
		||||
	pending
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub enum ShareholderType {
 | 
			
		||||
	individual
 | 
			
		||||
	corporate
 | 
			
		||||
	trust
 | 
			
		||||
	partnership
 | 
			
		||||
	government
 | 
			
		||||
	other
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub enum CommitteeRole {
 | 
			
		||||
	chair
 | 
			
		||||
	vice_chair
 | 
			
		||||
	secretary
 | 
			
		||||
	treasurer
 | 
			
		||||
	member
 | 
			
		||||
	observer
 | 
			
		||||
	advisor
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub enum MeetingStatus {
 | 
			
		||||
	scheduled
 | 
			
		||||
	in_progress
 | 
			
		||||
	completed
 | 
			
		||||
	cancelled
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub enum MeetingType {
 | 
			
		||||
	board_meeting
 | 
			
		||||
	committee_meeting
 | 
			
		||||
	general_assembly
 | 
			
		||||
	annual_general_meeting
 | 
			
		||||
	extraordinary_general_meeting
 | 
			
		||||
	other
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub enum AttendanceStatus {
 | 
			
		||||
	invited
 | 
			
		||||
	confirmed
 | 
			
		||||
	declined
 | 
			
		||||
	attended
 | 
			
		||||
	absent
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub enum ResolutionStatus {
 | 
			
		||||
	draft
 | 
			
		||||
	proposed
 | 
			
		||||
	approved
 | 
			
		||||
	rejected
 | 
			
		||||
	expired
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub enum ResolutionType {
 | 
			
		||||
	ordinary
 | 
			
		||||
	special
 | 
			
		||||
	unanimous
 | 
			
		||||
	written
 | 
			
		||||
	other
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub enum VoteStatus {
 | 
			
		||||
	draft
 | 
			
		||||
	open
 | 
			
		||||
	closed
 | 
			
		||||
	cancelled
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub enum VoteOption {
 | 
			
		||||
	yes
 | 
			
		||||
	no
 | 
			
		||||
	abstain
 | 
			
		||||
	custom
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										12
									
								
								specs/models/gov/user.v
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								specs/models/gov/user.v
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
module gov
 | 
			
		||||
 | 
			
		||||
import freeflowuniverse.herolib.hero.models.core
 | 
			
		||||
 | 
			
		||||
// User represents a user in the governance system
 | 
			
		||||
pub struct User {
 | 
			
		||||
	core.Base
 | 
			
		||||
pub mut:
 | 
			
		||||
	name  string @[index]
 | 
			
		||||
	email string @[index]
 | 
			
		||||
	role  string
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										27
									
								
								specs/models/gov/vote.v
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								specs/models/gov/vote.v
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
module gov
 | 
			
		||||
 | 
			
		||||
import freeflowuniverse.herolib.hero.models.core
 | 
			
		||||
 | 
			
		||||
// Ballot represents a ballot cast in a vote
 | 
			
		||||
pub struct Ballot {
 | 
			
		||||
pub mut:
 | 
			
		||||
	user_id u32
 | 
			
		||||
	option  VoteOption
 | 
			
		||||
	weight  f64
 | 
			
		||||
	cast_at u64 // Unix timestamp
 | 
			
		||||
	notes   string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Vote represents a vote in the governance system
 | 
			
		||||
pub struct Vote {
 | 
			
		||||
	core.Base
 | 
			
		||||
pub mut:
 | 
			
		||||
	company_id    u32    @[index]
 | 
			
		||||
	resolution_id u32    @[index]
 | 
			
		||||
	title         string @[index]
 | 
			
		||||
	description   string
 | 
			
		||||
	status        VoteStatus
 | 
			
		||||
	start_date    u64 // Unix timestamp
 | 
			
		||||
	end_date      u64 // Unix timestamp
 | 
			
		||||
	ballots       []Ballot
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user