github.com/kyleu/dbaudit@v0.0.2-0.20240321155047-ff2f2c940496/app/services.go (about) 1 package app // import github.com/kyleu/dbaudit 2 3 import ( 4 "context" 5 6 "github.com/pkg/errors" 7 8 "github.com/kyleu/dbaudit/app/lib/database/migrate" 9 "github.com/kyleu/dbaudit/app/parse" 10 "github.com/kyleu/dbaudit/app/statement" 11 "github.com/kyleu/dbaudit/app/util" 12 "github.com/kyleu/dbaudit/queries/migrations" 13 ) 14 15 type Services struct { 16 CoreServices 17 GeneratedServices 18 19 Parse *parse.Service 20 } 21 22 func NewServices(ctx context.Context, st *State, logger util.Logger) (*Services, error) { 23 migrations.LoadMigrations(st.Debug) 24 err := migrate.Migrate(ctx, st.DB, logger) 25 if err != nil { 26 return nil, errors.Wrap(err, "unable to run database migrations") 27 } 28 stmtSvc := statement.NewService(st.DB) 29 return &Services{ 30 CoreServices: initCoreServices(ctx, st, logger), 31 GeneratedServices: initGeneratedServices(ctx, st, logger), 32 33 Parse: parse.NewService(st.DB, stmtSvc), 34 }, nil 35 } 36 37 func (s *Services) Close(_ context.Context, _ util.Logger) error { 38 return nil 39 }