recommender/internal/handler/http/provider.go

56 lines
1.5 KiB
Go
Raw Normal View History

2024-11-06 10:47:56 +00:00
package http
import (
"github.com/google/wire"
2024-11-07 12:00:06 +00:00
"leafdev.top/Ecosystem/recommender/internal/handler/http/controller/application_v1"
2024-11-06 12:35:16 +00:00
v1 "leafdev.top/Ecosystem/recommender/internal/handler/http/controller/v1"
"leafdev.top/Ecosystem/recommender/internal/handler/http/middleware"
2024-11-06 10:47:56 +00:00
)
var ProviderSet = wire.NewSet(
middleware.NewAuthMiddleware,
middleware.NewGinLoggerMiddleware,
middleware.NewJSONResponseMiddleware,
2024-11-07 12:00:06 +00:00
middleware.NewApplicationAuthMiddleware,
2024-11-06 10:47:56 +00:00
NewMiddleware,
2024-11-07 10:09:13 +00:00
v1.NewApplicationController,
2024-11-07 12:00:06 +00:00
application_v1.NewApplicationController,
2024-11-06 10:47:56 +00:00
NewHandler,
)
type Middleware struct {
2024-11-07 12:00:06 +00:00
GinLogger *middleware.GinLoggerMiddleware
Auth *middleware.AuthMiddleware
ApplicationAuth *middleware.ApplicationAuthMiddleware
JSONResponse *middleware.JSONResponseMiddleware
2024-11-06 10:47:56 +00:00
}
func NewMiddleware(
GinLogger *middleware.GinLoggerMiddleware,
Auth *middleware.AuthMiddleware,
JSONResponse *middleware.JSONResponseMiddleware,
2024-11-07 12:00:06 +00:00
ApplicationAuth *middleware.ApplicationAuthMiddleware,
2024-11-06 10:47:56 +00:00
) *Middleware {
return &Middleware{
2024-11-07 12:00:06 +00:00
Auth: Auth,
GinLogger: GinLogger,
JSONResponse: JSONResponse,
ApplicationAuth: ApplicationAuth,
2024-11-06 10:47:56 +00:00
}
}
type Handlers struct {
2024-11-07 12:00:06 +00:00
ApplicationController *v1.ApplicationController
ApplicationApi *application_v1.ApplicationController
2024-11-06 10:47:56 +00:00
}
func NewHandler(
2024-11-07 12:00:06 +00:00
applicationController *v1.ApplicationController,
applicationApiController *application_v1.ApplicationController,
2024-11-06 10:47:56 +00:00
) *Handlers {
return &Handlers{
2024-11-07 12:00:06 +00:00
ApplicationController: applicationController,
ApplicationApi: applicationApiController,
2024-11-06 10:47:56 +00:00
}
}