api-platform/internal/base/app.go

58 lines
1.4 KiB
Go
Raw Normal View History

2024-11-21 11:25:32 +00:00
package base
import (
2024-11-22 17:55:15 +00:00
"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"
2024-11-23 16:31:45 +00:00
"leafdev.top/Leaf/api-platform/internal/service"
2024-11-21 11:25:32 +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,
}
}