application

package
v0.0.0-...-d77c644 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AutoLoadPolicyChan

type AutoLoadPolicyChan chan *PolicyItem

type Login

type Login interface {
	Verify(ctx context.Context, userName, password string) (*user.User, error)
	GenerateToken(ctx context.Context, userID string) (*auth.Auth, error)
	DestroyToken(ctx context.Context, tokenString string) error
	GetLoginInfo(ctx context.Context, userID string) (*user.User, error)
	UpdatePassword(ctx context.Context, userID string, oldPassword, newPassword string) error
	QueryUserMenuTree(ctx context.Context, userID string) (menu.Menus, error)
}

func NewLogin

func NewLogin(
	authRepo auth.Repository,
	userRepo user.Repository,
	roleRepo role.Repository,
	userRoleRepo userrole.Repository,
	userSvc user.Service,
	menuRepo menu.Repository,
	menuActionRepo menuaction.Repository,
	roleMenuRepo rolemenu.Repository,
) Login
type Menu interface {
	Query(ctx context.Context, params menu.QueryParam) (menu.Menus, *pagination.Pagination, error)
	Get(ctx context.Context, id string) (*menu.Menu, error)
	QueryActions(ctx context.Context, id string) (menuaction.MenuActions, error)
	Create(ctx context.Context, item *menu.Menu) (string, error)
	Update(ctx context.Context, id string, item *menu.Menu) error
	Delete(ctx context.Context, id string) error
	UpdateStatus(ctx context.Context, id string, status int) error
}

func NewMenu

func NewMenu(
	menuSvc menu.Service,
) Menu

type PolicyItem

type PolicyItem struct {
	Ctx      context.Context
	Enforcer *casbin.SyncedEnforcer
}

type RbacAdapter

type RbacAdapter interface {
	persist.Adapter
	CreateAutoLoadPolicyChan() AutoLoadPolicyChan
	GetAutoLoadPolicyChan() AutoLoadPolicyChan
	AddPolicyItemToChan(ctx context.Context, e *casbin.SyncedEnforcer)
}

func NewRbacAdapter

func NewRbacAdapter(rbacRepo rbac.Repository) RbacAdapter

type Role

type Role interface {
	Query(ctx context.Context, params role.QueryParam) (role.Roles, *pagination.Pagination, error)
	Get(ctx context.Context, id string) (*role.Role, error)
	QueryRoleMenus(ctx context.Context, roleID string) (rolemenu.RoleMenus, error)
	Create(ctx context.Context, item *role.Role) (string, error)
	Update(ctx context.Context, id string, item *role.Role) error
	Delete(ctx context.Context, id string) error
	UpdateStatus(ctx context.Context, id string, status int) error
}

func NewRole

func NewRole(
	rbacAdapter RbacAdapter,
	enforcer *casbin.SyncedEnforcer,
	transRepo trans.Repository,
	roleRepo role.Repository,
	roleMenuRepo rolemenu.Repository,
	userRepo user.Repository,
) Role

type Seed

type Seed interface {
	Execute(ctx context.Context, menuSeedPath string) error
}

func NewSeed

func NewSeed(
	menuSvc menu.Service,
	transRepo trans.Repository,
) Seed

type SeedMenus

type SeedMenus []struct {
	Name     string `yaml:"name"`
	Icon     string `yaml:"icon"`
	Router   string `yaml:"router,omitempty"`
	Sequence int    `yaml:"sequence"`
	Actions  []struct {
		Code      string `yaml:"code"`
		Name      string `yaml:"name"`
		Resources []struct {
			Method string `yaml:"method"`
			Path   string `yaml:"path"`
		} `yaml:"resources"`
	} `yaml:"actions,omitempty"`
	Children SeedMenus
}

type User

type User interface {
	Query(ctx context.Context, params user.QueryParams) (user.Users, *pagination.Pagination, error)
	QueryShow(ctx context.Context, params user.QueryParams) (user.Users, *pagination.Pagination, error)
	Get(ctx context.Context, id string) (*user.User, error)
	Create(ctx context.Context, item *user.User, roleIDs []string) (string, error)
	Update(ctx context.Context, id string, item *user.User, roleIDs []string) error
	Delete(ctx context.Context, id string) error
	UpdateStatus(ctx context.Context, id string, status int) error
}

func NewUser

func NewUser(
	authRepo auth.Repository,
	rbacAdapter RbacAdapter,
	enforcer *casbin.SyncedEnforcer,
	transRepo trans.Repository,
	userRepo user.Repository,
	userRoleRepo userrole.Repository,
	roleRepo role.Repository,
) User

Jump to

Keyboard shortcuts

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