43 lines
692 B
Text
43 lines
692 B
Text
type PublicRSAKey data<128>
|
|
type PublicED25519Key data<32>
|
|
type Time string # ISO 8601
|
|
|
|
enum Department {
|
|
ACCOUNTING
|
|
ADMINISTRATION
|
|
CUSTOMER_SERVICE
|
|
DEVELOPMENT # IMPORTANT
|
|
|
|
# Reserved for the CEO
|
|
JSMITH = 99
|
|
}
|
|
|
|
type Customer {
|
|
name: string
|
|
email: string
|
|
address: Address
|
|
orders: []{
|
|
orderId: i64
|
|
quantity: i32
|
|
}
|
|
metadata: map[string]data
|
|
}
|
|
|
|
type Employee {
|
|
name: string
|
|
email: string
|
|
address: Address
|
|
department: Department
|
|
hireDate: Time
|
|
publicKey: optional<(PublicRSAKey | PublicED25519Key)>
|
|
metadata: map[string]data
|
|
}
|
|
|
|
type Person (Customer | Employee)
|
|
|
|
type Address {
|
|
address: [4]string
|
|
city: string
|
|
state: string
|
|
country: string
|
|
}
|