Files
Superalgos/Deprecated-Code/TeamsModule/api/database/datamodel.graphql
T
2020-11-20 20:28:04 +01:00

120 lines
2.0 KiB
GraphQL

enum Role {
OWNER
ADMIN
MEMBER
}
enum Status {
ACTIVE
INACTIVE
APPLIED
INVITED
REMOVED
}
enum FBType {
BOT
NET
ADVANCED
}
enum FBKind {
TRADER
INDICATOR
EXTRACTOR
PLOTTER
Trader
Trading
Indicator
Sensor
Plotter
}
type Team {
id: ID! @unique
name: String! @unique
slug: String! @unique
profile: TeamProfile
members: [TeamMembers!]! @relation (name: "TeamMembers", onDelete: SET_NULL)
owner: String!
wallet: Wallet
fb: [FinancialBeings!]! @relation (name: "TeamFinancialBeing", onDelete: SET_NULL)
status: [TeamStatus!]!
createdAt: DateTime!
}
type TeamProfile {
id: ID! @unique
description: String
motto: String
avatar: String
banner: String
createdAt: DateTime!
updatedAt: DateTime!
}
type TeamStatus {
id: ID! @unique
status: Status @Default(value: inactive)
reason: String
createdAt: DateTime!
}
type TeamMembers {
id: ID! @unique
member: Member @relation (name: "MemberOnTeam", onDelete: SET_NULL)
team: Team @relation (name: "TeamMembers", onDelete: SET_NULL)
role: Role @default(value: MEMBER)
status: [TeamMemberStatus!]!
email: String @unique
createdAt: DateTime!
}
type TeamMemberStatus {
id: ID! @unique
status: Status @Default(value: INACTIVE)
reason: String
createdAt: DateTime!
}
type Member {
id: ID! @unique
alias: String
teams: [TeamMembers!]! @relation (name: "MemberOnTeam", onDelete: SET_NULL)
authId: String! @unique
visible: Boolean! @default(value: true)
status: [MemberStatus!]!
createdAt: DateTime!
}
type MemberStatus {
id: ID! @unique
status: Status @Default(value: INACTIVE)
reason: String
createdAt: DateTime!
}
type Wallet {
id: ID! @unique
balance: Float
createdAt: DateTime!
}
type FinancialBeings {
id: ID! @unique
type: FBType
kind: FBKind
name: String!
slug: String!
avatar: String
team: Team @relation (name: "TeamFinancialBeing", onDelete: SET_NULL)
status: [FBStatus!]!
}
type FBStatus {
id: ID! @unique
status: Status @Default(value: inactive)
reason: String
createdAt: DateTime!
}