users

package
v0.4.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewHandler

func NewHandler(usersSvc *users.Service, jwtSvc *jwt.Service, validate *validator.Validate) handler.Handler

Types

type GetResponse

type GetResponse struct {
	ID        int64        `json:"id"         example:"42"`
	Email     string       `json:"email"      example:"user@example.com"`
	Name      string       `json:"name"       example:"user"`
	Role      users.Role   `json:"role"       example:"user"                 enums:"admin,user"`
	Status    users.Status `json:"status"     example:"active"               enums:"pending,active,blocked"`
	CreatedAt time.Time    `json:"created_at" example:"2026-04-06T10:00:00Z"`
	UpdatedAt time.Time    `json:"updated_at" example:"2026-04-06T10:00:00Z"`
}

GetResponse represents user data in admin responses (without password).

@Description	User data returned in admin API responses (password excluded).

type Handler

type Handler struct {
	handler.Base
	// contains filtered or unexported fields
}

func (*Handler) Register

func (h *Handler) Register(r fiber.Router)

type ListFilter

type ListFilter struct {
	Status *users.Status `query:"status" validate:"omitempty,oneof=pending active blocked" enums:"pending,active,blocked"`
	Role   *users.Role   `query:"role"   validate:"omitempty,oneof=admin user"             enums:"admin,user"`
	Limit  int           `query:"limit"  validate:"min=1,max=100"                                                         default:"20"`
	Offset int           `query:"offset" validate:"min=0"                                                                 default:"0"`
}

ListFilter represents query parameters for filtering users.

@Description	Query parameters for filtering and paginating users list.

type ListResponse

type ListResponse struct {
	Items []GetResponse `json:"items"`
	Total int           `json:"total" example:"42"`
}

ListResponse represents paginated list of users.

@Description	Paginated response containing users list and total count.

type SearchQuery

type SearchQuery struct {
	dto.PaginationQuery

	Query string `query:"query" validate:"required,min=1,max=255"`
}

SearchQuery represents query parameters for searching users by name.

type UpdateRequest

type UpdateRequest struct {
	Status *users.Status `json:"status,omitempty" validate:"omitempty,oneof=pending active blocked" enums:"pending,active,blocked"`
	Role   *users.Role   `json:"role,omitempty"   validate:"omitempty,oneof=admin user"             enums:"admin,user"`
}

UpdateRequest represents admin request to update user status/role.

@Description	Admin can update user status (active/blocked/pending) and role (admin/user).

Jump to

Keyboard shortcuts

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