fix: update gallery files
This commit is contained in:
parent
0dba3b27cf
commit
3802c801a6
|
|
@ -9,7 +9,6 @@ import (
|
|||
"github.com/gofiber/fiber/v2"
|
||||
|
||||
utilRes "jaecoo-be/utils/response"
|
||||
utilVal "jaecoo-be/utils/validator"
|
||||
)
|
||||
|
||||
type galleryFilesController struct {
|
||||
|
|
@ -161,12 +160,15 @@ func (_i *galleryFilesController) Save(c *fiber.Ctx) error {
|
|||
|
||||
// Update GalleryFile
|
||||
// @Summary Update GalleryFile
|
||||
// @Description API for updating GalleryFile
|
||||
// @Description API for updating GalleryFile with file upload
|
||||
// @Tags GalleryFiles
|
||||
// @Security Bearer
|
||||
// @Param X-Client-Key header string true "Insert the X-Client-Key"
|
||||
// @Param id path int true "GalleryFile ID"
|
||||
// @Param payload body request.GalleryFilesUpdateRequest true "Required payload"
|
||||
// @Param file formData file false "Upload file"
|
||||
// @Param gallery_id formData int false "Gallery ID"
|
||||
// @Param title formData string false "Gallery file title"
|
||||
// @Param is_active formData bool false "Is active"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Failure 400 {object} response.BadRequestError
|
||||
// @Failure 401 {object} response.UnauthorizedError
|
||||
|
|
@ -178,12 +180,47 @@ func (_i *galleryFilesController) Update(c *fiber.Ctx) error {
|
|||
return err
|
||||
}
|
||||
|
||||
req := new(request.GalleryFilesUpdateRequest)
|
||||
if err := utilVal.ParseAndValidate(c, req); err != nil {
|
||||
return err
|
||||
// Parse multipart form
|
||||
form, err := c.MultipartForm()
|
||||
if err != nil {
|
||||
return utilRes.Resp(c, utilRes.Response{
|
||||
Success: false,
|
||||
Messages: utilRes.Messages{"Failed to parse form data"},
|
||||
})
|
||||
}
|
||||
|
||||
dataResult, err := _i.galleryFilesService.Update(uint(id), *req)
|
||||
req := request.GalleryFilesUpdateRequest{}
|
||||
|
||||
// Extract gallery_id if provided
|
||||
if galleryIDStr := c.FormValue("gallery_id"); galleryIDStr != "" {
|
||||
galleryID, err := strconv.ParseUint(galleryIDStr, 10, 0)
|
||||
if err != nil {
|
||||
return utilRes.Resp(c, utilRes.Response{
|
||||
Success: false,
|
||||
Messages: utilRes.Messages{"Invalid gallery_id"},
|
||||
})
|
||||
}
|
||||
galleryIDUint := uint(galleryID)
|
||||
req.GalleryID = &galleryIDUint
|
||||
}
|
||||
|
||||
// Extract title if provided
|
||||
if title := c.FormValue("title"); title != "" {
|
||||
req.Title = &title
|
||||
}
|
||||
|
||||
// Extract is_active if provided
|
||||
if isActiveStr := c.FormValue("is_active"); isActiveStr != "" {
|
||||
isActive := isActiveStr == "true" || isActiveStr == "1"
|
||||
req.IsActive = &isActive
|
||||
}
|
||||
|
||||
// Check if file is uploaded
|
||||
if len(form.File["file"]) > 0 {
|
||||
// File will be handled in service
|
||||
}
|
||||
|
||||
dataResult, err := _i.galleryFilesService.Update(c, uint(id), req)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ type GalleryFilesService interface {
|
|||
GetAll(req request.GalleryFilesQueryRequest) (files []*response.GalleryFilesResponse, paging paginator.Pagination, err error)
|
||||
GetOne(id uint) (file *response.GalleryFilesResponse, err error)
|
||||
Create(c *fiber.Ctx, req request.GalleryFilesCreateRequest) (file *response.GalleryFilesResponse, err error)
|
||||
Update(id uint, req request.GalleryFilesUpdateRequest) (file *response.GalleryFilesResponse, err error)
|
||||
Update(c *fiber.Ctx, id uint, req request.GalleryFilesUpdateRequest) (file *response.GalleryFilesResponse, err error)
|
||||
Delete(id uint) (err error)
|
||||
UploadFileToMinio(c *fiber.Ctx, fileKey string) (filePath *string, err error)
|
||||
Viewer(c *fiber.Ctx) (err error)
|
||||
|
|
@ -168,7 +168,12 @@ func (_i *galleryFilesService) UploadFileToMinio(c *fiber.Ctx, fileKey string) (
|
|||
return &objectName, nil
|
||||
}
|
||||
|
||||
func (_i *galleryFilesService) Update(id uint, req request.GalleryFilesUpdateRequest) (file *response.GalleryFilesResponse, err error) {
|
||||
func (_i *galleryFilesService) Update(c *fiber.Ctx, id uint, req request.GalleryFilesUpdateRequest) (file *response.GalleryFilesResponse, err error) {
|
||||
// Handle file upload if exists
|
||||
if filePath, uploadErr := _i.UploadFileToMinio(c, "file"); uploadErr == nil && filePath != nil {
|
||||
req.ImagePath = filePath
|
||||
}
|
||||
|
||||
fileEntity := req.ToEntity()
|
||||
|
||||
err = _i.Repo.Update(id, fileEntity)
|
||||
|
|
|
|||
|
|
@ -5562,7 +5562,7 @@ const docTemplate = `{
|
|||
"Bearer": []
|
||||
}
|
||||
],
|
||||
"description": "API for updating GalleryFile",
|
||||
"description": "API for updating GalleryFile with file upload",
|
||||
"tags": [
|
||||
"GalleryFiles"
|
||||
],
|
||||
|
|
@ -5583,13 +5583,28 @@ const docTemplate = `{
|
|||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Required payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/request.GalleryFilesUpdateRequest"
|
||||
}
|
||||
"type": "file",
|
||||
"description": "Upload file",
|
||||
"name": "file",
|
||||
"in": "formData"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "Gallery ID",
|
||||
"name": "gallery_id",
|
||||
"in": "formData"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Gallery file title",
|
||||
"name": "title",
|
||||
"in": "formData"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"description": "Is active",
|
||||
"name": "is_active",
|
||||
"in": "formData"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
|
|
@ -10495,23 +10510,6 @@ const docTemplate = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"request.GalleryFilesUpdateRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"gallery_id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"image_path": {
|
||||
"type": "string"
|
||||
},
|
||||
"is_active": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.ProductSpecificationsUpdateRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
|
|
|||
|
|
@ -5551,7 +5551,7 @@
|
|||
"Bearer": []
|
||||
}
|
||||
],
|
||||
"description": "API for updating GalleryFile",
|
||||
"description": "API for updating GalleryFile with file upload",
|
||||
"tags": [
|
||||
"GalleryFiles"
|
||||
],
|
||||
|
|
@ -5572,13 +5572,28 @@
|
|||
"required": true
|
||||
},
|
||||
{
|
||||
"description": "Required payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/request.GalleryFilesUpdateRequest"
|
||||
}
|
||||
"type": "file",
|
||||
"description": "Upload file",
|
||||
"name": "file",
|
||||
"in": "formData"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"description": "Gallery ID",
|
||||
"name": "gallery_id",
|
||||
"in": "formData"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"description": "Gallery file title",
|
||||
"name": "title",
|
||||
"in": "formData"
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"description": "Is active",
|
||||
"name": "is_active",
|
||||
"in": "formData"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
|
|
@ -10484,23 +10499,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"request.GalleryFilesUpdateRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"gallery_id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"image_path": {
|
||||
"type": "string"
|
||||
},
|
||||
"is_active": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.ProductSpecificationsUpdateRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
|
|
|||
|
|
@ -390,17 +390,6 @@ definitions:
|
|||
title:
|
||||
type: string
|
||||
type: object
|
||||
request.GalleryFilesUpdateRequest:
|
||||
properties:
|
||||
gallery_id:
|
||||
type: integer
|
||||
image_path:
|
||||
type: string
|
||||
is_active:
|
||||
type: boolean
|
||||
title:
|
||||
type: string
|
||||
type: object
|
||||
request.ProductSpecificationsUpdateRequest:
|
||||
properties:
|
||||
is_active:
|
||||
|
|
@ -4318,7 +4307,7 @@ paths:
|
|||
tags:
|
||||
- GalleryFiles
|
||||
put:
|
||||
description: API for updating GalleryFile
|
||||
description: API for updating GalleryFile with file upload
|
||||
parameters:
|
||||
- description: Insert the X-Client-Key
|
||||
in: header
|
||||
|
|
@ -4330,12 +4319,22 @@ paths:
|
|||
name: id
|
||||
required: true
|
||||
type: integer
|
||||
- description: Required payload
|
||||
in: body
|
||||
name: payload
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/request.GalleryFilesUpdateRequest'
|
||||
- description: Upload file
|
||||
in: formData
|
||||
name: file
|
||||
type: file
|
||||
- description: Gallery ID
|
||||
in: formData
|
||||
name: gallery_id
|
||||
type: integer
|
||||
- description: Gallery file title
|
||||
in: formData
|
||||
name: title
|
||||
type: string
|
||||
- description: Is active
|
||||
in: formData
|
||||
name: is_active
|
||||
type: boolean
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
|
|
|
|||
Loading…
Reference in New Issue