donat-widget/cmd/main.go
2024-09-27 13:50:20 +05:00

54 lines
1.2 KiB
Go

package main
import (
"context"
"donat-widget/internal/app/http"
"donat-widget/internal/config"
)
import (
"donat-widget/infrastructure/pg"
"donat-widget/infrastructure/weed"
)
import (
WidgetRepo "donat-widget/internal/repository/widget"
DonatRepo "donat-widget/internal/repository/widget/donat"
MediaRepo "donat-widget/internal/repository/widget/media"
WidgetService "donat-widget/internal/service/widget"
DonatService "donat-widget/internal/service/widget/donat"
MediaService "donat-widget/internal/service/widget/media"
)
// @title Widget service
// @version 1.0
// @description Описание.
// @host localhost:8002
// @BasePath /api/widget
func main() {
cfg := config.Init()
// INFRASTRUCTURE
db := pg.NewPgPool(context.Background(), cfg.Db.Username, cfg.Db.Password, cfg.Db.Host, cfg.Db.Port, cfg.Db.DBName)
storage := weed.NewWeed(cfg.Storage.Filer, cfg.Storage.Master)
// REPOSITORIES
widgetRepo := WidgetRepo.New(db)
mediaRepo := MediaRepo.New(db, storage)
donatRepo := DonatRepo.New(db)
// SERVICES
widgetService := WidgetService.New(widgetRepo, donatRepo)
mediaService := MediaService.New(mediaRepo)
donatService := DonatService.New(donatRepo)
http.NewApp(
db,
widgetService,
mediaService,
donatService,
)
}