...
This commit is contained in:
parent
33d7eafeac
commit
993fa2adcd
7
specs/models_threefold/aiinstruct.md
Normal file
7
specs/models_threefold/aiinstruct.md
Normal file
@ -0,0 +1,7 @@
|
||||
make SQL script to populate DB
|
||||
|
||||
only models with base class are put in tables
|
||||
|
||||
the data itself is in data field
|
||||
|
||||
the fields marked with @index go as separate fields in tables
|
1
specs/models_threefold/core
Symbolic link
1
specs/models_threefold/core
Symbolic link
@ -0,0 +1 @@
|
||||
../models_heroledger/core
|
31
specs/models_threefold/main/secretbox.v
Normal file
31
specs/models_threefold/main/secretbox.v
Normal file
@ -0,0 +1,31 @@
|
||||
module main
|
||||
|
||||
pub struct SecretBox {
|
||||
pub mut:
|
||||
notary_id u32 // person who is allowed to decrypt this info
|
||||
value string //the actual incrypted value
|
||||
version u16 //version of the schema used to encrypt this value
|
||||
timestamp u64
|
||||
cat SecretBoxCategory //category of the secret box, e.g. profile
|
||||
}
|
||||
|
||||
pub enum SecretBoxCategory {
|
||||
profile
|
||||
}
|
||||
|
||||
pub struct Notary {
|
||||
core.Base
|
||||
pub mut:
|
||||
userid u32 // Reference to the user entity @[index]
|
||||
status NotaryStatus // Current user status
|
||||
myceliumaddress string // Mycelium address of the notary
|
||||
pubkey string // Public key for cryptographic operations @[index]
|
||||
}
|
||||
|
||||
pub enum NotaryStatus {
|
||||
active
|
||||
inactive
|
||||
suspended
|
||||
archived
|
||||
error
|
||||
}
|
32
specs/models_threefold/main/signature.v
Normal file
32
specs/models_threefold/main/signature.v
Normal file
@ -0,0 +1,32 @@
|
||||
module circle
|
||||
|
||||
import freeflowuniverse.herolib.hero.models.core
|
||||
|
||||
// Wallet represents a wallet associated with a circle for financial operations
|
||||
pub struct Signature {
|
||||
core.Base
|
||||
pub mut:
|
||||
signature_id u32 // Reference to the user who created the signature @[index]
|
||||
user_id u32 // Reference to the user who created the signature @[index]
|
||||
value string // The actual signature value
|
||||
objectid u32 // Reference to the user who created the signature @[index]
|
||||
objecttype ObjectType // Type of object being signed (e.g.,
|
||||
status SignatureStatus
|
||||
timestamp u64
|
||||
}
|
||||
|
||||
pub enum SignatureStatus {
|
||||
active
|
||||
inactive
|
||||
pending
|
||||
revoked
|
||||
}
|
||||
|
||||
pub enum ObjectType {
|
||||
account
|
||||
dnsrecord
|
||||
membership
|
||||
user
|
||||
transaction
|
||||
kyc
|
||||
}
|
29
specs/models_threefold/main/user.v
Normal file
29
specs/models_threefold/main/user.v
Normal file
@ -0,0 +1,29 @@
|
||||
module circle
|
||||
|
||||
import freeflowuniverse.herolib.hero.models.core
|
||||
|
||||
//is a user in the system, most of info is in models_heroledger
|
||||
|
||||
|
||||
pub struct User {
|
||||
core.Base
|
||||
pub mut:
|
||||
username string // Unique username for the user @[index]
|
||||
pubkey string // Public key for cryptographic operations @[index]
|
||||
status UserStatus // Current user status
|
||||
kyc KYCStatus // Know Your Customer status
|
||||
}
|
||||
|
||||
|
||||
pub enum UserStatus {
|
||||
active
|
||||
inactive
|
||||
suspended
|
||||
archived
|
||||
}
|
||||
|
||||
pub enum KYCStatus {
|
||||
pending
|
||||
approved
|
||||
rejected
|
||||
}
|
22
specs/models_threefold/main/user_kvs.v
Normal file
22
specs/models_threefold/main/user_kvs.v
Normal file
@ -0,0 +1,22 @@
|
||||
module circle
|
||||
|
||||
import freeflowuniverse.herolib.hero.models.core
|
||||
|
||||
//a per user db
|
||||
pub struct UserKVS {
|
||||
core.Base
|
||||
pub mut:
|
||||
userid u32 // Reference to the user entity @[index]
|
||||
name string // Name of the key-value store
|
||||
}
|
||||
|
||||
pub struct UserKVSItem {
|
||||
core.Base
|
||||
pub mut:
|
||||
userkvs_id u32 // Reference to the user entity @[index]
|
||||
key string
|
||||
value string // Value associated with the key
|
||||
secretbox []SecretBox // Optional secret boxes for sensitive data
|
||||
timestamp u64 // Timestamp when the item was created or last updated
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user