package http import ( "github.com/google/wire" "leafdev.top/Ecosystem/recommender/internal/handler/http/controller/application_v1" v1 "leafdev.top/Ecosystem/recommender/internal/handler/http/controller/v1" "leafdev.top/Ecosystem/recommender/internal/handler/http/middleware" ) var ProviderSet = wire.NewSet( middleware.NewAuthMiddleware, middleware.NewGinLoggerMiddleware, middleware.NewJSONResponseMiddleware, middleware.NewApplicationAuthMiddleware, NewMiddleware, v1.NewApplicationController, application_v1.NewApplicationController, application_v1.NewPostController, application_v1.NewCategoryController, NewHandler, ) type Middleware struct { GinLogger *middleware.GinLoggerMiddleware Auth *middleware.AuthMiddleware ApplicationAuth *middleware.ApplicationAuthMiddleware JSONResponse *middleware.JSONResponseMiddleware } func NewMiddleware( GinLogger *middleware.GinLoggerMiddleware, Auth *middleware.AuthMiddleware, JSONResponse *middleware.JSONResponseMiddleware, ApplicationAuth *middleware.ApplicationAuthMiddleware, ) *Middleware { return &Middleware{ Auth: Auth, GinLogger: GinLogger, JSONResponse: JSONResponse, ApplicationAuth: ApplicationAuth, } } type Handlers struct { ApplicationController *v1.ApplicationController ApplicationApi *application_v1.ApplicationController ApplicationPostApi *application_v1.PostController ApplicationCategoryApi *application_v1.CategoryController } func NewHandler( applicationController *v1.ApplicationController, applicationApiController *application_v1.ApplicationController, applicationPostApi *application_v1.PostController, applicationCategoryApi *application_v1.CategoryController, ) *Handlers { return &Handlers{ ApplicationController: applicationController, ApplicationApi: applicationApiController, ApplicationPostApi: applicationPostApi, ApplicationCategoryApi: applicationCategoryApi, } }