59 lines
1.4 KiB
Go
59 lines
1.4 KiB
Go
package logger
|
|
|
|
import (
|
|
"janex/admin-dashboard-backend/modules/logger"
|
|
"janex/admin-dashboard-backend/modules/structs"
|
|
"janex/admin-dashboard-backend/modules/utils"
|
|
"janex/admin-dashboard-backend/socketclients"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
)
|
|
|
|
func GetSystemLog(c *fiber.Ctx) error {
|
|
t := c.Query("type")
|
|
date := c.Query("date")
|
|
|
|
if t == "" || date == "" {
|
|
return c.SendStatus(fiber.StatusBadRequest)
|
|
}
|
|
|
|
if t == "g" && !socketclients.HasPermission(c.Locals("userId").(string), utils.PermissionGroupTasksHistory) || t == "s" && !socketclients.HasPermission(c.Locals("userId").(string), utils.PermissionAdminAreaLogs) {
|
|
return c.SendStatus(fiber.StatusUnauthorized)
|
|
}
|
|
|
|
logType := "Group Tasks"
|
|
|
|
if t == "s" {
|
|
logType = "System"
|
|
}
|
|
|
|
logger.AddSystemLog(structs.LogMessage{
|
|
Id: 17,
|
|
Type: utils.LogTypeInfo,
|
|
Messages: []structs.LogData{
|
|
{Type: "userId", Value: c.Locals("userId").(string)},
|
|
{Type: "logType", Value: logType},
|
|
{Type: "logDate", Value: date},
|
|
},
|
|
})
|
|
|
|
if t == "g" { // grouptasks logs
|
|
return c.JSON(struct {
|
|
Logs []structs.LogMessageResponse
|
|
Dates []string
|
|
}{
|
|
Logs: logger.ReadLogs(date, false),
|
|
Dates: logger.GetAllLogMessagesDates(false),
|
|
})
|
|
}
|
|
|
|
// system logs
|
|
return c.JSON(struct {
|
|
Logs []structs.LogMessageResponse
|
|
Dates []string
|
|
}{
|
|
Logs: logger.ReadLogs(date, true),
|
|
Dates: logger.GetAllLogMessagesDates(true),
|
|
})
|
|
}
|