package base import ( "gorm.io/gorm" "leafdev.top/Leaf/api-platform/internal/base/conf" "leafdev.top/Leaf/api-platform/internal/base/logger" "leafdev.top/Leaf/api-platform/internal/base/redis" "leafdev.top/Leaf/api-platform/internal/base/s3" "leafdev.top/Leaf/api-platform/internal/base/server" "leafdev.top/Leaf/api-platform/internal/batch" "leafdev.top/Leaf/api-platform/internal/dao" "leafdev.top/Leaf/api-platform/internal/handler" "leafdev.top/Leaf/api-platform/internal/handler/http" "leafdev.top/Leaf/api-platform/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, } }