|
|
|
@ -5,8 +5,6 @@ import (
|
|
|
|
|
"flag"
|
|
|
|
|
"fmt"
|
|
|
|
|
|
|
|
|
|
_ "embed"
|
|
|
|
|
|
|
|
|
|
"git.vdhsn.com/barretthousen/barretthousen/src/lib/domain/runner"
|
|
|
|
|
"git.vdhsn.com/barretthousen/barretthousen/src/lib/kernel"
|
|
|
|
|
"git.vdhsn.com/barretthousen/barretthousen/src/runner/internal"
|
|
|
|
@ -15,6 +13,8 @@ import (
|
|
|
|
|
"github.com/jackc/pgx/v4"
|
|
|
|
|
"go.uber.org/dig"
|
|
|
|
|
|
|
|
|
|
_ "embed"
|
|
|
|
|
|
|
|
|
|
_ "git.vdhsn.com/barretthousen/barretthousen/src/runner/internal/domain/liveauctioneers"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
@ -53,32 +53,45 @@ func (app *RunnerApp) Start(ctx context.Context) error {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ioc := dig.New()
|
|
|
|
|
ioc.Provide(func() kernel.PostgresConnection {
|
|
|
|
|
var err error
|
|
|
|
|
if err = ioc.Provide(func() kernel.PostgresConnection {
|
|
|
|
|
return app.Postgres
|
|
|
|
|
})
|
|
|
|
|
}); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ioc.Provide(func(pgCfg kernel.PostgresConnection) (*pgx.Conn, error) {
|
|
|
|
|
if err = ioc.Provide(func(pgCfg kernel.PostgresConnection) (*pgx.Conn, error) {
|
|
|
|
|
return kernel.NewDBConnection(ctx, pgCfg)
|
|
|
|
|
})
|
|
|
|
|
}); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ioc.Provide(func(pgConn *pgx.Conn) *postgres.Queries {
|
|
|
|
|
if err = ioc.Provide(func(pgConn *pgx.Conn) *postgres.Queries {
|
|
|
|
|
return postgres.New(pgConn)
|
|
|
|
|
})
|
|
|
|
|
}); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ioc.Provide(func(queries *postgres.Queries) runner.Storage {
|
|
|
|
|
return &data.PGRunnerStorage{queries}
|
|
|
|
|
})
|
|
|
|
|
if err = ioc.Provide(func(queries *postgres.Queries) runner.Storage {
|
|
|
|
|
return &data.PGRunnerStorage{Queries: queries}
|
|
|
|
|
}); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ioc.Provide(func() runner.CatalogService {
|
|
|
|
|
if err = ioc.Provide(func() runner.CatalogService {
|
|
|
|
|
return &runner.CatalogServiceStub{}
|
|
|
|
|
})
|
|
|
|
|
}); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ioc.Provide(func(css runner.CatalogService, rs runner.Storage) *runner.Domain {
|
|
|
|
|
if err = ioc.Provide(func(css runner.CatalogService, rs runner.Storage) *runner.Domain {
|
|
|
|
|
return &runner.Domain{
|
|
|
|
|
Storage: rs,
|
|
|
|
|
CatalogService: css,
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ioc.Invoke(func(d *runner.Domain) error {
|
|
|
|
|
runnerService := internal.NewRunnerServer(d)
|
|
|
|
|