mirror of
https://github.com/umami-software/umami.git
synced 2025-12-06 01:18:00 +01:00
Add permission checks.
This commit is contained in:
parent
51e2331315
commit
78225691df
20 changed files with 225 additions and 333 deletions
|
|
@ -14,12 +14,12 @@ model User {
|
|||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||
isDeleted Boolean @default(false) @map("is_deleted")
|
||||
|
||||
groupRole GroupRole[]
|
||||
groupUser GroupUser[]
|
||||
userRole UserRole[]
|
||||
teamWebsite TeamWebsite[]
|
||||
teamUser TeamUser[]
|
||||
userWebsite UserWebsite[]
|
||||
groupRole GroupRole[]
|
||||
groupUser GroupUser[]
|
||||
userRole UserRole[]
|
||||
teamUser TeamUser[]
|
||||
Website Website? @relation(fields: [websiteId], references: [id])
|
||||
websiteId String? @db.Uuid
|
||||
|
||||
@@map("user")
|
||||
}
|
||||
|
|
@ -47,11 +47,13 @@ model Website {
|
|||
domain String? @db.VarChar(500)
|
||||
shareId String? @unique @map("share_id") @db.VarChar(64)
|
||||
revId Int @default(0) @map("rev_id") @db.Integer
|
||||
userId String? @map("user_id") @db.Uuid
|
||||
teamId String? @map("team_id") @db.Uuid
|
||||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||
isDeleted Boolean @default(false) @map("is_deleted")
|
||||
|
||||
teamWebsite TeamWebsite[]
|
||||
userWebsite UserWebsite[]
|
||||
team Team[]
|
||||
user User[]
|
||||
|
||||
@@index([createdAt])
|
||||
@@index([shareId])
|
||||
|
|
@ -153,6 +155,7 @@ model RolePermission {
|
|||
role Role @relation(fields: [roleId], references: [id])
|
||||
permission Permission @relation(fields: [permissionId], references: [id])
|
||||
|
||||
@@unique([roleId, permissionId])
|
||||
@@map("role_permission")
|
||||
}
|
||||
|
||||
|
|
@ -168,6 +171,7 @@ model UserRole {
|
|||
user User @relation(fields: [userId], references: [id])
|
||||
team Team? @relation(fields: [teamId], references: [id])
|
||||
|
||||
@@unique([roleId, userId, teamId])
|
||||
@@map("user_role")
|
||||
}
|
||||
|
||||
|
|
@ -177,28 +181,14 @@ model Team {
|
|||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||
isDeleted Boolean @default(false) @map("is_deleted")
|
||||
|
||||
teamWebsites TeamWebsite[]
|
||||
teamUsers TeamUser[]
|
||||
UserRole UserRole[]
|
||||
teamUsers TeamUser[]
|
||||
UserRole UserRole[]
|
||||
Website Website? @relation(fields: [websiteId], references: [id])
|
||||
websiteId String? @db.Uuid
|
||||
|
||||
@@map("team")
|
||||
}
|
||||
|
||||
model TeamWebsite {
|
||||
id String @id() @unique() @map("team_website_id") @db.Uuid
|
||||
teamId String @map("team_id") @db.Uuid
|
||||
websiteId String @map("website_id") @db.Uuid
|
||||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||
isDeleted Boolean @default(false) @map("is_deleted")
|
||||
|
||||
website Website @relation(fields: [websiteId], references: [id])
|
||||
team Team @relation(fields: [teamId], references: [id])
|
||||
user User? @relation(fields: [userId], references: [id])
|
||||
userId String? @db.Uuid
|
||||
|
||||
@@map("team_website")
|
||||
}
|
||||
|
||||
model TeamUser {
|
||||
id String @id() @unique() @map("team_user_id") @db.Uuid
|
||||
teamId String @map("team_id") @db.Uuid
|
||||
|
|
@ -212,16 +202,3 @@ model TeamUser {
|
|||
|
||||
@@map("team_user")
|
||||
}
|
||||
|
||||
model UserWebsite {
|
||||
id String @id() @unique() @map("user_website_id") @db.Uuid
|
||||
userId String @map("user_id") @db.Uuid
|
||||
websiteId String @map("website_id") @db.Uuid
|
||||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||
isDeleted Boolean @default(false) @map("is_deleted")
|
||||
|
||||
website Website @relation(fields: [websiteId], references: [id])
|
||||
user User @relation(fields: [userId], references: [id])
|
||||
|
||||
@@map("user_website")
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue