mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-11 20:08:37 +00:00
feat: integrate user usage into apis (#5075)
This commit is contained in:
@@ -28,6 +28,7 @@ model User {
|
||||
invoices UserInvoice[]
|
||||
workspacePermissions WorkspaceUserPermission[]
|
||||
pagePermissions WorkspacePageUserPermission[]
|
||||
UserQuotaGates UserQuotaGates[]
|
||||
|
||||
@@map("users")
|
||||
}
|
||||
@@ -157,6 +158,33 @@ model Features {
|
||||
@@map("features")
|
||||
}
|
||||
|
||||
// quota gates is a way to enable/disable quotas for a user
|
||||
// for example, pro plan is a quota that allow some users access to more resources after they pay
|
||||
model UserQuotaGates {
|
||||
id String @id @default(uuid()) @db.VarChar
|
||||
userId String @map("user_id") @db.VarChar
|
||||
quotaId String? @db.VarChar
|
||||
|
||||
reason String @db.VarChar
|
||||
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
quota UserQuotas? @relation(fields: [quotaId], references: [id])
|
||||
|
||||
@@map("user_quota_gates")
|
||||
}
|
||||
|
||||
model UserQuotas {
|
||||
id String @id @default(uuid()) @db.VarChar
|
||||
quota String @db.VarChar
|
||||
configs Json @db.Json
|
||||
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||
|
||||
UserQuotaGates UserQuotaGates[]
|
||||
|
||||
@@map("user_quotas")
|
||||
}
|
||||
|
||||
model Account {
|
||||
id String @id @default(cuid())
|
||||
userId String @map("user_id")
|
||||
|
||||
Reference in New Issue
Block a user