users

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2025 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrorResponse

type ErrorResponse struct {
	Message string `json:"message,omitempty"`
	Status  string `json:"status,omitempty"`
}

type Response

type Response struct {
	Status string `json:"status,omitempty"`
}

type UserHandler

type UserHandler struct {
	ListUserUsecase     *usecase.ListUserUsecase
	FindUserByIdUsecase *usecase.FindUserByIdUsecase
	SearchUserUsecase   *usecase.SearchUsecase
	AddUserUsecase      *usecase.CreateUserUsecase
}

func NewUsersHandler

func NewUsersHandler(
	listUserUsecase *usecase.ListUserUsecase,
	findUserByIdUsecase *usecase.FindUserByIdUsecase,
	searchUserUsecase *usecase.SearchUsecase,
	addUserUsecase *usecase.CreateUserUsecase,
) *UserHandler

func (*UserHandler) GetUserById

func (h *UserHandler) GetUserById(ctx *gin.Context)

GetUserById godoc @Summary ユーザーの詳細情報を取得 @Tags Users @Accept json @Produce json @Param request path string ture "ユーザーID" @Success 200 {object} UserResponseModel @Router /v1/users/:id [get]

func (*UserHandler) ListUser

func (h *UserHandler) ListUser(ctx *gin.Context)

ListUsers godoc @Summary ユーザー一覧取得 @Tags Users @Accept json @Produce json @Success 200 {object} UsersResponse @Router /v1/users [get]

func (*UserHandler) RegisterUser

func (h *UserHandler) RegisterUser(ctx *gin.Context)

RegisterUser godoc @Summary ユーザー情報を登録 @Tags Users @Accept json @Produce json @Param request body UserRequestModel true "ユーザー情報" @Success 200 {object} Response @Failure 400 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /v1/users [post]

func (*UserHandler) SearchUsers

func (h *UserHandler) SearchUsers(ctx *gin.Context)

SearchUsers godoc @Summary ユーザー検索 @Description ユーザーのメールアドレスやカスタムIDで検索 @Param email query string false "メールアドレス" @Param custom_id query string false "カスタムID" @Param name query string false "名前" @Param external_email query string false "外部メールアドレス" @Param period query string false "期間" @Param is_enable query boolean false "有効フラグ" @Param limit query string false "取得件数" @Param page query string false "ページ番号" @Tags Users @Accept json @Produce json @Success 200 {object} UsersResponse @Router /v1/users [get]

type UserRequestModel

type UserRequestModel struct {
	ID            string `json:"id,omitempty"`
	Email         string `json:"email,omitempty"`
	CustomID      string `json:"custom_id,omitempty"`
	Name          string `json:"name,omitempty"`
	ExternalEmail string `json:"external_email,omitempty"`
	Period        string `json:"period,omitempty"`
	IsEnable      bool   `json:"is_enable,omitempty"`
	PasswordHash  string `json:"password_hash,omitempty"`
}

type UserResponseModel

type UserResponseModel struct {
	ID            string `json:"id,omitempty"`
	Email         string `json:"email,omitempty"`
	CustomID      string `json:"custom_id,omitempty"`
	Name          string `json:"name,omitempty"`
	ExternalEmail string `json:"external_email,omitempty"`
	Period        string `json:"period,omitempty"`
	IsEnable      bool   `json:"is_enable,omitempty"`
}

type UsersResponse

type UsersResponse struct {
	TotalCount int64               `json:"total_count,omitempty"`
	Pages      int                 `json:"pages,omitempty"`
	Users      []UserResponseModel `json:"data,omitempty"`
}

Jump to

Keyboard shortcuts

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