54 lines
1.2 KiB
Go
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,
|
|
)
|
|
}
|