update api.go, config.yml, handler.go, middleware.go, repository.go

This commit is contained in:
redtea committed 2024-10-22 12:00:00 +03:00
1 parent 43505548f7
commit f99ac8ffb4
5 files changed
+415

No files matched your search

+56
View File
@@ -0,0 +1,56 @@
package handler
import (
"esforum/docs"
"esforum/pkg/repository"
"esforum/pkg/service"
"github.com/gin-gonic/gin"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
type Handler struct {
services *service.Service
repo *repository.Repository
}
func NewHandler(services *service.Service, repo *repository.Repository) *Handler {
return &Handler{services: services, repo: repo}
}
// @title EasyStartup Forum
// @version 1.0
// @description Forum service for EasyStartup.
//
// @contact.name API Support
// @contact.email red.tea.dev@gmail.com
//
// @host forum.easystartup.su
// @BasePath /api
//
func (h *Handler) InitRoutes() *gin.Engine {
router := gin.New()
docs.SwaggerInfo.BasePath = "/"
guest := router.Group("/api/guest")
{
guest.GET("thread/:id", h.getThread)
guest.GET("thread/all", h.getAllThreads)
guest.GET("thread/:id/posts", h.getThreadPosts)
guest.GET("post/:id", h.getPost)
}
api := router.Group("/api", h.userIdentity)
{
api.POST("thread", h.create)
api.DELETE("thread/:id", h.delete)
api.POST("post", h.createPost)
api.DELETE("post/:id", h.deletePost)
}
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
return router
}