added system logs

main
alex 2023-08-27 23:19:32 +02:00
parent 0a0c0317d2
commit 7879f2c1c0
2 changed files with 112 additions and 1 deletions

View File

@ -5,8 +5,11 @@ import (
"encoding/json" "encoding/json"
"jannex/admin-dashboard-backend/modules/config" "jannex/admin-dashboard-backend/modules/config"
"jannex/admin-dashboard-backend/modules/database" "jannex/admin-dashboard-backend/modules/database"
"jannex/admin-dashboard-backend/modules/logger"
"jannex/admin-dashboard-backend/modules/structs" "jannex/admin-dashboard-backend/modules/structs"
"jannex/admin-dashboard-backend/modules/utils"
"os" "os"
"strconv"
"strings" "strings"
"github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2"
@ -36,11 +39,30 @@ func InvexApiRequestClient(requestMethod string, url string) (statusCode int, bo
if code == 401 { if code == 401 {
log.Error().Msgf("invex not authorized, code: %d", code) log.Error().Msgf("invex not authorized, code: %d", code)
logger.AddSystemLog(structs.LogMessage{
Id: 29,
Type: utils.LogTypeInfo,
Messages: []structs.LogData{
{Type: "error", Value: "invex not authorized"},
{Type: "statusCode", Value: strconv.Itoa(code)},
},
})
return code, nil, err return code, nil, err
} }
if code == 404 { if code == 404 {
log.Error().Msgf("Invex stock item not found, code: %d", code) log.Error().Msgf("Invex stock item not found, code: %d", code)
logger.AddSystemLog(structs.LogMessage{
Id: 29,
Type: utils.LogTypeInfo,
Messages: []structs.LogData{
{Type: "error", Value: "invex stock item not found"},
{Type: "statusCode", Value: strconv.Itoa(code)},
},
})
return code, nil, err return code, nil, err
} }
@ -71,12 +93,14 @@ func CreateEquipmentDocumentation(c *fiber.Ctx, body structs.CreateEquipmentDocu
return c.SendStatus(fiber.StatusInternalServerError) return c.SendStatus(fiber.StatusInternalServerError)
} }
userId := c.Locals("userId").(string)
newEquipmentDocumentation := structs.EquipmentDocumentation{ newEquipmentDocumentation := structs.EquipmentDocumentation{
Id: uuid.New().String(), Id: uuid.New().String(),
StockItemId: body.StockItemId, StockItemId: body.StockItemId,
Type: body.Type, Type: body.Type,
Title: body.Title, Title: body.Title,
CreatedByUserId: c.Locals("userId").(string), CreatedByUserId: userId,
} }
if err := os.Mkdir(config.Cfg.FolderPaths.PublicStatic+"/equipmentdocumentation/"+newEquipmentDocumentation.Id, os.ModePerm); err != nil { if err := os.Mkdir(config.Cfg.FolderPaths.PublicStatic+"/equipmentdocumentation/"+newEquipmentDocumentation.Id, os.ModePerm); err != nil {
@ -132,6 +156,19 @@ func CreateEquipmentDocumentation(c *fiber.Ctx, body structs.CreateEquipmentDocu
database.DB.Create(&newEquipmentDocumentation) database.DB.Create(&newEquipmentDocumentation)
logger.AddSystemLog(structs.LogMessage{
Id: 27,
Type: utils.LogTypeInfo,
Messages: []structs.LogData{
{Type: "userId", Value: userId},
{Type: "equipmentDocumentationId", Value: newEquipmentDocumentation.Id},
{Type: "stockItemId", Value: newEquipmentDocumentation.StockItemId},
{Type: "type", Value: strconv.Itoa(int(body.Type))},
{Type: "title", Value: body.Title},
{Type: "description", Value: string(marshaledNotes)},
},
})
return c.JSON(fiber.Map{"message": "ok"}) return c.JSON(fiber.Map{"message": "ok"})
} }
@ -154,6 +191,16 @@ func GetEquipmentDocumentations(stockItemId string, c *fiber.Ctx) error {
} }
} }
logger.AddSystemLog(structs.LogMessage{
Id: 30,
Type: utils.LogTypeInfo,
Messages: []structs.LogData{
{Type: "userId", Value: c.Locals("userId").(string)},
{Type: "stockItemId", Value: stockItemId},
{Type: "statusCode", Value: strconv.Itoa(statusCode)},
},
})
return c.JSON(structs.EquipmentDocumentationResponse{ return c.JSON(structs.EquipmentDocumentationResponse{
Status: statusCode, Status: statusCode,
Documentations: documentations}) Documentations: documentations})
@ -254,6 +301,18 @@ func EditEquipmentDocumentation(c *fiber.Ctx, body structs.EditEquipmentDocument
Notes: string(marshaledNotes), Notes: string(marshaledNotes),
}) })
logger.AddSystemLog(structs.LogMessage{
Id: 28,
Type: utils.LogTypeInfo,
Messages: []structs.LogData{
{Type: "userId", Value: c.Locals("userId").(string)},
{Type: "equipmentDocumentationId", Value: body.DocumentationId},
{Type: "title", Value: body.Title},
{Type: "type", Value: strconv.Itoa(int(body.Type))},
{Type: "description", Value: string(marshaledNotes)},
},
})
return c.JSON(fiber.Map{"message": "ok"}) return c.JSON(fiber.Map{"message": "ok"})
} }

View File

@ -349,5 +349,57 @@
"message": "%userId% hat versucht einen seiner Api-Schlüssel zu verwenden, hat aber keine Berechtigung mehr dazu" "message": "%userId% hat versucht einen seiner Api-Schlüssel zu verwenden, hat aber keine Berechtigung mehr dazu"
} }
] ]
},
{
"id": 27,
"languages": [
{
"lang": "en",
"message": "%userId% has created the equipment document %equipmentDocumentationId% for the stock item %stockItemId% with the title %title% type %type% description %description%"
},
{
"lang": "de",
"message": "%userId% hat die Gerätedokumentation %equipmentDocumentationId% für das Lagerobjekt %stockItemId% mit der Beschreibung %description% erstellt"
}
]
},
{
"id": 28,
"languages": [
{
"lang": "en",
"message": "%userId% has updated the equipment document %equipmentDocumentationId% to title %title% type %type% and description %description%"
},
{
"lang": "de",
"message": "%userId% hat die Gerätedokumentation %equipmentDocumentationId% zu Titel %title% Typ %type% und Beschreibung %description% aktualisiert"
}
]
},
{
"id": 29,
"languages": [
{
"lang": "en",
"message": "InvexApiRequestClient err: %error% statusCode: %statusCode%"
},
{
"lang": "de",
"message": "InvexApiRequestClient err: %error% statusCode: %statusCode%"
}
]
},
{
"id": 30,
"languages": [
{
"lang": "en",
"message": "%userId% has viewed equipment documentation of the stock item %stockItemId%. StatusCode: %statusCode%"
},
{
"lang": "de",
"message": "%userId% hat die Gerätedokumentation des Lagerobjekts %stockItemId% angesehen. StatusCode: %statusCode%"
}
]
} }
] ]