From c70b1c396ac81b885bde4c1516604ea4e14a0b31 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 29 Aug 2023 23:16:35 +0200 Subject: [PATCH] grouptasks pagination --- modules/equipment/equipment.go | 2 +- modules/structs/grouptasks.go | 6 +++--- modules/utils/globals.go | 2 +- modules/utils/utils.go | 4 ++-- routers/router/api/v1/grouptasks/grouptasks.go | 14 +++++++++++--- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/modules/equipment/equipment.go b/modules/equipment/equipment.go index d95e09a..fd52f30 100644 --- a/modules/equipment/equipment.go +++ b/modules/equipment/equipment.go @@ -191,7 +191,7 @@ func GetEquipmentDocumentations(stockItemId string, query structs.PageQuery, c * return c.SendStatus(fiber.StatusInternalServerError) } } else { - totalPages = utils.GetTotalPages(&documentations, stockItemId, "stock_item_id = ?", stockItemId) + totalPages = utils.GetTotalPages(&documentations, "stock_item_id = ?", stockItemId) } logger.AddSystemLog(structs.LogMessage{ diff --git a/modules/structs/grouptasks.go b/modules/structs/grouptasks.go index 9f80c41..65ad6df 100644 --- a/modules/structs/grouptasks.go +++ b/modules/structs/grouptasks.go @@ -110,7 +110,7 @@ type GroupTasksRequest struct { // swagger:model GroupTasksResponse type GroupTasksResponse struct { - CategoryGroups []CategoryGroup - GroupTasks []GroupTasks - GroupTasksSteps []GroupTaskSteps + CategoryGroup CategoryGroup + GroupTasks []GroupTasks + TotalPages int } diff --git a/modules/utils/globals.go b/modules/utils/globals.go index bef8a5a..a34a491 100644 --- a/modules/utils/globals.go +++ b/modules/utils/globals.go @@ -37,7 +37,7 @@ const ( ConnectionStateOnline = 1 EquipmentDocumentationsPaginationLimit = 3 - GroupTasksPaginationLimit = 10 + GroupTasksPaginationLimit = 5 ) var ( diff --git a/modules/utils/utils.go b/modules/utils/utils.go index da66da1..9e63cd8 100644 --- a/modules/utils/utils.go +++ b/modules/utils/utils.go @@ -115,8 +115,8 @@ func QueryParserHelper(c *fiber.Ctx, query interface{}) error { } // GetTotalPages returns total pages for pagination -// Example Where("stock_item_id = ?", stockItemId) -> whereQuery = "stock_item_id = ?" and whereQuery = stockItemId -func GetTotalPages(any interface{}, stockItemId string, whereQuery interface{}, args ...interface{}) int { +// Example whereQuery = "stock_item_id = ?" and args = stockItemId is Where("stock_item_id = ?", stockItemId) +func GetTotalPages(any interface{}, whereQuery interface{}, args ...interface{}) int { var totalPages int64 database.DB.Model(any). diff --git a/routers/router/api/v1/grouptasks/grouptasks.go b/routers/router/api/v1/grouptasks/grouptasks.go index a0ca185..52efc4b 100644 --- a/routers/router/api/v1/grouptasks/grouptasks.go +++ b/routers/router/api/v1/grouptasks/grouptasks.go @@ -28,10 +28,18 @@ func GetGroupTasks(c *fiber.Ctx) error { log.Info().Msgf("params: %v", params) log.Info().Msgf("query: %v", query) + var categoryGroup structs.CategoryGroup + + for _, cGroup := range cache.GetCategoryGroups() { + if cGroup.Category == params.Category { + categoryGroup = cGroup + } + } + return c.JSON(structs.GroupTasksResponse{ - CategoryGroups: cache.GetCategoryGroupsSorted(), - GroupTasks: grouptasks.GetAllGroupTasks(params.Category, query), - GroupTasksSteps: grouptasks.GetAllGroupTasksSteps(), + CategoryGroup: categoryGroup, + GroupTasks: grouptasks.GetAllGroupTasks(params.Category, query), + TotalPages: utils.GetTotalPages([]structs.GroupTasks{}, "category = ?", params.Category), }) }