44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package routes
|
|
|
|
import (
|
|
"backend/controllers/cover"
|
|
"backend/controllers/template"
|
|
"backend/controllers/user"
|
|
"backend/middleware"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func SetupRoutes() *gin.Engine {
|
|
r := gin.Default()
|
|
|
|
// Guest routes (Register, Login)
|
|
r.POST("/register", user.Register)
|
|
r.POST("/login", user.Login)
|
|
|
|
// Authenticated routes middleware/group
|
|
auth := r.Group("/")
|
|
auth.Use(middleware.IsAuthenticated())
|
|
|
|
// Route to check if user is authenticated
|
|
auth.GET("/info", user.TokenInfo)
|
|
|
|
// Template routes (REST FUCKING GOOOOO)
|
|
templates := auth.Group("/templates")
|
|
templates.GET("", template.Get)
|
|
templates.GET("/:id", template.GetID)
|
|
templates.POST("", template.Create)
|
|
templates.PUT("/:id", template.Put)
|
|
templates.DELETE("/:id", template.Delete)
|
|
|
|
// Cover letter routes
|
|
covers := auth.Group("/cover")
|
|
covers.GET("", cover.Get) // Get all letters
|
|
covers.GET("/:id", cover.GetID) // get single letter
|
|
covers.POST("", cover.Post) // create new letter
|
|
covers.PUT("/:id", cover.Put) // edit letter
|
|
covers.DELETE("/:id", cover.Delete) // delete letter
|
|
|
|
return r
|
|
}
|