81 lines
1.4 KiB
GraphQL
81 lines
1.4 KiB
GraphQL
enum Role {
|
|
OWNER
|
|
ADMIN
|
|
MEMBER
|
|
}
|
|
|
|
enum Status {
|
|
ACTIVE
|
|
INACTIVE
|
|
APPLY
|
|
INVITE
|
|
}
|
|
|
|
enum FBType {
|
|
BOT
|
|
NET
|
|
ADVANCED
|
|
}
|
|
|
|
enum FBKind {
|
|
TRADER
|
|
INDICATOR
|
|
EXTRACTOR
|
|
PLOTTER
|
|
}
|
|
|
|
type Team {
|
|
id: ID! @unique
|
|
name: String! @unique
|
|
slug: String! @unique
|
|
profile: TeamProfile
|
|
members: [TeamMembers!]! @relation (name: "TeamMembers", onDelete: SET_NULL)
|
|
visible: Boolean! @default(value: true)
|
|
wallet: Wallet
|
|
fb: FinancialBeings
|
|
active: Boolean! @default(value: true)
|
|
}
|
|
|
|
type TeamProfile {
|
|
createdAt: DateTime!
|
|
description: String
|
|
motto: String
|
|
avatar: String
|
|
}
|
|
|
|
type TeamMembers {
|
|
member: Member @relation (name: "MemberOnTeam", onDelete: SET_NULL)
|
|
team: Team @relation (name: "TeamMembers", onDelete: SET_NULL)
|
|
role: Role @default(value: MEMBER)
|
|
status: [MemberStatus!]! @relation (name: "MemberStatus", onDelete: CASCADE)
|
|
}
|
|
|
|
type Member {
|
|
id: ID! @unique
|
|
nickname: String
|
|
team: TeamMembers @relation (name: "MemberOnTeam", onDelete: SET_NULL)
|
|
auth0id: String! @unique
|
|
visible: Boolean! @default(value: true)
|
|
}
|
|
|
|
type MemberStatus {
|
|
status: Status @Default(value: inactive)
|
|
reason: String
|
|
}
|
|
|
|
type Wallet {
|
|
balance: Float
|
|
}
|
|
|
|
type FinancialBeings {
|
|
id: ID! @unique
|
|
type: FBType
|
|
kind: FBKind
|
|
team: Team @relation (name: "TeamFinancialBeing", onDelete: SET_NULL)
|
|
}
|
|
|
|
type MemberStatus {
|
|
status: Status @Default(value: inactive)
|
|
reason: String
|
|
}
|