Versions in this module Expand all Collapse all v1 v1.0.0 Mar 21, 2026 Changes in this version + func Routes(api *API) []models.Route + type API struct + func NewAPI(useCases *usecases.UseCases, ...) *API + func (a *API) AddPermissionToRole(ctx context.Context, roleID string, permissionID string, ...) error + func (a *API) AssignRoleToUser(ctx context.Context, userID string, req types.AssignUserRoleRequest, ...) error + func (a *API) CreatePermission(ctx context.Context, req types.CreatePermissionRequest) (*types.Permission, error) + func (a *API) CreateRole(ctx context.Context, req types.CreateRoleRequest) (*types.Role, error) + func (a *API) DeletePermission(ctx context.Context, permissionID string) error + func (a *API) DeleteRole(ctx context.Context, roleID string) error + func (a *API) GetAllPermissions(ctx context.Context) ([]types.Permission, error) + func (a *API) GetAllRoles(ctx context.Context) ([]types.Role, error) + func (a *API) GetRoleByID(ctx context.Context, roleID string) (*types.RoleDetails, error) + func (a *API) GetRolePermissions(ctx context.Context, roleID string) ([]types.UserPermissionInfo, error) + func (a *API) GetUserEffectivePermissions(ctx context.Context, userID string) ([]types.UserPermissionInfo, error) + func (a *API) GetUserRoles(ctx context.Context, userID string) ([]types.UserRoleInfo, error) + func (a *API) GetUserWithPermissionsByID(ctx context.Context, userID string) (*types.UserWithPermissions, error) + func (a *API) GetUserWithRolesByID(ctx context.Context, userID string) (*types.UserWithRoles, error) + func (a *API) HasPermissions(ctx context.Context, userID string, requiredPermissions []string) (bool, error) + func (a *API) RemovePermissionFromRole(ctx context.Context, roleID string, permissionID string) error + func (a *API) RemoveRoleFromUser(ctx context.Context, userID string, roleID string) error + func (a *API) ReplaceRolePermissions(ctx context.Context, roleID string, permissionIDs []string, ...) error + func (a *API) ReplaceUserRoles(ctx context.Context, userID string, roleIDs []string, assignedByUserID *string) error + func (a *API) RolePermissionRepository() repositories.RolePermissionRepository + func (a *API) UpdatePermission(ctx context.Context, permissionID string, req types.UpdatePermissionRequest) (*types.Permission, error) + func (a *API) UpdateRole(ctx context.Context, roleID string, req types.UpdateRoleRequest) (*types.Role, error) + func (a *API) UserAccessRepository() repositories.UserAccessRepository + type AccessControlHookID string + const HookIDAccessControlEnforce + func (id AccessControlHookID) String() string + type AccessControlPlugin struct + Api *API + func New(config types.AccessControlPluginConfig) *AccessControlPlugin + func (p *AccessControlPlugin) Close() error + func (p *AccessControlPlugin) Config() any + func (p *AccessControlPlugin) DependsOn() []string + func (p *AccessControlPlugin) Hooks() []models.Hook + func (p *AccessControlPlugin) Init(ctx *models.PluginContext) error + func (p *AccessControlPlugin) Metadata() models.PluginMetadata + func (p *AccessControlPlugin) Migrations(provider string) []migrations.Migration + func (p *AccessControlPlugin) Routes() []models.Route