21 lines
1.1 KiB
Go
21 lines
1.1 KiB
Go
package auth
|
|
|
|
import "context"
|
|
|
|
type RoleRepository interface {
|
|
CreateRole(ctx context.Context, role *Role) error
|
|
UpdateRole(ctx context.Context, role *Role) error
|
|
DeleteRole(ctx context.Context, id []byte) error
|
|
GetRoleByID(ctx context.Context, id []byte) (*Role, error)
|
|
GetRoleByName(ctx context.Context, name string) (*Role, error)
|
|
HasRolePermission(ctx context.Context, roleID []byte, permissionKey string) (bool, error)
|
|
GetPermissionByID(ctx context.Context, id []byte) (*Permission, error)
|
|
GetPermissionByKey(ctx context.Context, key string) (*Permission, error)
|
|
UpdatePermission(ctx context.Context, permission *Permission) error
|
|
ListPermissionsByRoleID(ctx context.Context, roleID []byte) ([]Permission, error)
|
|
ListPermissions(ctx context.Context, filter string, sort string, limit, offset int) ([]Permission, int64, error)
|
|
AssignPermission(ctx context.Context, roleID, permissionID []byte) (*RolePermission, error)
|
|
RemovePermission(ctx context.Context, roleID, permissionID []byte) error
|
|
ListRoles(ctx context.Context, filterName string, sort string, limit, offset int) ([]Role, int64, error)
|
|
}
|