Files
relay-server/router/router.go
2025-02-08 16:13:53 +01:00

40 lines
1.3 KiB
Go

package router
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/logger"
"relay-server/handlers"
"relay-server/middleware"
)
func SetupRoutes(app *fiber.App) {
app.Get("/", middleware.Protected(), func(c *fiber.Ctx) error {
return c.SendString("Hello, World!")
})
api := app.Group("/api", logger.New())
chat := api.Group("/chat", middleware.Protected(), logger.New())
// Auth group
auth := api.Group("/auth", logger.New())
auth.Post("/signup", handlers.Signup)
auth.Post("/login", handlers.Login)
auth.Get("/validate", middleware.Protected(), handlers.ValidateToken)
// Contacts group
contacts := chat.Group("/contacts", middleware.Protected(), logger.New())
contacts.Delete("/:contactID/:conversation_id", handlers.DeleteContact)
contacts.Post("/:contactUsername", handlers.InsertContact)
contacts.Get("/", handlers.GetContacts)
contacts.Get("/suggestions/:contactUsername", handlers.GetContactSuggestions)
// Messages group
messages := chat.Group("/messages", middleware.Protected(), logger.New())
messages.Get("/:conversationID", handlers.GetMessages)
// Groups group
groups := chat.Group("/groups", middleware.Protected(), logger.New())
groups.Post("/create", handlers.CreateGroup)
groups.Post("/addMember", handlers.AddMemberToGroup)
groups.Get("/getMembers/:groupID", handlers.GetMembers)
}