Starlio-web/main.go

79 lines
1.7 KiB
Go

package main
import (
"github.com/Redume/EveryNasa/api/controllers"
"github.com/Redume/EveryNasa/functions"
"github.com/Redume/EveryNasa/web/page"
"github.com/getlantern/systray"
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/cors"
)
func main() {
go functions.Database()
go systray.Run(functions.Tray, functions.Quit)
go functions.StartWallpaper()
app := fiber.New()
app = fiber.New(fiber.Config{
ErrorHandler: func(ctx *fiber.Ctx, err error) error {
code := fiber.StatusInternalServerError
if e, ok := err.(*fiber.Error); ok {
code = e.Code
}
if code == fiber.StatusNotFound {
return ctx.SendFile("./web/errors/404.html")
}
return nil
},
})
app.Static("/static", "./web/static")
app.Use(cors.New())
app.Get("/", func(c *fiber.Ctx) error {
return page.Gallery(c)
})
app.Get("/settings", func(c *fiber.Ctx) error {
return page.Settings(c)
})
app.Get("/about", func(c *fiber.Ctx) error {
return page.About(c)
})
api := app.Group("/api")
update := api.Group("/update")
get := api.Group("/get")
create := api.Group("/create")
update.Post("/settings", func(c *fiber.Ctx) error {
return controllers.SettingsUpdate(c)
})
update.Post("/wallpaper", func(c *fiber.Ctx) error {
return controllers.WallpaperUpdate(c)
})
update.Post("/startup", func(c *fiber.Ctx) error {
return controllers.Startup(c)
})
create.Post("/label", func(c *fiber.Ctx) error {
return controllers.CreateLabel(c)
})
get.Get("/settings", func(c *fiber.Ctx) error {
return controllers.SettingsGet(c)
})
get.Get("/settings", func(c *fiber.Ctx) error {
return controllers.SettingsGet(c)
})
err := app.Listen(":3000")
if err != nil {
return
}
}