Documentation
¶
Index ¶
- Variables
- type CreateRolePayload
- type ListOptions
- type ListRolesQuery
- type PermissionInput
- type Service
- func (s *Service) Create(ctx context.Context, name string, permissions []PermissionInput) (*models.Role, error)
- func (s *Service) Delete(ctx context.Context, id int) error
- func (s *Service) List(ctx context.Context, opts ListOptions) ([]*models.Role, int, error)
- func (s *Service) Retrieve(ctx context.Context, id int) (*models.Role, error)
- func (s *Service) Update(ctx context.Context, id int, name *string, permissions *[]PermissionInput) (*models.Role, error)
- type UpdateRolePayload
Constants ¶
This section is empty.
Variables ¶
View Source
var ValidOperations = []string{ models.OperationRead, models.OperationWrite, }
ValidOperations contains all valid operation names.
View Source
var ValidResources = []string{ models.ResourceLibraries, models.ResourceBooks, models.ResourcePeople, models.ResourceSeries, models.ResourceUsers, models.ResourceJobs, models.ResourceConfig, }
ValidResources contains all valid resource names.
Functions ¶
This section is empty.
Types ¶
type CreateRolePayload ¶
type CreateRolePayload struct {
Name string `json:"name" validate:"required,min=1,max=50"`
Permissions []PermissionInput `json:"permissions"`
}
CreateRolePayload represents the request body for creating a role.
type ListOptions ¶
ListOptions contains options for listing roles.
type ListRolesQuery ¶
type ListRolesQuery struct {
Limit int `query:"limit" default:"50"`
Offset int `query:"offset" default:"0"`
}
ListRolesQuery represents the query parameters for listing roles.
type PermissionInput ¶
type PermissionInput struct {
Resource string `json:"resource" validate:"required"`
Operation string `json:"operation" validate:"required"`
}
PermissionInput represents a permission to grant to a role.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service handles role operations.
func RegisterRoutes ¶
RegisterRoutes registers all role routes.
func (*Service) Create ¶
func (s *Service) Create(ctx context.Context, name string, permissions []PermissionInput) (*models.Role, error)
Create creates a new role.
type UpdateRolePayload ¶
type UpdateRolePayload struct {
Name *string `json:"name" validate:"omitempty,min=1,max=50"`
Permissions []PermissionInput `json:"permissions"` // Replaces all permissions if provided
}
UpdateRolePayload represents the request body for updating a role.
Click to show internal directories.
Click to hide internal directories.