Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ErrorResponse ¶
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"`
}