Implement swagger
This commit is contained in:
@@ -19,14 +19,41 @@ func NewUserHandler(repo repository.UserRepository) *UserHandler {
|
||||
return &UserHandler{repo: repo}
|
||||
}
|
||||
|
||||
type createUserRequest struct {
|
||||
type CreateUserRequest struct {
|
||||
UserName string `json:"user_name" binding:"required"`
|
||||
UserMail string `json:"user_mail" binding:"required,email"`
|
||||
Password string `json:"password" binding:"required,min=8"`
|
||||
Password string `json:"password" binding:"required,min=12"`
|
||||
}
|
||||
|
||||
type MessageResponse struct {
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type CreateUserResponse struct {
|
||||
Message string `json:"message"`
|
||||
ID string `json:"id"`
|
||||
}
|
||||
|
||||
type UsernameResponse struct {
|
||||
UserName string `json:"user_name"`
|
||||
}
|
||||
|
||||
type ErrorResponse struct {
|
||||
Error string `json:"error"`
|
||||
}
|
||||
|
||||
// CreateUser godoc
|
||||
// @Summary Create a user
|
||||
// @Tags user
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param payload body CreateUserRequest true "User payload"
|
||||
// @Success 201 {object} CreateUserResponse
|
||||
// @Failure 400 {object} ErrorResponse
|
||||
// @Failure 500 {object} ErrorResponse
|
||||
// @Router /user/create [post]
|
||||
func (h *UserHandler) CreateUser(c *gin.Context) {
|
||||
var req createUserRequest
|
||||
var req CreateUserRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
@@ -55,6 +82,15 @@ func (h *UserHandler) CreateUser(c *gin.Context) {
|
||||
})
|
||||
}
|
||||
|
||||
// GetUsernameByID godoc
|
||||
// @Summary Get username by user ID
|
||||
// @Tags user
|
||||
// @Produce json
|
||||
// @Param id path string true "User ID (UUID)"
|
||||
// @Success 200 {object} UsernameResponse
|
||||
// @Failure 400 {object} ErrorResponse
|
||||
// @Failure 500 {object} ErrorResponse
|
||||
// @Router /user/getUserNameByID/{id} [get]
|
||||
func (h *UserHandler) GetUsernameByID(c *gin.Context) {
|
||||
idParam := c.Param("id")
|
||||
var pgID pgtype.UUID
|
||||
|
||||
Reference in New Issue
Block a user