Files
d3m0k1d.ru/backend/internal/handlers/registry_handlers.go
d3m0k1d fd236962b1
All checks were successful
Backend ci / build (pull_request) Successful in 3m40s
feat: require admin for put del post req
2026-02-14 22:33:51 +03:00

29 lines
1.0 KiB
Go

package handlers
import (
"database/sql"
"gitea.d3m0k1d.ru/d3m0k1d/d3m0k1d.ru/backend/internal/auth"
"gitea.d3m0k1d.ru/d3m0k1d/d3m0k1d.ru/backend/internal/repositories"
"github.com/gin-gonic/gin"
)
func Register(router *gin.Engine, db *sql.DB) {
handler_posts := NewPostHandlers(repositories.NewPostRepository(db))
handler_auth := NewAuthHandlers(repositories.NewAuthRepository(db))
router.GET("/health", func(c *gin.Context) { c.Status(200) })
v1 := router.Group("api/v1")
v1.GET("/callback/github", handler_auth.CallbackGithub)
v1.GET("/auth/github", handler_auth.LoginGithub)
v1.GET("/session", auth.JWTMiddleware(), handler_auth.GetSession)
posts := v1.Group("posts")
{
posts.GET("/", handler_posts.GetPosts)
posts.GET("/:id", handler_posts.GetPost)
posts.POST("/", auth.JWTMiddleware(), auth.RequireAdmin(), handler_posts.CreatePost)
posts.PUT("/:id", auth.JWTMiddleware(), auth.RequireAdmin(), handler_posts.UpdatePost)
posts.DELETE("/:id", auth.JWTMiddleware(), auth.RequireAdmin(), handler_posts.DeletePost)
}
}