Skip to content

Commit

Permalink
feat: image docs
Browse files Browse the repository at this point in the history
  • Loading branch information
bookpanda committed Jan 21, 2024
1 parent e454e21 commit d780a0a
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 58 deletions.
79 changes: 23 additions & 56 deletions src/app/handler/image/image.handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,18 @@ func NewHandler(service imageSvc.Service, validate validator.IDtoValidator) *Han
return &Handler{service, validate}
}

func (h *Handler) FindByPetId(c *router.FiberCtx) {
id, err := c.ID()
if err != nil {
c.JSON(http.StatusBadRequest, dto.ResponseErr{
StatusCode: http.StatusInternalServerError,
Message: constant.InvalidIDMessage,
Data: nil,
})
return
}

response, respErr := h.service.FindByPetId(id)
if respErr != nil {
c.JSON(respErr.StatusCode, respErr)
return
}

c.JSON(http.StatusOK, response)
return
}

// Upload is a function for uploading image to bucket
// @Summary Upload image
// @Description Returns the data of image. If updating pet, add petId. If creating pet, petId is not specified, but keep the imageId.
// @Param image body dto.UploadImageRequest true "upload image request dto"
// @Tags image
// @Accept json
// @Produce json
// @Success 201 {object} dto.ImageResponse
// @Failure 400 {object} dto.ResponseBadRequestErr "Invalid request body"
// @Failure 500 {object} dto.ResponseInternalErr "Internal service error"
// @Failure 503 {object} dto.ResponseServiceDownErr "Service is down"
// @Router /v1/images/ [post]
func (h *Handler) Upload(c *router.FiberCtx) {
request := &dto.UploadImageRequest{}
err := c.Bind(request)
Expand Down Expand Up @@ -76,6 +67,17 @@ func (h *Handler) Upload(c *router.FiberCtx) {
return
}

// Delete is a function for deleting image from bucket
// @Summary Delete image
// @Description Returns status of deleting image
// @Param id path string true "image id"
// @Tags image
// @Accept json
// @Produce json
// @Success 200 {object} dto.DeleteResponse
// @Failure 500 {object} dto.ResponseInternalErr "Internal service error"
// @Failure 503 {object} dto.ResponseServiceDownErr "Service is down"
// @Router /v1/images/{id} [delete]
func (h *Handler) Delete(c *router.FiberCtx) {
id, err := c.ID()
if err != nil {
Expand All @@ -96,38 +98,3 @@ func (h *Handler) Delete(c *router.FiberCtx) {
c.JSON(http.StatusOK, res.Success)
return
}

func (h *Handler) AssignPet(c *router.FiberCtx) {
request := &dto.AssignPetRequest{}
err := c.Bind(request)
if err != nil {
c.JSON(http.StatusBadRequest, dto.ResponseErr{
StatusCode: http.StatusBadRequest,
Message: constant.BindingRequestErrorMessage + err.Error(),
Data: nil,
})
return
}

if err := h.validate.Validate(request); err != nil {
var errorMessage []string
for _, reqErr := range err {
errorMessage = append(errorMessage, reqErr.Message)
}
c.JSON(http.StatusBadRequest, dto.ResponseErr{
StatusCode: http.StatusBadRequest,
Message: constant.InvalidRequestBodyMessage + strings.Join(errorMessage, ", "),
Data: nil,
})
return
}

response, respErr := h.service.AssignPet(request)
if respErr != nil {
c.JSON(respErr.StatusCode, respErr)
return
}

c.JSON(http.StatusOK, response)
return
}
2 changes: 1 addition & 1 deletion src/app/handler/pet/pet.handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ func (h *Handler) ChangeView(c router.IContext) {
// @Failure 400 {object} dto.ResponseBadRequestErr "Invalid request body"
// @Failure 500 {object} dto.ResponseInternalErr "Internal service error"
// @Failure 503 {object} dto.ResponseServiceDownErr "Service is down"
// @Router /v1/pets/ [delete]
// @Router /v1/pets/{id} [delete]
func (h *Handler) Delete(c router.IContext) {
id, err := c.Param("id")
if err != nil {
Expand Down
2 changes: 2 additions & 0 deletions src/docs/markdown/image.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Image Tag API Documentation
**Image** functions goes here
2 changes: 2 additions & 0 deletions src/docs/markdown/pet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Pet Tag API Documentation
**Pet** functions goes here
2 changes: 2 additions & 0 deletions src/docs/markdown/user.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# User Tag API Documentation
**User** functions goes here
1 change: 0 additions & 1 deletion src/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,6 @@ func main() {

r.PostImage("/", imageHandler.Upload)
r.DeleteImage("/:id", imageHandler.Delete)
r.PostImage("/assign", imageHandler.AssignPet)

v1 := router.NewAPIv1(r, conf.App)

Expand Down

0 comments on commit d780a0a

Please sign in to comment.