45 lines
1.4 KiB
Go
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")
|
|
}
|