diff --git a/modules/loghandler/loghandler.go b/modules/loghandler/loghandler.go index 49c4ff9..1fc135e 100644 --- a/modules/loghandler/loghandler.go +++ b/modules/loghandler/loghandler.go @@ -7,7 +7,9 @@ import ( "jannex/log-manager/modules/structs" "jannex/log-manager/modules/utils" "os" + "sort" "strconv" + "strings" "sync" "time" ) @@ -73,8 +75,16 @@ func GetAvailableLogFiles(logType string) ([]string, error) { return []string{}, err } + // sort the files by date + sort.Slice(files, func(i, j int) bool { + dateFormat := "2-1-2006" + dateA, _ := time.Parse(dateFormat, strings.Split(files[i].Name(), ".")[0]) + dateB, _ := time.Parse(dateFormat, strings.Split(files[j].Name(), ".")[0]) + return dateA.After(dateB) + }) + for _, file := range files { - availableLogs = append(availableLogs, file.Name()) + availableLogs = append(availableLogs, strings.Split(file.Name(), ".")[0]) } return availableLogs, nil @@ -111,3 +121,20 @@ func GetLogByDate(logType string, date string) ([]string, error) { return logs, nil } + +func GetAvailableLogTypes() []string { + var availableLogTypes []string + + files, err := os.ReadDir(config.Cfg.LogFolder) + + if err != nil { + fmt.Println(err) + return []string{} + } + + for _, file := range files { + availableLogTypes = append(availableLogTypes, file.Name()) + } + + return availableLogTypes +} diff --git a/routers/router/api/v1/log/log.go b/routers/router/api/v1/log/log.go index 5f4b725..0c151a8 100644 --- a/routers/router/api/v1/log/log.go +++ b/routers/router/api/v1/log/log.go @@ -12,14 +12,10 @@ import ( func AddLog(c *fiber.Ctx) error { var body structs.LogBody - fmt.Println("c", string(c.Body())) - if err := utils.BodyParserHelper(c, &body); err != nil { return c.SendStatus(fiber.StatusBadRequest) } - fmt.Println("body", body) - loghandler.AddLog(body) return c.SendStatus(fiber.StatusOK) @@ -65,3 +61,9 @@ func GetLog(c *fiber.Ctx) error { return c.JSON(logs) } + +func GetAvailableLogTypes(c *fiber.Ctx) error { + logTypes := loghandler.GetAvailableLogTypes() + + return c.JSON(logTypes) +} diff --git a/routers/router/router.go b/routers/router/router.go index 784fa48..3fec55f 100644 --- a/routers/router/router.go +++ b/routers/router/router.go @@ -11,5 +11,8 @@ func SetupRoutes(app *fiber.App) { l := v1.Group("/log") l.Post("/", log.AddLog) - l.Get("/:type", log.GetLog) + l.Get("/types", log.GetAvailableLogTypes) + + ls := v1.Group("/logs") + ls.Get("/:type", log.GetLog) }