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