apifiber/routes/routes.go

49 lines
1.3 KiB
Go

package routes
import (
"api/controllers"
"api/middlewares"
"github.com/gofiber/fiber/v2"
)
// Setup sets up the routes
func Setup(app *fiber.App) {
app.Post("/integration", controllers.WixIntegration)
app.Get("/version", controllers.Version)
app.Get("/health", controllers.GetServerInfo)
app.Post("/login", controllers.Login)
app.Post("/register", controllers.AddUser)
app.Post("/create", controllers.CreateUser)
app.Get("/checkuser/:email", controllers.Checkuser)
// Webhooks
app.Post("/on_server_start", controllers.ServerStart)
app.Post("/on_update", controllers.OnUpdate)
app.Post("/on_pub_start", controllers.OnPubStart)
app.Post("/on_pub_stop", controllers.OnPubStop)
app.Post("/on_sub_start", controllers.OnSubStart)
// Protected routes. Needs login before.
protected := app.Group("/")
protected.Use(middlewares.Authenticate)
protected.Get("servers", controllers.GetAllServers)
protected.Post("server", controllers.AddServer)
protected.Get("user", controllers.GetOwnUser)
protected.Get("users", controllers.GetAllUsers)
protected.Get("users/:email", controllers.GetUserByEmail)
protected.Post("user", controllers.AddUser)
protected.Post("event", controllers.AddEvent)
protected.Get("events", controllers.GetAllEvents)
protected.Get("events/:id", controllers.GetEventsByUser)
}