feat: update for position in ppid data, files, category
This commit is contained in:
parent
ae3a6653ac
commit
89761a5c89
|
|
@ -8,6 +8,7 @@ type ArticleCategories struct {
|
|||
Description string `json:"description" gorm:"type:varchar"`
|
||||
ThumbnailPath *string `json:"thumbnail_path" gorm:"type:varchar"`
|
||||
ParentId *int `json:"parent_id" gorm:"type:int4"`
|
||||
Position *int `json:"position" gorm:"type:int4"`
|
||||
CreatedById *uint `json:"created_by_id" gorm:"type:int4"`
|
||||
StatusId int `json:"status_id" gorm:"type:int4;default:1"`
|
||||
IsPublish *bool `json:"is_publish" gorm:"type:bool;default:false"`
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ type PpidDataCategories struct {
|
|||
Description string `json:"description" gorm:"type:varchar"`
|
||||
Slug string `json:"slug" gorm:"type:varchar"`
|
||||
ParentId *uint `json:"parent_id" gorm:"type:int4"`
|
||||
Position *int `json:"position" gorm:"type:int4"`
|
||||
ThumbnailPath *string `json:"thumbnail_path" gorm:"type:varchar"`
|
||||
IsActive *bool `json:"is_active" gorm:"type:bool;default:true"`
|
||||
CreatedAt time.Time `json:"created_at" gorm:"default:now()"`
|
||||
|
|
|
|||
|
|
@ -9,7 +9,9 @@ type PpidDataFiles struct {
|
|||
FileType *string `json:"file_type" gorm:"type:varchar"`
|
||||
FileName *string `json:"file_name" gorm:"type:varchar"`
|
||||
FilePath *string `json:"file_path" gorm:"type:varchar"`
|
||||
FileUrl *string `json:"file_url" gorm:"type:varchar"`
|
||||
Size *string `json:"size" gorm:"type:varchar"`
|
||||
Position *int `json:"position" gorm:"type:int4"`
|
||||
DownloadCount *int `json:"download_count" gorm:"type:int4;default:0"`
|
||||
CreatedById *int `json:"created_by_id" gorm:"type:int4"`
|
||||
StatusId *int `json:"status_id" gorm:"type:int4"`
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ type PpidDatas struct {
|
|||
CreatedById *uint `json:"created_by_id" gorm:"type:int4"`
|
||||
LevelGroupId *uint `json:"level_group_id" gorm:"type:int4"`
|
||||
Group *string `json:"group" gorm:"type:varchar"`
|
||||
Position *int `json:"position" gorm:"type:int4"`
|
||||
NeedApprovalFromUserRole *string `json:"need_approval_from_user_role" gorm:"type:varchar"`
|
||||
NeedApprovalFromUserLevel *string `json:"need_approval_from_user_level" gorm:"type:varchar"`
|
||||
BackApprovalToUserRole *string `json:"back_approval_to_user_role" gorm:"type:varchar"`
|
||||
|
|
|
|||
|
|
@ -1,13 +1,16 @@
|
|||
package controller
|
||||
|
||||
import "go-humas-be/app/module/ppid_data_categories/service"
|
||||
import (
|
||||
"github.com/rs/zerolog"
|
||||
"go-humas-be/app/module/ppid_data_categories/service"
|
||||
)
|
||||
|
||||
type Controller struct {
|
||||
PpidDataCategories PpidDataCategoriesController
|
||||
}
|
||||
|
||||
func NewController(PpidDataCategoriesService service.PpidDataCategoriesService) *Controller {
|
||||
func NewController(PpidDataCategoriesService service.PpidDataCategoriesService, log zerolog.Logger) *Controller {
|
||||
return &Controller{
|
||||
PpidDataCategories: NewPpidDataCategoriesController(PpidDataCategoriesService),
|
||||
PpidDataCategories: NewPpidDataCategoriesController(PpidDataCategoriesService, log),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,13 +26,15 @@ type PpidDataCategoriesController interface {
|
|||
Save(c *fiber.Ctx) error
|
||||
SaveThumbnail(c *fiber.Ctx) error
|
||||
Update(c *fiber.Ctx) error
|
||||
UpdatePosition(c *fiber.Ctx) error
|
||||
Delete(c *fiber.Ctx) error
|
||||
Viewer(c *fiber.Ctx) error
|
||||
}
|
||||
|
||||
func NewPpidDataCategoriesController(ppidDataCategoriesService service.PpidDataCategoriesService) PpidDataCategoriesController {
|
||||
func NewPpidDataCategoriesController(ppidDataCategoriesService service.PpidDataCategoriesService, log zerolog.Logger) PpidDataCategoriesController {
|
||||
return &ppidDataCategoriesController{
|
||||
ppidDataCategoriesService: ppidDataCategoriesService,
|
||||
Log: log,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -240,6 +242,34 @@ func (_i *ppidDataCategoriesController) Update(c *fiber.Ctx) error {
|
|||
})
|
||||
}
|
||||
|
||||
// UpdatePosition PpidDataCategories
|
||||
// @Summary UpdatePosition PpidDataCategories
|
||||
// @Description API for Update Position PpidDataCategories
|
||||
// @Tags PPID Categories
|
||||
// @Security Bearer
|
||||
// @Param payload body request.PpidDataCategoriesUpdatePositionPayload true "Required payload"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Failure 400 {object} response.BadRequestError
|
||||
// @Failure 401 {object} response.UnauthorizedError
|
||||
// @Failure 500 {object} response.InternalServerError
|
||||
// @Router /ppid-data-categories/position [post]
|
||||
func (_i *ppidDataCategoriesController) UpdatePosition(c *fiber.Ctx) error {
|
||||
req := new(request.PpidDataCategoriesUpdatePositionPayload)
|
||||
if err := utilVal.ParseAndValidate(c, req); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err := _i.ppidDataCategoriesService.UpdatePosition(req.Positions)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return utilRes.Resp(c, utilRes.Response{
|
||||
Success: true,
|
||||
Messages: utilRes.Messages{"PpidDataCategories successfully updated"},
|
||||
})
|
||||
}
|
||||
|
||||
// Delete PpidDataCategories
|
||||
// @Summary Delete PpidDataCategories
|
||||
// @Description API for delete PpidDataCategories
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ func PpidDataCategoriesResponseMapper(ppidDataCategoriesReq *entity.PpidDataCate
|
|||
Description: ppidDataCategoriesReq.Description,
|
||||
Slug: ppidDataCategoriesReq.Slug,
|
||||
ParentId: ppidDataCategoriesReq.ParentId,
|
||||
Position: ppidDataCategoriesReq.Position,
|
||||
ThumbnailUrl: "/ppid-data-categories/thumbnail/viewer/" + strconv.Itoa(int(ppidDataCategoriesReq.ID)),
|
||||
IsActive: ppidDataCategoriesReq.IsActive,
|
||||
CreatedAt: ppidDataCategoriesReq.CreatedAt,
|
||||
|
|
@ -74,6 +75,7 @@ func PpidDataCategoriesWithPpidDataResponseMapper(
|
|||
Description: ppidDataCategoriesReq.Description,
|
||||
Slug: ppidDataCategoriesReq.Slug,
|
||||
ParentId: ppidDataCategoriesReq.ParentId,
|
||||
Position: ppidDataCategoriesReq.Position,
|
||||
ThumbnailUrl: "/ppid-data-categories/thumbnail/viewer/" + strconv.Itoa(int(ppidDataCategoriesReq.ID)),
|
||||
IsActive: ppidDataCategoriesReq.IsActive,
|
||||
CreatedAt: ppidDataCategoriesReq.CreatedAt,
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ func (_i *PpidDataCategoriesRouter) RegisterPpidDataCategoriesRoutes() {
|
|||
router.Get("/slug/:slug", ppidDataCategoriesController.ShowBySlug)
|
||||
router.Post("/", ppidDataCategoriesController.Save)
|
||||
router.Put("/:id", ppidDataCategoriesController.Update)
|
||||
router.Post("/position", ppidDataCategoriesController.UpdatePosition)
|
||||
router.Post("/thumbnail/:id", ppidDataCategoriesController.SaveThumbnail)
|
||||
router.Get("/thumbnail/viewer/:id", ppidDataCategoriesController.Viewer)
|
||||
router.Delete("/:id", ppidDataCategoriesController.Delete)
|
||||
|
|
|
|||
|
|
@ -22,8 +22,10 @@ type PpidDataCategoriesRepository interface {
|
|||
GetAllNonPage(req request.PpidDataCategoriesQueryRequest) (ppidDataCategoriess []*entity.PpidDataCategories, paging paginator.Pagination, err error)
|
||||
FindOne(id uint) (ppidDataCategories *entity.PpidDataCategories, err error)
|
||||
FindOneBySlug(slug string) (ppidDataCategories *entity.PpidDataCategories, err error)
|
||||
FindOneLastPosition() (ppidDataCategories *entity.PpidDataCategories, err error)
|
||||
Create(ppidDataCategories *entity.PpidDataCategories) (err error)
|
||||
Update(id uint, ppidDataCategories *entity.PpidDataCategories) (err error)
|
||||
UpdateAll(ppidDataCategories []*entity.PpidDataCategories) (err error)
|
||||
Delete(id uint) (err error)
|
||||
}
|
||||
|
||||
|
|
@ -141,6 +143,15 @@ func (_i *ppidDataCategoriesRepository) FindOneBySlug(slug string) (ppidDataCate
|
|||
return ppidDataCategories, nil
|
||||
}
|
||||
|
||||
func (_i *ppidDataCategoriesRepository) FindOneLastPosition() (ppidDataCategories *entity.PpidDataCategories, err error) {
|
||||
if err := _i.DB.DB.Where("position IS NOT NULL").Last(&ppidDataCategories).
|
||||
Order(fmt.Sprintf("%s %s", "position", "DESC")).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return ppidDataCategories, nil
|
||||
}
|
||||
|
||||
func (_i *ppidDataCategoriesRepository) Create(ppidDataCategories *entity.PpidDataCategories) (err error) {
|
||||
return _i.DB.DB.Create(ppidDataCategories).Error
|
||||
}
|
||||
|
|
@ -151,6 +162,18 @@ func (_i *ppidDataCategoriesRepository) Update(id uint, ppidDataCategories *enti
|
|||
Updates(ppidDataCategories).Error
|
||||
}
|
||||
|
||||
func (_i *ppidDataCategoriesRepository) UpdateAll(ppidDataCategories []*entity.PpidDataCategories) (err error) {
|
||||
for _, req := range ppidDataCategories {
|
||||
err := _i.DB.DB.Model(&entity.PpidDataCategories{}).
|
||||
Where(&entity.PpidDataCategories{ID: req.ID}).
|
||||
Updates(req).Error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (_i *ppidDataCategoriesRepository) Delete(id uint) error {
|
||||
return _i.DB.DB.Delete(&entity.PpidDataCategories{}, id).Error
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,6 +55,23 @@ func (req PpidDataCategoriesUpdateRequest) ToEntity() *entity.PpidDataCategories
|
|||
}
|
||||
}
|
||||
|
||||
type PpidDataCategoriesUpdatePositionPayload struct {
|
||||
Positions []PpidDataCategoriesUpdatePositionRequest `json:"positions"`
|
||||
}
|
||||
|
||||
type PpidDataCategoriesUpdatePositionRequest struct {
|
||||
ID uint `json:"id" validate:"required"`
|
||||
Position int `json:"position" validate:"required"`
|
||||
}
|
||||
|
||||
func (req PpidDataCategoriesUpdatePositionRequest) ToEntity() *entity.PpidDataCategories {
|
||||
return &entity.PpidDataCategories{
|
||||
ID: req.ID,
|
||||
Position: &req.Position,
|
||||
UpdatedAt: time.Now(),
|
||||
}
|
||||
}
|
||||
|
||||
type PpidDataCategoriesQueryRequestContext struct {
|
||||
Title string `json:"title"`
|
||||
Description string `json:"description"`
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ type PpidDataCategoriesResponse struct {
|
|||
Description string `json:"description"`
|
||||
Slug string `json:"slug"`
|
||||
ParentId *uint `json:"parentId"`
|
||||
Position *int `json:"position"`
|
||||
ThumbnailUrl string `json:"thumbnailUrl"`
|
||||
IsActive *bool `json:"isActive"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
|
|
@ -25,6 +26,7 @@ type PpidDataCategoriesWithPpidDataResponse struct {
|
|||
Description string `json:"description"`
|
||||
Slug string `json:"slug"`
|
||||
ParentId *uint `json:"parentId"`
|
||||
Position *int `json:"position"`
|
||||
ThumbnailUrl string `json:"thumbnailUrl"`
|
||||
IsActive *bool `json:"isActive"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import (
|
|||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/minio/minio-go/v7"
|
||||
"github.com/rs/zerolog"
|
||||
"go-humas-be/app/database/entity"
|
||||
"go-humas-be/app/module/ppid_data_categories/mapper"
|
||||
"go-humas-be/app/module/ppid_data_categories/repository"
|
||||
"go-humas-be/app/module/ppid_data_categories/request"
|
||||
|
|
@ -43,6 +44,7 @@ type PpidDataCategoriesService interface {
|
|||
Save(req request.PpidDataCategoriesCreateRequest) (err error)
|
||||
SaveThumbnail(c *fiber.Ctx) (err error)
|
||||
Update(id uint, req request.PpidDataCategoriesUpdateRequest) (err error)
|
||||
UpdatePosition(req []request.PpidDataCategoriesUpdatePositionRequest) (err error)
|
||||
Delete(id uint) error
|
||||
Viewer(c *fiber.Ctx) error
|
||||
}
|
||||
|
|
@ -140,7 +142,14 @@ func (_i *ppidDataCategoriesService) ShowBySlug(slug string) (ppidDataCategories
|
|||
func (_i *ppidDataCategoriesService) Save(req request.PpidDataCategoriesCreateRequest) (err error) {
|
||||
_i.Log.Info().Interface("data", req).Msg("")
|
||||
|
||||
return _i.Repo.Create(req.ToEntity())
|
||||
lastPpidData, _ := _i.Repo.FindOneLastPosition()
|
||||
lastPosition := lastPpidData.Position
|
||||
*lastPosition += 1
|
||||
|
||||
newReq := req.ToEntity()
|
||||
newReq.Position = lastPosition
|
||||
|
||||
return _i.Repo.Create(newReq)
|
||||
}
|
||||
|
||||
func (_i *ppidDataCategoriesService) SaveThumbnail(c *fiber.Ctx) (err error) {
|
||||
|
|
@ -223,6 +232,21 @@ func (_i *ppidDataCategoriesService) Update(id uint, req request.PpidDataCategor
|
|||
return _i.Repo.Update(id, req.ToEntity())
|
||||
}
|
||||
|
||||
func (_i *ppidDataCategoriesService) UpdatePosition(req []request.PpidDataCategoriesUpdatePositionRequest) (err error) {
|
||||
_i.Log.Info().Interface("data", req).Msg("")
|
||||
|
||||
var entityReq []*entity.PpidDataCategories
|
||||
for _, reqItem := range req {
|
||||
entityReq = append(entityReq, reqItem.ToEntity())
|
||||
}
|
||||
|
||||
_i.Log.Info().Str("timestamp", time.Now().
|
||||
Format(time.RFC3339)).Str("Service:UpdatePosition", "ppidDataCategoriesController").
|
||||
Interface("entityReq", entityReq).Msg("")
|
||||
|
||||
return _i.Repo.UpdateAll(entityReq)
|
||||
}
|
||||
|
||||
func (_i *ppidDataCategoriesService) Delete(id uint) error {
|
||||
result, err := _i.Repo.FindOne(id)
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -1,13 +1,16 @@
|
|||
package controller
|
||||
|
||||
import "go-humas-be/app/module/ppid_data_files/service"
|
||||
import (
|
||||
"github.com/rs/zerolog"
|
||||
"go-humas-be/app/module/ppid_data_files/service"
|
||||
)
|
||||
|
||||
type Controller struct {
|
||||
PpidDataFiles PpidDataFilesController
|
||||
}
|
||||
|
||||
func NewController(PpidDataFilesService service.PpidDataFilesService) *Controller {
|
||||
func NewController(PpidDataFilesService service.PpidDataFilesService, log zerolog.Logger) *Controller {
|
||||
return &Controller{
|
||||
PpidDataFiles: NewPpidDataFilesController(PpidDataFilesService),
|
||||
PpidDataFiles: NewPpidDataFilesController(PpidDataFilesService, log),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,12 @@ package controller
|
|||
|
||||
import (
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/rs/zerolog"
|
||||
"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"
|
||||
|
|
@ -13,6 +15,7 @@ import (
|
|||
|
||||
type ppidDataFilesController struct {
|
||||
ppidDataFilesService service.PpidDataFilesService
|
||||
Log zerolog.Logger
|
||||
}
|
||||
|
||||
type PpidDataFilesController interface {
|
||||
|
|
@ -20,13 +23,15 @@ type PpidDataFilesController interface {
|
|||
Show(c *fiber.Ctx) error
|
||||
Save(c *fiber.Ctx) error
|
||||
Update(c *fiber.Ctx) error
|
||||
UpdatePosition(c *fiber.Ctx) error
|
||||
Delete(c *fiber.Ctx) error
|
||||
Viewer(c *fiber.Ctx) error
|
||||
}
|
||||
|
||||
func NewPpidDataFilesController(ppidDataFilesService service.PpidDataFilesService) PpidDataFilesController {
|
||||
func NewPpidDataFilesController(ppidDataFilesService service.PpidDataFilesService, log zerolog.Logger) PpidDataFilesController {
|
||||
return &ppidDataFilesController{
|
||||
ppidDataFilesService: ppidDataFilesService,
|
||||
Log: log,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -161,6 +166,48 @@ func (_i *ppidDataFilesController) Update(c *fiber.Ctx) error {
|
|||
})
|
||||
}
|
||||
|
||||
// UpdatePosition PpidDataFiles
|
||||
// @Summary UpdatePosition PpidDataFiles
|
||||
// @Description API for Update Position PpidDataFiles
|
||||
// @Tags PPID Files
|
||||
// @Security Bearer
|
||||
// @Param payload body request.PpidDataFilesUpdatePositionPayload true "Required payload"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Failure 400 {object} response.BadRequestError
|
||||
// @Failure 401 {object} response.UnauthorizedError
|
||||
// @Failure 500 {object} response.InternalServerError
|
||||
// @Router /ppid-data-files/position [post]
|
||||
func (_i *ppidDataFilesController) UpdatePosition(c *fiber.Ctx) error {
|
||||
|
||||
_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
|
||||
//}
|
||||
|
||||
return utilRes.Resp(c, utilRes.Response{
|
||||
Success: true,
|
||||
Messages: utilRes.Messages{"PpidDataFiles successfully updated"},
|
||||
})
|
||||
}
|
||||
|
||||
// Delete PpidDataFiles
|
||||
// @Summary delete PpidDataFiles
|
||||
// @Description API for delete PpidDataFiles
|
||||
|
|
|
|||
|
|
@ -48,6 +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.Delete("/:id", ppidDataFilesController.Delete)
|
||||
router.Get("/viewer/:filename", ppidDataFilesController.Viewer)
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package repository
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/rs/zerolog"
|
||||
"go-humas-be/app/database"
|
||||
"go-humas-be/app/database/entity"
|
||||
|
|
@ -18,9 +19,11 @@ type PpidDataFilesRepository interface {
|
|||
GetAll(req request.PpidDataFilesQueryRequest) (ppidDataFiless []*entity.PpidDataFiles, paging paginator.Pagination, err error)
|
||||
FindOne(id uint) (ppidDataFiles *entity.PpidDataFiles, err error)
|
||||
FindByFilename(filename string) (ppidDataFiles *entity.PpidDataFiles, err error)
|
||||
FindByPpidData(ppidDataId uint) (ppidDataFiless []*entity.PpidDataFiles, err error)
|
||||
FindByPpidData(ppidDataId uint) (ppidDataFiles []*entity.PpidDataFiles, err error)
|
||||
FindOneLastPosition() (ppidDataFiles *entity.PpidDataFiles, err error)
|
||||
Create(ppidDataFiles *entity.PpidDataFiles) (err error)
|
||||
Update(id uint, ppidDataFiles *entity.PpidDataFiles) (err error)
|
||||
UpdateAll(ppidDataFiles []*entity.PpidDataFiles) (err error)
|
||||
Delete(id uint) (err error)
|
||||
}
|
||||
|
||||
|
|
@ -76,6 +79,15 @@ func (_i *ppidDataFilesRepository) FindByPpidData(ppidDataId uint) (ppidDataFile
|
|||
return ppidDataFiles, nil
|
||||
}
|
||||
|
||||
func (_i *ppidDataFilesRepository) FindOneLastPosition() (ppidDataFiles *entity.PpidDataFiles, err error) {
|
||||
if err := _i.DB.DB.Where("position IS NOT NULL").Last(&ppidDataFiles).
|
||||
Order(fmt.Sprintf("%s %s", "position", "DESC")).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return ppidDataFiles, nil
|
||||
}
|
||||
|
||||
func (_i *ppidDataFilesRepository) Create(ppidDataFiles *entity.PpidDataFiles) (err error) {
|
||||
return _i.DB.DB.Create(ppidDataFiles).Error
|
||||
}
|
||||
|
|
@ -86,6 +98,18 @@ func (_i *ppidDataFilesRepository) Update(id uint, ppidDataFiles *entity.PpidDat
|
|||
Updates(ppidDataFiles).Error
|
||||
}
|
||||
|
||||
func (_i *ppidDataFilesRepository) UpdateAll(ppidDataFiles []*entity.PpidDataFiles) (err error) {
|
||||
for _, req := range ppidDataFiles {
|
||||
err := _i.DB.DB.Model(&entity.PpidDataFiles{}).
|
||||
Where(&entity.PpidDataFiles{ID: req.ID}).
|
||||
Updates(req).Error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (_i *ppidDataFilesRepository) Delete(id uint) error {
|
||||
return _i.DB.DB.Delete(&entity.PpidDataFiles{}, id).Error
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,6 +73,23 @@ func (req PpidDataFilesUpdateRequest) ToEntity() *entity.PpidDataFiles {
|
|||
}
|
||||
}
|
||||
|
||||
type PpidDataFilesUpdatePositionPayload struct {
|
||||
Positions []PpidDataFilesUpdatePositionRequest `json:"positions"`
|
||||
}
|
||||
|
||||
type PpidDataFilesUpdatePositionRequest struct {
|
||||
ID uint `json:"id"`
|
||||
Position int `json:"position"`
|
||||
}
|
||||
|
||||
func (req PpidDataFilesUpdatePositionRequest) ToEntity() *entity.PpidDataFiles {
|
||||
return &entity.PpidDataFiles{
|
||||
ID: req.ID,
|
||||
Position: &req.Position,
|
||||
UpdatedAt: time.Now(),
|
||||
}
|
||||
}
|
||||
|
||||
type PpidDataFilesQueryRequestContext struct {
|
||||
Title string `json:"title"`
|
||||
PpidDataId string `json:"ppidDataId"`
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import (
|
|||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/minio/minio-go/v7"
|
||||
"github.com/rs/zerolog"
|
||||
"go-humas-be/app/database/entity"
|
||||
"go-humas-be/app/module/ppid_data_files/mapper"
|
||||
"go-humas-be/app/module/ppid_data_files/repository"
|
||||
"go-humas-be/app/module/ppid_data_files/request"
|
||||
|
|
@ -34,6 +35,7 @@ type PpidDataFilesService interface {
|
|||
Show(id uint) (ppidDataFiles *response.PpidDataFilesResponse, err error)
|
||||
Save(c *fiber.Ctx) error
|
||||
Update(id uint, req request.PpidDataFilesUpdateRequest) (err error)
|
||||
UpdatePosition(req []request.PpidDataFilesUpdatePositionRequest) (err error)
|
||||
Delete(id uint) error
|
||||
Viewer(c *fiber.Ctx, filename string) error
|
||||
}
|
||||
|
|
@ -158,6 +160,17 @@ func (_i *ppidDataFilesService) Update(id uint, req request.PpidDataFilesUpdateR
|
|||
return _i.Repo.Update(id, req.ToEntity())
|
||||
}
|
||||
|
||||
func (_i *ppidDataFilesService) UpdatePosition(req []request.PpidDataFilesUpdatePositionRequest) (err error) {
|
||||
_i.Log.Info().Interface("data", req).Msg("")
|
||||
|
||||
var entityReq []*entity.PpidDataFiles
|
||||
for _, reqItem := range req {
|
||||
entityReq = append(entityReq, reqItem.ToEntity())
|
||||
}
|
||||
|
||||
return _i.Repo.UpdateAll(entityReq)
|
||||
}
|
||||
|
||||
func (_i *ppidDataFilesService) Delete(id uint) error {
|
||||
return _i.Repo.Delete(id)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ type PpidDatasController interface {
|
|||
Show(c *fiber.Ctx) error
|
||||
Save(c *fiber.Ctx) error
|
||||
Update(c *fiber.Ctx) error
|
||||
UpdatePosition(c *fiber.Ctx) error
|
||||
UpdateApprovalStatus(c *fiber.Ctx) error
|
||||
Delete(c *fiber.Ctx) error
|
||||
}
|
||||
|
|
@ -202,6 +203,34 @@ func (_i *ppidDatasController) UpdateApprovalStatus(c *fiber.Ctx) error {
|
|||
})
|
||||
}
|
||||
|
||||
// UpdatePosition PpidDatas
|
||||
// @Summary UpdatePosition PpidDatas
|
||||
// @Description API for Update Position PpidDatas
|
||||
// @Tags PPID Data
|
||||
// @Security Bearer
|
||||
// @Param payload body request.PpidDatasUpdatePositionPayload true "Required payload"
|
||||
// @Success 200 {object} response.Response
|
||||
// @Failure 400 {object} response.BadRequestError
|
||||
// @Failure 401 {object} response.UnauthorizedError
|
||||
// @Failure 500 {object} response.InternalServerError
|
||||
// @Router /ppid-datas/position [post]
|
||||
func (_i *ppidDatasController) UpdatePosition(c *fiber.Ctx) error {
|
||||
req := new(request.PpidDatasUpdatePositionPayload)
|
||||
if err := utilVal.ParseAndValidate(c, req); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err := _i.ppidDatasService.UpdatePosition(req.Positions)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return utilRes.Resp(c, utilRes.Response{
|
||||
Success: true,
|
||||
Messages: utilRes.Messages{"PpidDataCategories successfully updated"},
|
||||
})
|
||||
}
|
||||
|
||||
// Delete PpidDatas
|
||||
// @Summary delete PpidDatas
|
||||
// @Description API for delete PpidDatas
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ func (_i *PpidDatasRouter) RegisterPpidDatasRoutes() {
|
|||
router.Get("/:id", ppidDatasController.Show)
|
||||
router.Post("/", ppidDatasController.Save)
|
||||
router.Put("/:id", ppidDatasController.Update)
|
||||
router.Post("/position", ppidDatasController.UpdatePosition)
|
||||
router.Post("/approval", ppidDatasController.UpdateApprovalStatus)
|
||||
router.Delete("/:id", ppidDatasController.Delete)
|
||||
})
|
||||
|
|
|
|||
|
|
@ -22,8 +22,10 @@ type PpidDatasRepository interface {
|
|||
GetAll(req request.PpidDatasQueryRequest) (ppidDatass []*entity.PpidDatas, paging paginator.Pagination, err error)
|
||||
FindOne(id uint) (ppidDatas *entity.PpidDatas, err error)
|
||||
FindOneUsingSlug(slug string) (ppidDatas *entity.PpidDatas, err error)
|
||||
FindOneLastPosition() (ppidDatas *entity.PpidDatas, err error)
|
||||
Create(ppidDatas *entity.PpidDatas) (ppidDataReturn *entity.PpidDatas, err error)
|
||||
Update(id uint, ppidDatas *entity.PpidDatas) (err error)
|
||||
UpdateAll(ppidDatas []*entity.PpidDatas) (err error)
|
||||
Delete(id uint) (err error)
|
||||
}
|
||||
|
||||
|
|
@ -115,6 +117,15 @@ func (_i *ppidDatasRepository) FindOneUsingSlug(slug string) (ppidDatas *entity.
|
|||
return ppidDatas, nil
|
||||
}
|
||||
|
||||
func (_i *ppidDatasRepository) FindOneLastPosition() (ppidDatas *entity.PpidDatas, err error) {
|
||||
if err := _i.DB.DB.Where("position IS NOT NULL").Last(&ppidDatas).
|
||||
Order(fmt.Sprintf("%s %s", "position", "DESC")).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return ppidDatas, nil
|
||||
}
|
||||
|
||||
func (_i *ppidDatasRepository) Create(ppidDatas *entity.PpidDatas) (ppidDataReturn *entity.PpidDatas, err error) {
|
||||
result := _i.DB.DB.Create(ppidDatas)
|
||||
|
||||
|
|
@ -131,6 +142,18 @@ func (_i *ppidDatasRepository) Update(id uint, ppidDatas *entity.PpidDatas) (err
|
|||
Updates(ppidDatas).Error
|
||||
}
|
||||
|
||||
func (_i *ppidDatasRepository) UpdateAll(ppidDatas []*entity.PpidDatas) (err error) {
|
||||
for _, req := range ppidDatas {
|
||||
err := _i.DB.DB.Model(&entity.PpidDatas{}).
|
||||
Where(&entity.PpidDatas{ID: req.ID}).
|
||||
Updates(req).Error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (_i *ppidDatasRepository) Delete(id uint) error {
|
||||
return _i.DB.DB.Delete(&entity.PpidDatas{}, id).Error
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,6 +85,23 @@ func (req PpidDatasUpdateRequest) ToEntity() *entity.PpidDatas {
|
|||
}
|
||||
}
|
||||
|
||||
type PpidDatasUpdatePositionPayload struct {
|
||||
Positions []PpidDatasUpdatePositionRequest `json:"positions"`
|
||||
}
|
||||
|
||||
type PpidDatasUpdatePositionRequest struct {
|
||||
ID uint `json:"id" validate:"required"`
|
||||
Position int `json:"position" validate:"required"`
|
||||
}
|
||||
|
||||
func (req PpidDatasUpdatePositionRequest) ToEntity() *entity.PpidDatas {
|
||||
return &entity.PpidDatas{
|
||||
ID: req.ID,
|
||||
Position: &req.Position,
|
||||
UpdatedAt: time.Now(),
|
||||
}
|
||||
}
|
||||
|
||||
type PpidDatasQueryRequestContext struct {
|
||||
Title string `json:"title"`
|
||||
Description string `json:"description"`
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ type PpidDatasService interface {
|
|||
Save(req request.PpidDatasCreateRequest, authToken string) (ppidDatas *entity.PpidDatas, err error)
|
||||
Update(id uint, req request.PpidDatasUpdateRequest) (err error)
|
||||
UpdateApprovalStatus(req requestPpidApproval.PpidDataApprovalHistoriesCreateRequest, authToken string) (err error)
|
||||
UpdatePosition(req []request.PpidDatasUpdatePositionRequest) (err error)
|
||||
Delete(id uint) error
|
||||
}
|
||||
|
||||
|
|
@ -119,6 +120,11 @@ func (_i *ppidDatasService) Save(req request.PpidDatasCreateRequest, authToken s
|
|||
}
|
||||
newReq.Group = userLevels.Group
|
||||
|
||||
lastPpidData, _ := _i.Repo.FindOneLastPosition()
|
||||
lastPosition := lastPpidData.Position
|
||||
*lastPosition += 1
|
||||
newReq.Position = lastPosition
|
||||
|
||||
return _i.Repo.Create(newReq)
|
||||
}
|
||||
|
||||
|
|
@ -127,6 +133,17 @@ func (_i *ppidDatasService) Update(id uint, req request.PpidDatasUpdateRequest)
|
|||
return _i.Repo.Update(id, req.ToEntity())
|
||||
}
|
||||
|
||||
func (_i *ppidDatasService) UpdatePosition(req []request.PpidDatasUpdatePositionRequest) (err error) {
|
||||
_i.Log.Info().Interface("data", req).Msg("")
|
||||
|
||||
var entityReq []*entity.PpidDatas
|
||||
for _, reqItem := range req {
|
||||
entityReq = append(entityReq, reqItem.ToEntity())
|
||||
}
|
||||
|
||||
return _i.Repo.UpdateAll(entityReq)
|
||||
}
|
||||
|
||||
func (_i *ppidDatasService) UpdateApprovalStatus(req requestPpidApproval.PpidDataApprovalHistoriesCreateRequest, authToken string) (err error) {
|
||||
_i.Log.Info().Interface("data", req).Msg("")
|
||||
ppidData, err := _i.Repo.FindOne(req.PpidDataId)
|
||||
|
|
|
|||
|
|
@ -3776,6 +3776,57 @@ const docTemplate = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"/ppid-data-categories/position": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"Bearer": []
|
||||
}
|
||||
],
|
||||
"description": "API for Update Position PpidDataCategories",
|
||||
"tags": [
|
||||
"PPID Categories"
|
||||
],
|
||||
"summary": "UpdatePosition PpidDataCategories",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Required payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/request.PpidDataCategoriesUpdatePositionPayload"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.Response"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.BadRequestError"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.UnauthorizedError"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.InternalServerError"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/ppid-data-categories/slug/{slug}": {
|
||||
"get": {
|
||||
"security": [
|
||||
|
|
@ -4202,6 +4253,57 @@ const docTemplate = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"/ppid-data-files/position": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"Bearer": []
|
||||
}
|
||||
],
|
||||
"description": "API for Update Position PpidDataFiles",
|
||||
"tags": [
|
||||
"PPID Files"
|
||||
],
|
||||
"summary": "UpdatePosition PpidDataFiles",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Required payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/request.PpidDataFilesUpdatePositionPayload"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.Response"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.BadRequestError"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.UnauthorizedError"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.InternalServerError"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/ppid-data-files/viewer/{filename}": {
|
||||
"get": {
|
||||
"security": [
|
||||
|
|
@ -4718,6 +4820,57 @@ const docTemplate = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"/ppid-datas/position": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"Bearer": []
|
||||
}
|
||||
],
|
||||
"description": "API for Update Position PpidDatas",
|
||||
"tags": [
|
||||
"PPID Data"
|
||||
],
|
||||
"summary": "UpdatePosition PpidDatas",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Required payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/request.PpidDatasUpdatePositionPayload"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.Response"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.BadRequestError"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.UnauthorizedError"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.InternalServerError"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/ppid-datas/{id}": {
|
||||
"get": {
|
||||
"security": [
|
||||
|
|
@ -7005,6 +7158,32 @@ const docTemplate = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDataCategoriesUpdatePositionPayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"positions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/request.PpidDataCategoriesUpdatePositionRequest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDataCategoriesUpdatePositionRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
"position"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"position": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDataCategoriesUpdateRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
|
|
@ -7031,6 +7210,28 @@ const docTemplate = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDataFilesUpdatePositionPayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"positions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/request.PpidDataFilesUpdatePositionRequest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDataFilesUpdatePositionRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"position": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDataFilesUpdateRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
|
|
@ -7100,6 +7301,32 @@ const docTemplate = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDatasUpdatePositionPayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"positions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/request.PpidDatasUpdatePositionRequest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDatasUpdatePositionRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
"position"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"position": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.UserLevelsCreateRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
|
|
|
|||
|
|
@ -3765,6 +3765,57 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"/ppid-data-categories/position": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"Bearer": []
|
||||
}
|
||||
],
|
||||
"description": "API for Update Position PpidDataCategories",
|
||||
"tags": [
|
||||
"PPID Categories"
|
||||
],
|
||||
"summary": "UpdatePosition PpidDataCategories",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Required payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/request.PpidDataCategoriesUpdatePositionPayload"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.Response"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.BadRequestError"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.UnauthorizedError"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.InternalServerError"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/ppid-data-categories/slug/{slug}": {
|
||||
"get": {
|
||||
"security": [
|
||||
|
|
@ -4191,6 +4242,57 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"/ppid-data-files/position": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"Bearer": []
|
||||
}
|
||||
],
|
||||
"description": "API for Update Position PpidDataFiles",
|
||||
"tags": [
|
||||
"PPID Files"
|
||||
],
|
||||
"summary": "UpdatePosition PpidDataFiles",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Required payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/request.PpidDataFilesUpdatePositionPayload"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.Response"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.BadRequestError"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.UnauthorizedError"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.InternalServerError"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/ppid-data-files/viewer/{filename}": {
|
||||
"get": {
|
||||
"security": [
|
||||
|
|
@ -4707,6 +4809,57 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"/ppid-datas/position": {
|
||||
"post": {
|
||||
"security": [
|
||||
{
|
||||
"Bearer": []
|
||||
}
|
||||
],
|
||||
"description": "API for Update Position PpidDatas",
|
||||
"tags": [
|
||||
"PPID Data"
|
||||
],
|
||||
"summary": "UpdatePosition PpidDatas",
|
||||
"parameters": [
|
||||
{
|
||||
"description": "Required payload",
|
||||
"name": "payload",
|
||||
"in": "body",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"$ref": "#/definitions/request.PpidDatasUpdatePositionPayload"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.Response"
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad Request",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.BadRequestError"
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthorized",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.UnauthorizedError"
|
||||
}
|
||||
},
|
||||
"500": {
|
||||
"description": "Internal Server Error",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/response.InternalServerError"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/ppid-datas/{id}": {
|
||||
"get": {
|
||||
"security": [
|
||||
|
|
@ -6994,6 +7147,32 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDataCategoriesUpdatePositionPayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"positions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/request.PpidDataCategoriesUpdatePositionRequest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDataCategoriesUpdatePositionRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
"position"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"position": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDataCategoriesUpdateRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
|
|
@ -7020,6 +7199,28 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDataFilesUpdatePositionPayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"positions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/request.PpidDataFilesUpdatePositionRequest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDataFilesUpdatePositionRequest": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"position": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDataFilesUpdateRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
|
|
@ -7089,6 +7290,32 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDatasUpdatePositionPayload": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"positions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/request.PpidDatasUpdatePositionRequest"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.PpidDatasUpdatePositionRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
"position"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"position": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"request.UserLevelsCreateRequest": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
|
|
|
|||
|
|
@ -253,6 +253,23 @@ definitions:
|
|||
- slug
|
||||
- title
|
||||
type: object
|
||||
request.PpidDataCategoriesUpdatePositionPayload:
|
||||
properties:
|
||||
positions:
|
||||
items:
|
||||
$ref: '#/definitions/request.PpidDataCategoriesUpdatePositionRequest'
|
||||
type: array
|
||||
type: object
|
||||
request.PpidDataCategoriesUpdatePositionRequest:
|
||||
properties:
|
||||
id:
|
||||
type: integer
|
||||
position:
|
||||
type: integer
|
||||
required:
|
||||
- id
|
||||
- position
|
||||
type: object
|
||||
request.PpidDataCategoriesUpdateRequest:
|
||||
properties:
|
||||
description:
|
||||
|
|
@ -271,6 +288,20 @@ definitions:
|
|||
- slug
|
||||
- title
|
||||
type: object
|
||||
request.PpidDataFilesUpdatePositionPayload:
|
||||
properties:
|
||||
positions:
|
||||
items:
|
||||
$ref: '#/definitions/request.PpidDataFilesUpdatePositionRequest'
|
||||
type: array
|
||||
type: object
|
||||
request.PpidDataFilesUpdatePositionRequest:
|
||||
properties:
|
||||
id:
|
||||
type: integer
|
||||
position:
|
||||
type: integer
|
||||
type: object
|
||||
request.PpidDataFilesUpdateRequest:
|
||||
properties:
|
||||
createdById:
|
||||
|
|
@ -318,6 +349,23 @@ definitions:
|
|||
- statusId
|
||||
- title
|
||||
type: object
|
||||
request.PpidDatasUpdatePositionPayload:
|
||||
properties:
|
||||
positions:
|
||||
items:
|
||||
$ref: '#/definitions/request.PpidDatasUpdatePositionRequest'
|
||||
type: array
|
||||
type: object
|
||||
request.PpidDatasUpdatePositionRequest:
|
||||
properties:
|
||||
id:
|
||||
type: integer
|
||||
position:
|
||||
type: integer
|
||||
required:
|
||||
- id
|
||||
- position
|
||||
type: object
|
||||
request.UserLevelsCreateRequest:
|
||||
properties:
|
||||
aliasName:
|
||||
|
|
@ -3090,6 +3138,38 @@ paths:
|
|||
summary: Update PpidDataCategories
|
||||
tags:
|
||||
- PPID Categories
|
||||
/ppid-data-categories/position:
|
||||
post:
|
||||
description: API for Update Position PpidDataCategories
|
||||
parameters:
|
||||
- description: Required payload
|
||||
in: body
|
||||
name: payload
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/request.PpidDataCategoriesUpdatePositionPayload'
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/response.Response'
|
||||
"400":
|
||||
description: Bad Request
|
||||
schema:
|
||||
$ref: '#/definitions/response.BadRequestError'
|
||||
"401":
|
||||
description: Unauthorized
|
||||
schema:
|
||||
$ref: '#/definitions/response.UnauthorizedError'
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
$ref: '#/definitions/response.InternalServerError'
|
||||
security:
|
||||
- Bearer: []
|
||||
summary: UpdatePosition PpidDataCategories
|
||||
tags:
|
||||
- PPID Categories
|
||||
/ppid-data-categories/slug/{slug}:
|
||||
get:
|
||||
description: API for getting one PpidDataCategories
|
||||
|
|
@ -3396,6 +3476,38 @@ paths:
|
|||
summary: Create PpidDataFiles
|
||||
tags:
|
||||
- PPID Files
|
||||
/ppid-data-files/position:
|
||||
post:
|
||||
description: API for Update Position PpidDataFiles
|
||||
parameters:
|
||||
- description: Required payload
|
||||
in: body
|
||||
name: payload
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/request.PpidDataFilesUpdatePositionPayload'
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/response.Response'
|
||||
"400":
|
||||
description: Bad Request
|
||||
schema:
|
||||
$ref: '#/definitions/response.BadRequestError'
|
||||
"401":
|
||||
description: Unauthorized
|
||||
schema:
|
||||
$ref: '#/definitions/response.UnauthorizedError'
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
$ref: '#/definitions/response.InternalServerError'
|
||||
security:
|
||||
- Bearer: []
|
||||
summary: UpdatePosition PpidDataFiles
|
||||
tags:
|
||||
- PPID Files
|
||||
/ppid-data-files/viewer/{filename}:
|
||||
get:
|
||||
description: API for create PpidDataFiles
|
||||
|
|
@ -3685,6 +3797,38 @@ paths:
|
|||
summary: UpdateApprovalStatus PpidDatas
|
||||
tags:
|
||||
- PPID Data
|
||||
/ppid-datas/position:
|
||||
post:
|
||||
description: API for Update Position PpidDatas
|
||||
parameters:
|
||||
- description: Required payload
|
||||
in: body
|
||||
name: payload
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/request.PpidDatasUpdatePositionPayload'
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
schema:
|
||||
$ref: '#/definitions/response.Response'
|
||||
"400":
|
||||
description: Bad Request
|
||||
schema:
|
||||
$ref: '#/definitions/response.BadRequestError'
|
||||
"401":
|
||||
description: Unauthorized
|
||||
schema:
|
||||
$ref: '#/definitions/response.UnauthorizedError'
|
||||
"500":
|
||||
description: Internal Server Error
|
||||
schema:
|
||||
$ref: '#/definitions/response.InternalServerError'
|
||||
security:
|
||||
- Bearer: []
|
||||
summary: UpdatePosition PpidDatas
|
||||
tags:
|
||||
- PPID Data
|
||||
/provinces:
|
||||
get:
|
||||
description: API for getting all Provinces
|
||||
|
|
|
|||
Loading…
Reference in New Issue