Files
servicebase/pkg/res/common_auth.go
2025-11-18 17:48:20 +08:00

164 lines
7.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package res
import (
"servicebase/pkg/datasource/fields"
)
type AdminUserAuthRes struct {
Token string `json:"token"`
}
type TenantRes struct {
ID string `gorm:"column:id;type:char(32);not null;uniqueIndex:id,priority:1;comment:业务ID" json:"id"`
Name string `gorm:"column:name;type:varchar(255);not null;index:idx_name,priority:1;comment:租户名" json:"name"`
Contact string `gorm:"column:contact;type:varchar(255);not null;comment:联系方式" json:"contact"`
Desc string `gorm:"column:desc;type:varchar(255);not null;comment:备注" json:"desc"`
CreateAt fields.Time `gorm:"column:create_at;type:datetime;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"create_at"`
CreateBy string `gorm:"column:create_by;type:varchar(255);not null;comment:创建人" json:"create_by"`
UpdateAt fields.Time `gorm:"column:update_at;type:datetime;not null;index:idx_delete_at,priority:2;default:CURRENT_TIMESTAMP;comment:更新时间" json:"update_at"`
UpdateBy string `gorm:"column:update_by;type:varchar(255);not null;comment:更新人" json:"update_by"`
}
type AdminUserRes struct {
IDBody
Username string `json:"username"`
Nickname string `json:"nickname"`
Desc string `json:"desc"`
State int32 `json:"state"` // 创建人
CreateAt fields.Time `json:"create_at"` // 创建时间
CreateBy string `json:"create_by"` // 创建人
UpdateAt fields.Time `json:"update_at"` // 更新时间
UpdateBy string `json:"update_by"`
}
type AdminRoleRes struct {
IDBody
TenantID string `json:"tenant_id"` // 租户ID
Name string `json:"name"`
Code string `json:"code"`
UserType string `json:"user_type"` // 类型HEAD=总行、BRANCH=分行
Desc string `json:"desc"` // 描述
CreateAt fields.Time `json:"create_at"` // 创建时间
CreateBy string `json:"create_by"` // 创建人
UpdateAt fields.Time `json:"update_at"` // 更新时间
UpdateBy string `json:"update_by"`
}
type AdminPrivilegeRes struct {
IDBody
TenantID string `json:"tenant_id"` // 租户ID
ParentID string `json:"parent_id"` // 父ID
Name string `json:"name"` // 权限名称
Level string `json:"level"` // 权限级别
SourceType string `gorm:"column:source_type;type:varchar(64);not null" json:"source_type"` // 类型resource、api等
TargetType string `gorm:"column:target_type;type:varchar(64);not null" json:"target_type"` // 类型GROUP MENU BTN 等
Target string `gorm:"column:target;type:varchar(64);not null" json:"target"` // 权限值 menu:菜单路径; api=url-pre
Desc string `gorm:"column:desc;type:varchar(64);not null" json:"desc"`
CreateAt fields.Time `json:"create_at"` // 创建时间
}
type AdminPrivilegeTypedTreeRes struct {
Type string `json:"type"`
TypeName string `json:"type_name"`
Tree *[]*AdminPrivilegeTreeRes `json:"tree"`
}
type AdminPrivilegeTreeRes struct {
IDBody
TenantID string `json:"tenant_id"` // 租户ID
ParentID string `json:"parent_id"` // 父ID
Name string `json:"name"` // 权限名称
Level string `json:"level"` // 权限级别
SourceType string `gorm:"column:source_type;type:varchar(64);not null" json:"source_type"` // 类型resource、api等
TargetType string `gorm:"column:target_type;type:varchar(64);not null" json:"target_type"` // 类型GROUP MENU BTN 等
Target string `gorm:"column:target;type:varchar(64);not null" json:"target"` // 权限值 menu:菜单路径; api=url-pre
Desc string `gorm:"column:desc;type:varchar(64);not null" json:"desc"`
Children []*AdminPrivilegeTreeRes `json:"children" gorm:"-"`
}
type AdminRolePrivilegeTypedALLRes struct {
Type string `json:"type"`
TypeName string `json:"type_name"`
Tree *[]*AdminRolePrivilegeALLRes `json:"tree"`
}
type AdminRolePrivilegeALLRes struct {
ID string `json:"id"` // 角色-权限关联关系的ID
Authorized bool `json:"authorized"` // 角色是否已授权该权限
ScopeID string `json:"scope_id"`
ScopeName string `json:"scope_name"`
ScopeCode string `json:"scope_code"`
PrivilegeParentID string `json:"privilege_parent_id"`
PrivilegeID string `json:"privilege_id"`
PrivilegeName string `json:"privilege_name"`
PrivilegeCode string `json:"privilege_code"`
PrivilegeTarget string `json:"privilege_target"`
PrivilegeSourceType string `json:"privilege_source_type"`
PrivilegeSourceTypeName string `json:"privilege_source_type_name"`
Children []*AdminRolePrivilegeALLRes `json:"children" gorm:"-"`
}
var typeName = map[string]string{
"INTERFACE": "接口权限",
"RESOURCE": "资源权限",
"DATA": "数据权限",
}
func (d *AdminRolePrivilegeTypedALLRes) Complete() {
d.TypeName = typeName[d.Type]
}
func (d *AdminRolePrivilegeALLRes) Complete() {
d.PrivilegeSourceTypeName = typeName[d.PrivilegeSourceType]
}
type SystemSettingRes struct {
ID string `json:"id"`
Name string `json:"name"` // 配置名称
Key string `json:"key"` // 配置key
Value string `json:"value"` // 配置内容
Ext string `json:"ext"` // 扩展信息
Desc string `json:"desc"` // 描述说明
Changeable int32 `json:"changeable"` // 是否可以修改 1=可修改 2=不可修改
Deletable int32 `json:"deletable"` // 是否可以删除 1=可删除 2=不可删除
}
type AdminSystemContentRes struct {
ID string `json:"id"`
Name string `json:"name"` // 配置名称
Key string `json:"key"` // 配置key
Value string `json:"value"` // 配置内容
Ext string `json:"ext"` // 扩展信息
Desc string `json:"desc"` // 描述说明
Changeable int32 `json:"changeable"` // 是否可以修改 1=可修改 2=不可修改
Deletable int32 `json:"deletable"` // 是否可以删除 1=可删除 2=不可删除
}
type AdminUserRoleAllRes struct {
ID string `json:"id"` // 用户-角色关联关系的ID
Authorized bool `json:"authorized"` // 是否已授权
RoleID string `json:"role_id"`
RoleName string `json:"role_name"`
RoleCode string `json:"role_code"`
}
type UserCheckRes struct {
Allowed bool `json:"allowed"`
ErrMsg string `json:"err_msg"`
}
func (d UserCheckRes) HasError() bool {
return len(d.ErrMsg) > 0
}
type AdminUserResourceItemRes struct {
ID string `json:"-"`
ParentID string `json:"-"`
Code string `json:"code"`
Name string `json:"name"`
Level int32 `json:"level"`
Target string `json:"target"`
Desc string `json:"desc"`
Children []*AdminUserResourceItemRes `json:"children,omitempty" gorm:"-"`
}