feat: RBAC权限管理
This commit is contained in:
@@ -77,45 +77,16 @@ model File {
|
||||
|
||||
// 权限表
|
||||
model SysPermission {
|
||||
id String @id @default(cuid()) /// 主键id
|
||||
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
|
||||
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
|
||||
type Int /// 权限类型
|
||||
sysRolePermission SysRolePermission[]
|
||||
sysMenuPermission SysMenuPermission[]
|
||||
id String @id @default(cuid()) /// 主键id
|
||||
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
|
||||
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
|
||||
name String? @unique // 权限字符
|
||||
sysRolePermission SysRolePermission[]
|
||||
sysResourcePermission SysResourcePermission[]
|
||||
|
||||
@@map("sys_permission")
|
||||
}
|
||||
|
||||
// 系统菜单表
|
||||
model SysMenu {
|
||||
id String @id @default(cuid()) /// 主键id
|
||||
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
|
||||
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
|
||||
name String
|
||||
url String
|
||||
parentId String? @map("parent_id")
|
||||
sort Int @default(0)
|
||||
sysMenuPermission SysMenuPermission[]
|
||||
|
||||
@@map("sys_menu")
|
||||
}
|
||||
|
||||
// 菜单权限关联表
|
||||
model SysMenuPermission {
|
||||
id String @id @default(cuid()) /// 主键id
|
||||
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
|
||||
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
|
||||
menuId String @map("menu_id")
|
||||
permissionId String @map("permission_id")
|
||||
menu SysMenu @relation(fields: [menuId], references: [id], onDelete: Cascade)
|
||||
permission SysPermission @relation(fields: [permissionId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@index([menuId])
|
||||
@@index([permissionId])
|
||||
@@map("sys_menu_permission")
|
||||
}
|
||||
|
||||
// 角色权限关联表
|
||||
model SysRolePermission {
|
||||
id String @id @default(cuid()) /// 主键id
|
||||
@@ -131,6 +102,38 @@ model SysRolePermission {
|
||||
@@map("sys_role_permission")
|
||||
}
|
||||
|
||||
// 系统资源表
|
||||
model SysResource {
|
||||
id String @id @default(cuid()) /// 主键id
|
||||
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
|
||||
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
|
||||
name String
|
||||
path String? /// 菜单或api路径
|
||||
parentId String? @map("parent_id")
|
||||
sort Int @default(0)
|
||||
type Int /// 资源类型 0:菜单 1:api
|
||||
sysResourcePermission SysResourcePermission[]
|
||||
|
||||
@@unique([name, type])
|
||||
@@unique([path])
|
||||
@@map("sys_resource")
|
||||
}
|
||||
|
||||
// 系统资源权限表
|
||||
model SysResourcePermission {
|
||||
id String @id @default(cuid()) /// 主键id
|
||||
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
|
||||
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
|
||||
resourceId String @map("resource_id")
|
||||
resource SysResource @relation(fields: [resourceId], references: [id], onDelete: Cascade)
|
||||
permissionId String @map("permission_id")
|
||||
permission SysPermission @relation(fields: [permissionId], references: [id], onDelete: Cascade)
|
||||
|
||||
@@index([resourceId])
|
||||
@@index([permissionId])
|
||||
@@map("sys_resource_permission")
|
||||
}
|
||||
|
||||
// 系统配置
|
||||
model SysConfig {
|
||||
id String @id @default(cuid()) /// 主键id
|
||||
|
||||
Reference in New Issue
Block a user