From 20b914697d2002b28a843942f04e0dce2ce36024 Mon Sep 17 00:00:00 2001 From: hanif salafi Date: Wed, 29 May 2024 00:21:17 +0700 Subject: [PATCH] feat: update for position in ppid data, files, category --- .../controller/ppid_data_files.controller.go | 40 ++++++------------- .../mapper/ppid_data_files.mapper.go | 1 + .../ppid_data_files/ppid_data_files.module.go | 2 +- .../request/ppid_data_files.request.go | 4 +- .../response/ppid_data_files.response.go | 13 +++--- .../ppid_datas/mapper/ppid_datas.mapper.go | 1 + .../response/ppid_datas.response.go | 1 + docs/swagger/docs.go | 10 +++-- docs/swagger/swagger.json | 10 +++-- docs/swagger/swagger.yaml | 9 +++-- 10 files changed, 45 insertions(+), 46 deletions(-) diff --git a/app/module/ppid_data_files/controller/ppid_data_files.controller.go b/app/module/ppid_data_files/controller/ppid_data_files.controller.go index a33e931..7d7ba90 100644 --- a/app/module/ppid_data_files/controller/ppid_data_files.controller.go +++ b/app/module/ppid_data_files/controller/ppid_data_files.controller.go @@ -6,11 +6,9 @@ import ( "go-humas-be/app/module/ppid_data_files/request" "go-humas-be/app/module/ppid_data_files/service" "go-humas-be/utils/paginator" - "strconv" - "time" - utilRes "go-humas-be/utils/response" utilVal "go-humas-be/utils/validator" + "strconv" ) type ppidDataFilesController struct { @@ -167,8 +165,8 @@ func (_i *ppidDataFilesController) Update(c *fiber.Ctx) error { } // UpdatePosition PpidDataFiles -// @Summary UpdatePosition PpidDataFiles -// @Description API for Update Position PpidDataFiles +// @Summary updatePosition PpidDataFiles +// @Description API for PpidDataFiles // @Tags PPID Files // @Security Bearer // @Param payload body request.PpidDataFilesUpdatePositionPayload true "Required payload" @@ -176,31 +174,17 @@ func (_i *ppidDataFilesController) Update(c *fiber.Ctx) error { // @Failure 400 {object} response.BadRequestError // @Failure 401 {object} response.UnauthorizedError // @Failure 500 {object} response.InternalServerError -// @Router /ppid-data-files/position [post] +// @Router /ppid-data-files/update/position [post] func (_i *ppidDataFilesController) UpdatePosition(c *fiber.Ctx) error { + req := new(request.PpidDataFilesUpdatePositionPayload) + if err := utilVal.ParseAndValidate(c, req); err != nil { + return err + } - _i.Log.Info().Str("timestamp", time.Now(). - Format(time.RFC3339)).Str("Service:All", "ppidDataFilesController"). - Interface("req", "TEST").Msg("") - - //req := new(request.PpidDataFilesUpdatePositionPayload) - // - //_i.Log.Info().Str("timestamp", time.Now(). - // Format(time.RFC3339)).Str("Service:All", "ppidDataCategoriesController"). - // Interface("req", "TEST").Msg("") - // - //if err := utilVal.ParseAndValidate(c, req); err != nil { - // return err - //} - // - //_i.Log.Info().Str("timestamp", time.Now(). - // Format(time.RFC3339)).Str("Service:All", "ppidDataCategoriesController"). - // Interface("req", req).Msg("") - // - //err := _i.ppidDataFilesService.UpdatePosition(req.Positions) - //if err != nil { - // return err - //} + err := _i.ppidDataFilesService.UpdatePosition(req.Positions) + if err != nil { + return err + } return utilRes.Resp(c, utilRes.Response{ Success: true, diff --git a/app/module/ppid_data_files/mapper/ppid_data_files.mapper.go b/app/module/ppid_data_files/mapper/ppid_data_files.mapper.go index 2c9bc37..1610bd3 100644 --- a/app/module/ppid_data_files/mapper/ppid_data_files.mapper.go +++ b/app/module/ppid_data_files/mapper/ppid_data_files.mapper.go @@ -18,6 +18,7 @@ func PpidDataFilesResponseMapper(ppidDataFilesReq *entity.PpidDataFiles) (ppidDa FileUrl: fileUrl, FileType: ppidDataFilesReq.FileType, DownloadCount: ppidDataFilesReq.DownloadCount, + Position: ppidDataFilesReq.Position, CreatedById: ppidDataFilesReq.CreatedById, StatusId: ppidDataFilesReq.StatusId, IsPublish: ppidDataFilesReq.IsPublish, diff --git a/app/module/ppid_data_files/ppid_data_files.module.go b/app/module/ppid_data_files/ppid_data_files.module.go index 4905547..794aba7 100644 --- a/app/module/ppid_data_files/ppid_data_files.module.go +++ b/app/module/ppid_data_files/ppid_data_files.module.go @@ -48,7 +48,7 @@ func (_i *PpidDataFilesRouter) RegisterPpidDataFilesRoutes() { router.Get("/:id", ppidDataFilesController.Show) router.Post("/:ppidDataId", ppidDataFilesController.Save) router.Put("/:id", ppidDataFilesController.Update) - router.Post("/position", ppidDataFilesController.UpdatePosition) + router.Post("/update/position", ppidDataFilesController.UpdatePosition) router.Delete("/:id", ppidDataFilesController.Delete) router.Get("/viewer/:filename", ppidDataFilesController.Viewer) }) diff --git a/app/module/ppid_data_files/request/ppid_data_files.request.go b/app/module/ppid_data_files/request/ppid_data_files.request.go index ad86bf8..7684d2b 100644 --- a/app/module/ppid_data_files/request/ppid_data_files.request.go +++ b/app/module/ppid_data_files/request/ppid_data_files.request.go @@ -78,8 +78,8 @@ type PpidDataFilesUpdatePositionPayload struct { } type PpidDataFilesUpdatePositionRequest struct { - ID uint `json:"id"` - Position int `json:"position"` + ID uint `json:"id" validate:"required"` + Position int `json:"position" validate:"required"` } func (req PpidDataFilesUpdatePositionRequest) ToEntity() *entity.PpidDataFiles { diff --git a/app/module/ppid_data_files/response/ppid_data_files.response.go b/app/module/ppid_data_files/response/ppid_data_files.response.go index fa6db39..5deb365 100644 --- a/app/module/ppid_data_files/response/ppid_data_files.response.go +++ b/app/module/ppid_data_files/response/ppid_data_files.response.go @@ -11,10 +11,11 @@ type PpidDataFilesResponse struct { FileUrl string `json:"fileUrl"` DownloadCount *int `json:"downloadCount"` CreatedById *int `json:"createdById"` - StatusId *int `json:"status_id"` - IsPublish *bool `json:"is_publish"` - PublishedAt *time.Time `json:"published_at"` - IsActive *bool `json:"is_active"` - CreatedAt time.Time `json:"created_at"` - UpdatedAt time.Time `json:"updated_at"` + Position *int `json:"position"` + StatusId *int `json:"statusId"` + IsPublish *bool `json:"isPublish"` + PublishedAt *time.Time `json:"publishedAt"` + IsActive *bool `json:"isActive"` + CreatedAt time.Time `json:"createdAt"` + UpdatedAt time.Time `json:"updatedAt"` } diff --git a/app/module/ppid_datas/mapper/ppid_datas.mapper.go b/app/module/ppid_datas/mapper/ppid_datas.mapper.go index d598c13..8390750 100644 --- a/app/module/ppid_datas/mapper/ppid_datas.mapper.go +++ b/app/module/ppid_datas/mapper/ppid_datas.mapper.go @@ -53,6 +53,7 @@ func PpidDatasResponseMapper( CategoryName: &categoryName, CreatedById: ppidDatasReq.CreatedById, CreatedByName: &createdByName, + Position: ppidDatasReq.Position, StatusId: ppidDatasReq.StatusId, IsPublish: ppidDatasReq.IsPublish, PublishedAt: ppidDatasReq.PublishedAt, diff --git a/app/module/ppid_datas/response/ppid_datas.response.go b/app/module/ppid_datas/response/ppid_datas.response.go index 66c27c9..4c8254f 100644 --- a/app/module/ppid_datas/response/ppid_datas.response.go +++ b/app/module/ppid_datas/response/ppid_datas.response.go @@ -17,6 +17,7 @@ type PpidDatasResponse struct { StatusId int `json:"statusId"` StatusName int `json:"statusName"` IsPublish *bool `json:"isPublish"` + Position *int `json:"position"` PublishedAt *time.Time `json:"publishedAt"` IsActive *bool `json:"isActive"` CreatedAt time.Time `json:"createdAt"` diff --git a/docs/swagger/docs.go b/docs/swagger/docs.go index b39d6d6..61bd204 100644 --- a/docs/swagger/docs.go +++ b/docs/swagger/docs.go @@ -4253,18 +4253,18 @@ const docTemplate = `{ } } }, - "/ppid-data-files/position": { + "/ppid-data-files/update/position": { "post": { "security": [ { "Bearer": [] } ], - "description": "API for Update Position PpidDataFiles", + "description": "API for PpidDataFiles", "tags": [ "PPID Files" ], - "summary": "UpdatePosition PpidDataFiles", + "summary": "updatePosition PpidDataFiles", "parameters": [ { "description": "Required payload", @@ -7223,6 +7223,10 @@ const docTemplate = `{ }, "request.PpidDataFilesUpdatePositionRequest": { "type": "object", + "required": [ + "id", + "position" + ], "properties": { "id": { "type": "integer" diff --git a/docs/swagger/swagger.json b/docs/swagger/swagger.json index 1c864e2..2e4b615 100644 --- a/docs/swagger/swagger.json +++ b/docs/swagger/swagger.json @@ -4242,18 +4242,18 @@ } } }, - "/ppid-data-files/position": { + "/ppid-data-files/update/position": { "post": { "security": [ { "Bearer": [] } ], - "description": "API for Update Position PpidDataFiles", + "description": "API for PpidDataFiles", "tags": [ "PPID Files" ], - "summary": "UpdatePosition PpidDataFiles", + "summary": "updatePosition PpidDataFiles", "parameters": [ { "description": "Required payload", @@ -7212,6 +7212,10 @@ }, "request.PpidDataFilesUpdatePositionRequest": { "type": "object", + "required": [ + "id", + "position" + ], "properties": { "id": { "type": "integer" diff --git a/docs/swagger/swagger.yaml b/docs/swagger/swagger.yaml index ef9f480..42b8843 100644 --- a/docs/swagger/swagger.yaml +++ b/docs/swagger/swagger.yaml @@ -301,6 +301,9 @@ definitions: type: integer position: type: integer + required: + - id + - position type: object request.PpidDataFilesUpdateRequest: properties: @@ -3476,9 +3479,9 @@ paths: summary: Create PpidDataFiles tags: - PPID Files - /ppid-data-files/position: + /ppid-data-files/update/position: post: - description: API for Update Position PpidDataFiles + description: API for PpidDataFiles parameters: - description: Required payload in: body @@ -3505,7 +3508,7 @@ paths: $ref: '#/definitions/response.InternalServerError' security: - Bearer: [] - summary: UpdatePosition PpidDataFiles + summary: updatePosition PpidDataFiles tags: - PPID Files /ppid-data-files/viewer/{filename}: