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), }) }