rbac

package
v0.1.35 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package rbac provides application services for RBAC authorization.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service is a struct that implements the RBACManageUsecase interface.

func New

func New(
	rbacUsecase userport.RBACUsecase,
	roleUsecase userport.RoleUsecase,
	permissionUsecase userport.PermissionUsecase,
	roleBindingPersistencePort userport.RoleBindingPersistencePort,
	logger *slog.Logger,
) *Service

New creates a new instance of the Service struct.

func (*Service) CheckPermission

func (s *Service) CheckPermission(
	ctx context.Context,
	req *v1.CheckPermissionRequest,
) (*v1.CheckPermissionResponse, error)

CheckPermission implements applicationport.RBACManageUsecase.

func (*Service) GetUserPermissions

func (s *Service) GetUserPermissions(
	ctx context.Context,
	userID uuid.UUID,
) (*v1.ListResponse[v1.Permission], error)

GetUserPermissions implements applicationport.RBACManageUsecase.

func (*Service) GetUserRoles

func (s *Service) GetUserRoles(
	ctx context.Context,
	userID uuid.UUID,
) (*v1.ListResponse[v1.Role], error)

GetUserRoles implements applicationport.RBACManageUsecase.

func (*Service) SyncPolicies

func (s *Service) SyncPolicies(ctx context.Context) error

SyncPolicies implements applicationport.RBACManageUsecase.

Jump to

Keyboard shortcuts

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