Documentation
¶
Index ¶
- func Routes(api *API) []models.Route
- type 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
- type 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
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 (*API) AssignRoleToUser ¶
func (*API) CreatePermission ¶
func (a *API) CreatePermission(ctx context.Context, req types.CreatePermissionRequest) (*types.Permission, error)
func (*API) CreateRole ¶
func (*API) DeletePermission ¶
func (*API) GetAllPermissions ¶
func (*API) GetRoleByID ¶
func (*API) GetRolePermissions ¶
func (*API) GetUserEffectivePermissions ¶
func (*API) GetUserRoles ¶
func (*API) GetUserWithPermissionsByID ¶
func (*API) GetUserWithRolesByID ¶
func (*API) HasPermissions ¶
func (*API) RemovePermissionFromRole ¶
func (*API) RemoveRoleFromUser ¶
func (*API) ReplaceRolePermissions ¶
func (*API) ReplaceUserRoles ¶
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 (*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 New ¶
func New(config types.AccessControlPluginConfig) *AccessControlPlugin
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 (p *AccessControlPlugin) Init(ctx *models.PluginContext) error
func (*AccessControlPlugin) Metadata ¶
func (p *AccessControlPlugin) Metadata() models.PluginMetadata
func (*AccessControlPlugin) Migrations ¶
func (p *AccessControlPlugin) Migrations(provider string) []migrations.Migration
func (*AccessControlPlugin) Routes ¶
func (p *AccessControlPlugin) Routes() []models.Route
Click to show internal directories.
Click to hide internal directories.