Files
relay-server/router/router.go
2025-02-11 16:34:59 +01:00

45 lines
1.4 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)
// Socket group
socket := chat.Group("/ws", middleware.Protected(), logger.New())
socket.Get("/:id")
}