dao

package
v0.0.18 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApiDAO

type ApiDAO interface {
	CreateApi(ctx context.Context, api *model.Api) error
	GetApiById(ctx context.Context, id int) (*model.Api, error)
	UpdateApi(ctx context.Context, api *model.Api) error
	DeleteApi(ctx context.Context, id int) error
	ListApis(ctx context.Context, page, size int, search string, isPublic int, method int) ([]*model.Api, int64, error)
	GetApiStatistics(ctx context.Context) (*model.ApiStatistics, error)
}

func NewApiDAO

func NewApiDAO(db *gorm.DB, l *zap.Logger) ApiDAO

type AuditDAO

type AuditDAO interface {
	CreateAuditLog(ctx context.Context, log *model.AuditLog) error
	BatchCreateAuditLogs(ctx context.Context, logs []model.AuditLog) error
	GetAuditLogByID(ctx context.Context, id int) (*model.AuditLog, error)
	ListAuditLogs(ctx context.Context, req *model.ListAuditLogsRequest) (int64, []model.AuditLog, error)
	SearchAuditLogs(ctx context.Context, req *model.SearchAuditLogsRequest) (int64, []model.AuditLog, error)
	GetAuditStatistics(ctx context.Context) (*model.AuditStatistics, error)
	DeleteAuditLog(ctx context.Context, id int) error
	BatchDeleteAuditLogs(ctx context.Context, ids []int) error
	ArchiveAuditLogs(ctx context.Context, startTime, endTime int64) error
}

func NewAuditDAO

func NewAuditDAO(db *gorm.DB) AuditDAO

type RoleDAO

type RoleDAO interface {
	// 角色管理
	ListRoles(ctx context.Context, req *model.ListRolesRequest) ([]*model.Role, int64, error)
	CreateRole(ctx context.Context, role *model.Role, apiIds []int) (*model.Role, error)
	UpdateRole(ctx context.Context, role *model.Role, apiIds []int) (*model.Role, error)
	DeleteRole(ctx context.Context, id int) error
	GetRoleByID(ctx context.Context, id int) (*model.Role, error)
	CheckRoleExists(ctx context.Context, name, code string, excludeID int) (bool, error)
	CheckRoleHasUsers(ctx context.Context, roleID int) (bool, error)

	// 角色权限管理
	AssignApisToRole(ctx context.Context, roleID int, apiIds []int) error
	RevokeApisFromRole(ctx context.Context, roleID int, apiIds []int) error
	GetRoleApis(ctx context.Context, roleID int) ([]*model.Api, error)

	// 用户角色管理
	AssignRolesToUser(ctx context.Context, userID int, roleIds []int, grantedBy int) error
	RevokeRolesFromUser(ctx context.Context, userID int, roleIds []int) error
	GetRoleUsers(ctx context.Context, roleID int) ([]*model.User, error)
	GetUserRoles(ctx context.Context, userID int) ([]*model.Role, error)

	// 权限检查
	CheckUserPermission(ctx context.Context, userID int, method, path string) (bool, error)
	GetUserPermissions(ctx context.Context, userID int) ([]*model.Api, error)
}

func NewRoleDAO

func NewRoleDAO(db *gorm.DB) RoleDAO

Jump to

Keyboard shortcuts

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