chore: 初始化仓库基线(AGENTS.md、git 规范、敏感文件排除)
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
// 角色常量
|
||||
const (
|
||||
RoleAdmin = "admin"
|
||||
RoleOperator = "operator"
|
||||
RoleViewer = "viewer"
|
||||
RoleFarmer = "farmer"
|
||||
)
|
||||
|
||||
// AllRoles 系统支持的全部角色
|
||||
var AllRoles = []string{RoleAdmin, RoleOperator, RoleViewer, RoleFarmer}
|
||||
|
||||
// RoleNames 角色中文名映射
|
||||
var RoleNames = map[string]string{
|
||||
RoleAdmin: "管理员",
|
||||
RoleOperator: "操作员",
|
||||
RoleViewer: "查看者",
|
||||
RoleFarmer: "养殖员",
|
||||
}
|
||||
|
||||
// Permission 权限表
|
||||
type Permission struct {
|
||||
ID string `gorm:"type:uuid;primaryKey;default:gen_random_uuid()" json:"id"`
|
||||
Code string `gorm:"column:code;uniqueIndex" json:"code"` // 权限码,如 device:control
|
||||
Name string `gorm:"column:name" json:"name"` // 权限名称
|
||||
Description *string `gorm:"column:description" json:"description,omitempty"`
|
||||
CreatedAt time.Time `gorm:"type:timestamptz" json:"createdAt"`
|
||||
}
|
||||
|
||||
func (Permission) TableName() string { return "permissions" }
|
||||
|
||||
// RolePermission 角色-权限关联表
|
||||
type RolePermission struct {
|
||||
ID string `gorm:"type:uuid;primaryKey;default:gen_random_uuid()" json:"id"`
|
||||
Role string `gorm:"column:role;index:idx_role_permissions_role_code,unique,priority:1" json:"role"`
|
||||
PermissionID string `gorm:"column:permission_id;type:uuid;index:idx_role_permissions_role_code,unique,priority:2" json:"permissionId"`
|
||||
CreatedAt time.Time `gorm:"type:timestamptz" json:"createdAt"`
|
||||
}
|
||||
|
||||
func (RolePermission) TableName() string { return "role_permissions" }
|
||||
Reference in New Issue
Block a user