package base import ( "gorm.io/gorm" "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" ) 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, } }