categories
parent
497a952a7a
commit
d094dec64e
|
@ -175,12 +175,7 @@ func CreateEquipmentDocumentation(c *fiber.Ctx, body structs.CreateEquipmentDocu
|
|||
func GetEquipmentDocumentations(stockItemId string, query structs.PageQuery, c *fiber.Ctx) error {
|
||||
var documentations []structs.EquipmentDocumentation
|
||||
|
||||
offset := (query.Page - 1) * utils.EquipmentDocumentationsPaginationLimit
|
||||
|
||||
database.DB.Limit(utils.EquipmentDocumentationsPaginationLimit).
|
||||
Offset(offset).
|
||||
Where("stock_item_id = ?", stockItemId).
|
||||
Find(&documentations)
|
||||
utils.DbPageQuery(query, utils.EquipmentDocumentationsPaginationLimit, &documentations, "stock_item_id = ?", stockItemId)
|
||||
|
||||
var err error
|
||||
totalPages := 0
|
||||
|
|
|
@ -824,10 +824,10 @@ func updateGroupTaskSteps(groupTaskStep structs.GroupTaskSteps) {
|
|||
})
|
||||
}
|
||||
|
||||
func GetAllGroupTasks() []structs.GroupTasks {
|
||||
func GetAllGroupTasks(category string, query structs.PageQuery) []structs.GroupTasks {
|
||||
var groupTasks []structs.GroupTasks
|
||||
|
||||
database.DB.Find(&groupTasks)
|
||||
utils.DbPageQuery(query, utils.GroupTasksPaginationLimit, &groupTasks, "category = ?", category)
|
||||
|
||||
return groupTasks
|
||||
}
|
||||
|
|
|
@ -104,6 +104,10 @@ type ApiGroupTaskRequest struct {
|
|||
GlobalInputs json.RawMessage
|
||||
}
|
||||
|
||||
type GroupTasksRequest struct {
|
||||
Category string
|
||||
}
|
||||
|
||||
// swagger:model GroupTasksResponse
|
||||
type GroupTasksResponse struct {
|
||||
CategoryGroups []CategoryGroup
|
||||
|
|
|
@ -58,12 +58,12 @@ type UserApiKey struct {
|
|||
|
||||
// swagger:model UserInfoResponse
|
||||
type UserInfoResponse struct {
|
||||
UserId string
|
||||
Username string
|
||||
Avatar string
|
||||
Permissions []string
|
||||
AvailableGroupTasks []string
|
||||
Users []AllUsers
|
||||
UserId string
|
||||
Username string
|
||||
Avatar string
|
||||
Permissions []string
|
||||
AvailableCategoryGroups []string
|
||||
Users []AllUsers
|
||||
}
|
||||
|
||||
// swagger:model UserProfileResponse
|
||||
|
|
|
@ -37,6 +37,7 @@ const (
|
|||
ConnectionStateOnline = 1
|
||||
|
||||
EquipmentDocumentationsPaginationLimit = 3
|
||||
GroupTasksPaginationLimit = 10
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
|
@ -5,12 +5,14 @@ import (
|
|||
"encoding/json"
|
||||
"errors"
|
||||
"jannex/admin-dashboard-backend/modules/database"
|
||||
"jannex/admin-dashboard-backend/modules/structs"
|
||||
"math"
|
||||
"math/big"
|
||||
"time"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/rs/zerolog/log"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func GetXAuhorizationHeader(c *fiber.Ctx) string {
|
||||
|
@ -123,3 +125,14 @@ func GetTotalPages(any interface{}, stockItemId string, whereQuery interface{},
|
|||
|
||||
return int(math.Ceil(float64(totalPages) / float64(EquipmentDocumentationsPaginationLimit)))
|
||||
}
|
||||
|
||||
func GetPageOffset(page int) int {
|
||||
return (page - 1) * EquipmentDocumentationsPaginationLimit
|
||||
}
|
||||
|
||||
func DbPageQuery(query structs.PageQuery, paginationLimit int, result any, whereQuery interface{}, args ...interface{}) *gorm.DB {
|
||||
return database.DB.Limit(paginationLimit).
|
||||
Offset(GetPageOffset(query.Page)).
|
||||
Where(whereQuery, args).
|
||||
Find(result)
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package grouptask
|
||||
package grouptasks
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
@ -13,36 +13,30 @@ import (
|
|||
)
|
||||
|
||||
func GetGroupTasks(c *fiber.Ctx) error {
|
||||
// swagger:operation GET /grouptasks grouptask grouptaskGetGroupTasks
|
||||
// ---
|
||||
// summary: Get all group tasks
|
||||
// consumes:
|
||||
// - application/json
|
||||
// produces:
|
||||
// - application/json
|
||||
// parameters:
|
||||
// - name: X-Api-Key
|
||||
// in: header
|
||||
// description: You can create a new api key in your user profile
|
||||
// responses:
|
||||
// '200':
|
||||
// description: All group tasks
|
||||
// schema:
|
||||
// "$ref": "#/definitions/GroupTasksResponse"
|
||||
// '401':
|
||||
// description: No permissions
|
||||
// '500':
|
||||
// description: Failed to get group tasks
|
||||
var params structs.GroupTasksRequest
|
||||
|
||||
if err := c.ParamsParser(¶ms); err != nil {
|
||||
return c.SendStatus(fiber.StatusBadRequest)
|
||||
}
|
||||
|
||||
var query structs.PageQuery
|
||||
|
||||
if err := c.QueryParser(&query); err != nil {
|
||||
return c.SendStatus(fiber.StatusBadRequest)
|
||||
}
|
||||
|
||||
log.Info().Msgf("params: %v", params)
|
||||
log.Info().Msgf("query: %v", query)
|
||||
|
||||
return c.JSON(structs.GroupTasksResponse{
|
||||
CategoryGroups: cache.GetCategoryGroupsSorted(),
|
||||
GroupTasks: grouptasks.GetAllGroupTasks(),
|
||||
GroupTasks: grouptasks.GetAllGroupTasks(params.Category, query),
|
||||
GroupTasksSteps: grouptasks.GetAllGroupTasksSteps(),
|
||||
})
|
||||
}
|
||||
|
||||
func StartGroupTask(c *fiber.Ctx) error {
|
||||
// swagger:operation POST /grouptasks/start grouptask grouptaskStartGroupTask
|
||||
// swagger:operation POST /grouptasks/start grouptasks grouptaskStartGroupTask
|
||||
// ---
|
||||
// summary: Start a new group task
|
||||
// consumes:
|
|
@ -50,7 +50,7 @@ func GetSystemLog(c *fiber.Ctx) error {
|
|||
Users: socketclients.GetAllUsers(),
|
||||
Roles: socketclients.GetAllRoles(),
|
||||
CategoryGroups: cache.GetCategoryGroupsSorted(),
|
||||
GroupTasks: grouptasks.GetAllGroupTasks(),
|
||||
GroupTasks: grouptasks.GetAllGroupTasks("", structs.PageQuery{}),
|
||||
GroupTasksSteps: grouptasks.GetAllGroupTasksSteps(),
|
||||
})
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ func GetSystemLog(c *fiber.Ctx) error {
|
|||
Users: socketclients.GetAllUsers(),
|
||||
Roles: socketclients.GetAllRoles(),
|
||||
CategoryGroups: cache.GetCategoryGroupsSorted(),
|
||||
GroupTasks: grouptasks.GetAllGroupTasks(),
|
||||
GroupTasks: grouptasks.GetAllGroupTasks("", structs.PageQuery{}),
|
||||
GroupTasksSteps: grouptasks.GetAllGroupTasksSteps(),
|
||||
})
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package user
|
||||
|
||||
import (
|
||||
"jannex/admin-dashboard-backend/modules/cache"
|
||||
"jannex/admin-dashboard-backend/modules/database"
|
||||
"jannex/admin-dashboard-backend/modules/structs"
|
||||
"jannex/admin-dashboard-backend/modules/utils"
|
||||
"jannex/admin-dashboard-backend/socketclients"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
|
@ -34,12 +36,20 @@ func UserInfo(c *fiber.Ctx) error {
|
|||
|
||||
database.DB.Select("id, username, avatar", "role_id").First(&user, "id = ?", c.Locals("userId").(string))
|
||||
|
||||
var categories []string
|
||||
|
||||
for _, categoryGroup := range cache.GetCategoryGroups() {
|
||||
if socketclients.HasXYPermission(user.Id, utils.PermissionGroupTasksOverviewXYView, categoryGroup.Category) {
|
||||
categories = append(categories, categoryGroup.Category)
|
||||
}
|
||||
}
|
||||
|
||||
return c.JSON(structs.UserInfoResponse{
|
||||
UserId: user.Id,
|
||||
Username: user.Username,
|
||||
Avatar: user.Avatar,
|
||||
Permissions: socketclients.GetPermissionsByRoleId(user.RoleId),
|
||||
AvailableGroupTasks: []string{},
|
||||
Users: socketclients.GetAllUsers(),
|
||||
UserId: user.Id,
|
||||
Username: user.Username,
|
||||
Avatar: user.Avatar,
|
||||
Permissions: socketclients.GetPermissionsByRoleId(user.RoleId),
|
||||
AvailableCategoryGroups: categories,
|
||||
Users: socketclients.GetAllUsers(),
|
||||
})
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
"jannex/admin-dashboard-backend/modules/utils"
|
||||
adminarea "jannex/admin-dashboard-backend/routers/router/api/v1/adminArea"
|
||||
"jannex/admin-dashboard-backend/routers/router/api/v1/equipment"
|
||||
"jannex/admin-dashboard-backend/routers/router/api/v1/grouptask"
|
||||
"jannex/admin-dashboard-backend/routers/router/api/v1/grouptasks"
|
||||
log "jannex/admin-dashboard-backend/routers/router/api/v1/logger"
|
||||
"jannex/admin-dashboard-backend/routers/router/api/v1/user"
|
||||
"jannex/admin-dashboard-backend/routers/router/api/v1/users"
|
||||
|
@ -42,8 +42,8 @@ func SetupRoutes(app *fiber.App) {
|
|||
l.Get("/", requestAccessValidation, log.GetSystemLog)
|
||||
|
||||
g := v1.Group("/grouptasks")
|
||||
g.Get("/", requestAccessValidation, grouptask.GetGroupTasks)
|
||||
g.Post("/start", requestAccessValidation, grouptask.StartGroupTask)
|
||||
g.Get("/:category", requestAccessValidation, grouptasks.GetGroupTasks)
|
||||
g.Post("/start", requestAccessValidation, grouptasks.StartGroupTask)
|
||||
|
||||
e := v1.Group("/equipment")
|
||||
e.Get("/documentations/:stockItemId", requestAccessValidation, equipment.GetEquipmentDocumentations)
|
||||
|
|
Loading…
Reference in New Issue