2024-11-06 10:47:56 +00:00
|
|
|
package base
|
|
|
|
|
|
|
|
import (
|
|
|
|
"gorm.io/gorm"
|
2024-11-06 12:35:16 +00:00
|
|
|
"leafdev.top/Ecosystem/recommender/internal/base/conf"
|
|
|
|
"leafdev.top/Ecosystem/recommender/internal/base/logger"
|
|
|
|
"leafdev.top/Ecosystem/recommender/internal/base/redis"
|
|
|
|
"leafdev.top/Ecosystem/recommender/internal/base/s3"
|
|
|
|
"leafdev.top/Ecosystem/recommender/internal/base/server"
|
|
|
|
"leafdev.top/Ecosystem/recommender/internal/batch"
|
|
|
|
"leafdev.top/Ecosystem/recommender/internal/dao"
|
|
|
|
"leafdev.top/Ecosystem/recommender/internal/handler"
|
|
|
|
"leafdev.top/Ecosystem/recommender/internal/handler/http"
|
|
|
|
"leafdev.top/Ecosystem/recommender/internal/service"
|
2024-11-06 10:47:56 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
type Application struct {
|
|
|
|
Config *conf.Config
|
|
|
|
Logger *logger.Logger
|
|
|
|
Handler *handler.Handler
|
|
|
|
Middleware *http.Middleware
|
|
|
|
HttpServer *server.HttpServer
|
|
|
|
GORM *gorm.DB
|
|
|
|
DAO *dao.Query
|
|
|
|
Service *service.Service
|
|
|
|
Redis *redis.Redis
|
|
|
|
Batch *batch.Batch
|
|
|
|
S3 *s3.S3
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewApplication(
|
|
|
|
config *conf.Config,
|
|
|
|
httpServer *server.HttpServer,
|
|
|
|
handler *handler.Handler,
|
|
|
|
logger *logger.Logger,
|
|
|
|
services *service.Service,
|
|
|
|
middleware *http.Middleware,
|
|
|
|
redis *redis.Redis,
|
|
|
|
batch *batch.Batch,
|
|
|
|
S3 *s3.S3,
|
|
|
|
GORM *gorm.DB,
|
|
|
|
DAO *dao.Query,
|
|
|
|
) *Application {
|
|
|
|
return &Application{
|
|
|
|
Config: config,
|
|
|
|
HttpServer: httpServer,
|
|
|
|
Handler: handler,
|
|
|
|
Logger: logger,
|
|
|
|
Service: services,
|
|
|
|
Middleware: middleware,
|
|
|
|
Redis: redis,
|
|
|
|
Batch: batch,
|
|
|
|
S3: S3,
|
|
|
|
GORM: GORM,
|
|
|
|
DAO: DAO,
|
|
|
|
}
|
|
|
|
}
|