权限管理接口实现

This commit is contained in:
2026-03-18 18:09:32 +08:00
parent 9d996acf5f
commit bb895eccdf
44 changed files with 1958 additions and 161 deletions

View File

@@ -20,6 +20,8 @@ type Admin struct {
LastLogin *time.Time `json:"last_login,omitempty" gorm:"column:last_login"` // 最后登录时间
LastLoginIP *orm.Inet `json:"last_login_ip,omitempty" gorm:"column:last_login_ip"` // 最后登录地址
LastLoginUA *string `json:"last_login_ua,omitempty" gorm:"column:last_login_ua"` // 最后登录代理
Roles []*AdminRole `json:"roles" gorm:"many2many:link_admin_role"`
}
// AdminStatus 管理员状态枚举

View File

@@ -11,4 +11,6 @@ type AdminRole struct {
Description *string `json:"description,omitempty" gorm:"column:description"` // 角色描述
Active bool `json:"active" gorm:"column:active"` // 是否激活
Sort int32 `json:"sort" gorm:"column:sort"` // 排序
Permissions []*Permission `json:"permissions" gorm:"many2many:link_admin_role_permission"`
}

View File

@@ -15,6 +15,8 @@ type Client struct {
Icon *string `json:"icon,omitempty" gorm:"column:icon"` // 图标URL
Status ClientStatus `json:"status" gorm:"column:status"` // 状态0-禁用1-正常
Type ClientType `json:"type" gorm:"column:type"` // 类型0-普通1-官方
Permissions []*Permission `json:"permissions" gorm:"many2many:link_client_permission"`
}
// ClientSpec 客户端安全规范枚举

View File

@@ -2,7 +2,7 @@ package models
// LinkAdminRole 管理员角色关联表
type LinkAdminRole struct {
ID int32 `json:"id" gorm:"column:id"` // 关联ID
AdminID int32 `json:"admin_id" gorm:"column:admin_id"` // 管理员ID
RoleID int32 `json:"role_id" gorm:"column:role_id"` // 角色ID
ID int32 `json:"id" gorm:"column:id"` // 关联ID
AdminID int32 `json:"admin_id" gorm:"column:admin_id"` // 管理员ID
RoleID int32 `json:"role_id" gorm:"column:admin_role_id"` // 角色ID
}

View File

@@ -3,6 +3,6 @@ package models
// LinkAdminRolePermission 管理员角色权限关联表
type LinkAdminRolePermission struct {
ID int32 `json:"id" gorm:"column:id"` // 关联ID
RoleID int32 `json:"role_id" gorm:"column:role_id"` // 角色ID
RoleID int32 `json:"role_id" gorm:"column:admin_role_id"` // 角色ID
PermissionID int32 `json:"permission_id" gorm:"column:permission_id"` // 权限ID
}

View File

@@ -2,7 +2,7 @@ package models
// LinkUserRole 用户角色关联表
type LinkUserRole struct {
ID int32 `json:"id" gorm:"column:id"` // 关联ID
UserID int32 `json:"user_id" gorm:"column:user_id"` // 用户ID
RoleID int32 `json:"role_id" gorm:"column:role_id"` // 角色ID
ID int32 `json:"id" gorm:"column:id"` // 关联ID
UserID int32 `json:"user_id" gorm:"column:user_id"` // 用户ID
RoleID int32 `json:"role_id" gorm:"column:user_role_id"` // 角色ID
}

View File

@@ -3,6 +3,6 @@ package models
// LinkUserRolePermission 用户角色权限关联表
type LinkUserRolePermission struct {
ID int32 `json:"id" gorm:"column:id"` // 关联ID
RoleID int32 `json:"role_id" gorm:"column:role_id"` // 角色ID
RoleID int32 `json:"role_id" gorm:"column:user_role_id"` // 角色ID
PermissionID int32 `json:"permission_id" gorm:"column:permission_id"` // 权限ID
}

View File

@@ -29,7 +29,8 @@ type User struct {
LastLoginIP *orm.Inet `json:"last_login_ip,omitempty" gorm:"column:last_login_ip"` // 最后登录地址
LastLoginUA *string `json:"last_login_ua,omitempty" gorm:"column:last_login_ua"` // 最后登录代理
Admin *Admin `json:"admin,omitempty" gorm:"foreignKey:AdminID"`
Admin *Admin `json:"admin,omitempty" gorm:"foreignKey:AdminID"`
Roles []*UserRole `json:"roles" gorm:"many2many:link_user_role"`
}
// UserStatus 用户状态枚举

View File

@@ -11,4 +11,6 @@ type UserRole struct {
Description *string `json:"description,omitempty" gorm:"column:description"` // 角色描述
Active bool `json:"active" gorm:"column:active"` // 是否激活
Sort int32 `json:"sort" gorm:"column:sort"` // 排序
Permissions []*Permission `json:"permissions" gorm:"many2many:link_user_role_permission"`
}