accesscontrol

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Routes

func Routes(api *API) []models.Route

Types

type API

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

func NewAPI

func NewAPI(
	useCases *usecases.UseCases,
	rolePermissionRepo repositories.RolePermissionRepository,
	userAccessRepo repositories.UserAccessRepository,
) *API

func (*API) AddPermissionToRole

func (a *API) AddPermissionToRole(ctx context.Context, roleID string, permissionID string, grantedByUserID *string) error

func (*API) AssignRoleToUser

func (a *API) AssignRoleToUser(ctx context.Context, userID string, req types.AssignUserRoleRequest, assignedByUserID *string) error

func (*API) CreatePermission

func (a *API) CreatePermission(ctx context.Context, req types.CreatePermissionRequest) (*types.Permission, error)

func (*API) CreateRole

func (a *API) CreateRole(ctx context.Context, req types.CreateRoleRequest) (*types.Role, error)

func (*API) DeletePermission

func (a *API) DeletePermission(ctx context.Context, permissionID string) error

func (*API) DeleteRole

func (a *API) DeleteRole(ctx context.Context, roleID string) error

func (*API) GetAllPermissions

func (a *API) GetAllPermissions(ctx context.Context) ([]types.Permission, error)

func (*API) GetAllRoles

func (a *API) GetAllRoles(ctx context.Context) ([]types.Role, error)

func (*API) GetRoleByID

func (a *API) GetRoleByID(ctx context.Context, roleID string) (*types.RoleDetails, error)

func (*API) GetRolePermissions

func (a *API) GetRolePermissions(ctx context.Context, roleID string) ([]types.UserPermissionInfo, error)

func (*API) GetUserEffectivePermissions

func (a *API) GetUserEffectivePermissions(ctx context.Context, userID string) ([]types.UserPermissionInfo, error)

func (*API) GetUserRoles

func (a *API) GetUserRoles(ctx context.Context, userID string) ([]types.UserRoleInfo, error)

func (*API) GetUserWithPermissionsByID

func (a *API) GetUserWithPermissionsByID(ctx context.Context, userID string) (*types.UserWithPermissions, error)

func (*API) GetUserWithRolesByID

func (a *API) GetUserWithRolesByID(ctx context.Context, userID string) (*types.UserWithRoles, error)

func (*API) HasPermissions

func (a *API) HasPermissions(ctx context.Context, userID string, requiredPermissions []string) (bool, error)

func (*API) RemovePermissionFromRole

func (a *API) RemovePermissionFromRole(ctx context.Context, roleID string, permissionID string) error

func (*API) RemoveRoleFromUser

func (a *API) RemoveRoleFromUser(ctx context.Context, userID string, roleID string) error

func (*API) ReplaceRolePermissions

func (a *API) ReplaceRolePermissions(ctx context.Context, roleID string, permissionIDs []string, grantedByUserID *string) error

func (*API) ReplaceUserRoles

func (a *API) ReplaceUserRoles(ctx context.Context, userID string, roleIDs []string, assignedByUserID *string) error

func (*API) RolePermissionRepository

func (a *API) RolePermissionRepository() repositories.RolePermissionRepository

func (*API) UpdatePermission

func (a *API) UpdatePermission(ctx context.Context, permissionID string, req types.UpdatePermissionRequest) (*types.Permission, error)

func (*API) UpdateRole

func (a *API) UpdateRole(ctx context.Context, roleID string, req types.UpdateRoleRequest) (*types.Role, error)

func (*API) UserAccessRepository

func (a *API) UserAccessRepository() repositories.UserAccessRepository

type AccessControlHookID

type AccessControlHookID string
const (
	HookIDAccessControlEnforce AccessControlHookID = "access_control.enforce"
)

func (AccessControlHookID) String

func (id AccessControlHookID) String() string

type AccessControlPlugin

type AccessControlPlugin struct {
	Api *API
	// contains filtered or unexported fields
}

func (*AccessControlPlugin) Close

func (p *AccessControlPlugin) Close() error

func (*AccessControlPlugin) Config

func (p *AccessControlPlugin) Config() any

func (*AccessControlPlugin) DependsOn

func (p *AccessControlPlugin) DependsOn() []string

func (*AccessControlPlugin) Hooks

func (p *AccessControlPlugin) Hooks() []models.Hook

func (*AccessControlPlugin) Init

func (*AccessControlPlugin) Metadata

func (*AccessControlPlugin) Migrations

func (p *AccessControlPlugin) Migrations(provider string) []migrations.Migration

func (*AccessControlPlugin) Routes

func (p *AccessControlPlugin) Routes() []models.Route

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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