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") }