permissionsTable

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2026 License: MIT Imports: 7 Imported by: 0

README

"角色-权限-资源"模型

前缀使用: auth_

相关视图

create or replace view public.auth_user_perm_view(id, saas_user_code, is_global, user_code, permission_code) as
SELECT DISTINCT row_number() OVER (ORDER BY t1.id, t2.id) AS id,
    t1.role_code,
    t1.is_global,
    t1.saas_user_code,
    t2.permission_code
   FROM auth_user_roles t1
     JOIN auth_role_permissions t2 ON t1.role_code = t2.role_code;
create or replace view public.auth_user_router_view
            (id, name, menu_group, route_path, component, type, icon, parent_id, route_name, keep_alive,
             sort, visible, params, perm, has_perm, status, ctime, mtime, saas_user_code, role_code)
as
SELECT t5.id,
    t5.name,
    t5.menu_group,
    t5.route_path,
    t5.component,
    t5.type,
    t5.icon,
    t5.parent_id,
    t5.route_name,
    t5.keep_alive,
    t5.sort,
    t5.visible,
    t5.params,
    t5.perm,
    t5.has_perm,
    t5.status,
    t5.ctime,
    t5.mtime,
    t3.saas_user_code,
    t3.role_code
   FROM auth_user_roles t3,
    auth_role_permissions t4,
    auth_menu t5
  WHERE t3.role_code = t4.role_code AND t4.permission_code = t5.perm::text
;

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthMenu

type AuthMenu struct {
	app.Pk
	Name      string        `orm:"column(name);size(100)"`        // 菜单名称(显示)
	RoutePath string        `orm:"column(route_path);size(200)"`  // 路由路径
	Component string        `orm:"column(component);size(200)"`   // 前端组件路径
	Type      int           `orm:"column(type);size(100)"`        // 类型:目录/页面/按钮(组件)/api
	Icon      string        `orm:"column(icon);size(100)"`        // 图标
	ParentId  int           `orm:"column(parent_id);default(0)"`  // 父级菜单ID
	RouteName string        `orm:"column(route_name);size(100)"`  // 路由名称(唯一)
	KeepAlive int           `orm:"column(keep_alive);default(0)"` // 是否缓存
	Sort      int           `orm:"column(sort);default(0)"`       // 排序
	Visible   int           `orm:"column(visible);default(1)"`    // 是否在菜单中显示
	Params    string        `orm:"column(params);size(200)"`      // 查询参数
	Perm      string        `orm:"column(perm);size(200)"`        // 权限
	HasPerm   int           `orm:"column(has_perm)"`              // 1:控制权限, 0:公共menu
	MenuGroup def.MenuGroup `orm:"column(menu_group);null"`       // 菜单所属程序组, 在project中标识 没有公共菜单
	app.TableChangeInfo
}

func (*AuthMenu) Convert

func (am *AuthMenu) Convert(src dto.ReqMenuForm)

func (*AuthMenu) TransformMenuVO

func (am *AuthMenu) TransformMenuVO(dst *dto.Menu)

func (*AuthMenu) TransformOption

func (am *AuthMenu) TransformOption(dst *dto.MenuOption)

type AuthPermissions

type AuthPermissions struct {
	app.Pk
	Code        string `orm:"column(code);unique"`      // 权限编码,唯一标识
	Name        string `orm:"column(name)"`             // 权限名称
	Description string `orm:"column(description);null"` // 权限描述
	Category    string `orm:"column(category);null"`    // 权限分类
	app.TableChangeInfo
}

AuthPermissions 权限表

func (*AuthPermissions) Convert

func (p *AuthPermissions) Convert(src dto.Permission)

func (*AuthPermissions) Transform

func (p *AuthPermissions) Transform(dst *dto.Permission)

type AuthRolePermissions

type AuthRolePermissions struct {
	app.Pk
	RoleCode       string `orm:"column(role_code)"`       // 角色编码
	PermissionCode string `orm:"column(permission_code)"` // 权限编码
	app.TableChangeInfo
}

AuthRolePermissions 角色权限关联表

func (*AuthRolePermissions) Convert

func (rp *AuthRolePermissions) Convert(src dto.AuthRolePerm)

func (*AuthRolePermissions) Transform

func (rp *AuthRolePermissions) Transform(dst *dto.AuthRolePerm)

type AuthRoles

type AuthRoles struct {
	app.Pk
	Code             string `orm:"column(code);unique"`
	Name             string `orm:"column(name)"`               // 名称
	RoleCategoryCode string `orm:"column(role_category_code)"` // 角色类型(管理角色树)
	ProjectCode      string `orm:"column(project_code);null"`  // 系统编号(系统内专用权限)
	IsGlobal         int    `orm:"column(is_global)"`          // 全局权限(与系统内权限互斥)
	app.TableChangeInfo
}

func (*AuthRoles) Convert

func (ar *AuthRoles) Convert(src dto.Role)

func (*AuthRoles) IsGlobalRole

func (ar *AuthRoles) IsGlobalRole() bool

func (*AuthRoles) Transform

func (ar *AuthRoles) Transform(dst *dto.Role)

type AuthRolesCategory

type AuthRolesCategory struct {
	app.Pk
	Code string `orm:"column(code)"` // 编号
	Name string `orm:"column(name)"` // 名称
	app.TableChangeInfo
}

type AuthUserPermView

type AuthUserPermView struct {
	app.Pk
	RoleCode       string `orm:"column(role_code);null;readOnly"`
	SaasUserCode   string `orm:"column(saas_user_code);null"`
	PermissionCode string `orm:"column(permission_code);null"`
	IsGlobal       int    `orm:"column(is_global);null"`
}

func (*AuthUserPermView) TableName

func (u *AuthUserPermView) TableName() string

func (*AuthUserPermView) Transform

func (u *AuthUserPermView) Transform(dst *dto.AuthUserPerm)

type AuthUserRoles

type AuthUserRoles struct {
	app.Pk
	SaasUserCode     string `orm:"column(saas_user_code)"`
	RoleCategoryCode string `orm:"column(role_category_code)"` // 角色类型/冗余
	RoleCode         string `orm:"column(role_code)"`
	ProjectCode      string `orm:"column(project_code);null"` // 冗余
	IsGlobal         int    `orm:"column(is_global)"`         // 冗余
	app.TableChangeInfo
}

func (*AuthUserRoles) Transform

func (ur *AuthUserRoles) Transform(dst *dto.UserRole)

type AuthUserRouterView

type AuthUserRouterView struct {
	AuthMenu
	SaasUserCode string `orm:"column(saas_user_code);null;readOnly"`
	RoleCode     string `orm:"column(role_code);null;readOnly"`
}

func (*AuthUserRouterView) Transform

func (u *AuthUserRouterView) Transform(dto *AuthUserRouterView)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL