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, ) }