role_apis

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const ModuleName = "RoleAPIs"

Variables

This section is empty.

Functions

func Module

func Module(scope string) fx.Option

Types

type ActionEntry

type ActionEntry struct {
	Key         string `json:"key"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

ActionEntry action item in API response

type AssignPermissionsResponse

type AssignPermissionsResponse struct {
	Message string     `json:"message"`
	Role    *RoleEntry `json:"role"`
}

AssignPermissionsResponse assign permissions response

type CreateRequest

type CreateRequest struct {
	Body CreateRequestBody
}

type CreateRequestBody

type CreateRequestBody struct {
	Key         string   `json:"key" binding:"required,min=2,max=255"`
	Name        string   `json:"name" binding:"required,min=1,max=255"`
	Description string   `json:"description"`
	Permissions []string `json:"permissions"`
}

type CreateResponse

type CreateResponse struct {
	Message string     `json:"message"`
	Role    *RoleEntry `json:"role"`
}

CreateResponse create response

type DeleteRequest

type DeleteRequest struct {
	URI DeleteRequestURI
}

type DeleteRequestURI

type DeleteRequestURI struct {
	Key string `uri:"key" binding:"required"`
}

type DeleteResponse

type DeleteResponse struct {
	Message string `json:"message"`
}

DeleteResponse delete response

type ErrorResponse added in v0.0.2

type ErrorResponse struct {
	Error string `json:"error" example:"error message"`
}

ErrorResponse error response

type GetRequest

type GetRequest struct {
	URI GetRequestURI
}

type GetRequestURI

type GetRequestURI struct {
	Key string `uri:"key" binding:"required"`
}

type GetResourceRequest

type GetResourceRequest struct {
	URI GetResourceRequestURI
}

type GetResourceRequestURI

type GetResourceRequestURI struct {
	Path string `uri:"path" binding:"required"`
}

type GetResourceResponse

type GetResourceResponse struct {
	Resource *ResourceEntry `json:"resource"`
}

GetResourceResponse get resource response

type GetResponse

type GetResponse struct {
	Role *RoleEntry `json:"role"`
}

GetResponse get response

type ListResourcesResponse

type ListResourcesResponse struct {
	Resources []ResourceEntry `json:"resources"`
}

ListResourcesResponse list resources response

type ListResponse

type ListResponse struct {
	Roles []*RoleEntry `json:"roles"`
}

ListResponse list response

type Params

type Params struct {
	weedbox.Params
	HTTPServer *http_server.HTTPServer
	RBAC       *rbac.RBACManager `name:"rbac"`
	Auth       *auth.AuthManager `name:"auth"`
}

type PermissionsRequest

type PermissionsRequest struct {
	URI  PermissionsRequestURI
	Body PermissionsRequestBody
}

type PermissionsRequestBody

type PermissionsRequestBody struct {
	Permissions []string `json:"permissions" binding:"required,min=1"`
}

type PermissionsRequestURI

type PermissionsRequestURI struct {
	Key string `uri:"key" binding:"required"`
}

type RemovePermissionsResponse

type RemovePermissionsResponse struct {
	Message string     `json:"message"`
	Role    *RoleEntry `json:"role"`
}

RemovePermissionsResponse remove permissions response

type ResourceEntry

type ResourceEntry struct {
	Key          string          `json:"key"`
	Name         string          `json:"name"`
	Description  string          `json:"description"`
	Actions      []ActionEntry   `json:"actions"`
	SubResources []ResourceEntry `json:"sub_resources,omitempty"`
}

ResourceEntry resource item in API response

type RoleAPIs

type RoleAPIs struct {
	weedbox.Module[*Params]
}

func (*RoleAPIs) InitDefaultConfigs

func (m *RoleAPIs) InitDefaultConfigs()

func (*RoleAPIs) OnStart

func (m *RoleAPIs) OnStart(ctx context.Context) error

func (*RoleAPIs) OnStop

func (m *RoleAPIs) OnStop(ctx context.Context) error

type RoleEntry

type RoleEntry struct {
	ID          uint     `json:"id"`
	Key         string   `json:"key"`
	Name        string   `json:"name"`
	Description string   `json:"description"`
	Permissions []string `json:"permissions"`
	CreatedAt   string   `json:"created_at"`
	UpdatedAt   string   `json:"updated_at"`
}

RoleEntry role item in API response

type UpdateRequest

type UpdateRequest struct {
	URI  UpdateRequestURI
	Body UpdateRequestBody
}

type UpdateRequestBody

type UpdateRequestBody struct {
	Name        string   `json:"name" binding:"required,min=1,max=255"`
	Description string   `json:"description"`
	Permissions []string `json:"permissions"`
}

type UpdateRequestURI

type UpdateRequestURI struct {
	Key string `uri:"key" binding:"required"`
}

type UpdateResponse

type UpdateResponse struct {
	Message string     `json:"message"`
	Role    *RoleEntry `json:"role"`
}

UpdateResponse update response

Jump to

Keyboard shortcuts

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