From d4f4f72b5ff586f2ff440f19f61d2fe48be89a37 Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 30 Jul 2025 12:04:12 -0600 Subject: refactor: extract Boot() function to kickstart background job queue API --- app/init.go | 9 ++++----- app/jobs/init.go | 25 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 app/jobs/init.go diff --git a/app/init.go b/app/init.go index 398c8a9..8e5e0e5 100644 --- a/app/init.go +++ b/app/init.go @@ -19,6 +19,7 @@ import ( "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/domain" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/jobs" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/authz" + "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/pls" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/web" ) @@ -89,9 +90,7 @@ func init() { logger := ioc.MustResolve[*zerolog.Logger](c) ctx := logger.WithContext(context.Background()) - client := ioc.MustResolve[*authzed.Client](c) - - ioc. - MustResolve[*event.TypedAggregator[*domain.Sparkle]](c). - SubscribeTo("after.create", jobs.NewCreateSparkle(ctx, client).Run) + if err := jobs.Boot(ctx, c); err != nil { + pls.LogErrorNow(ctx, err) + } } diff --git a/app/jobs/init.go b/app/jobs/init.go new file mode 100644 index 0000000..abc7dd1 --- /dev/null +++ b/app/jobs/init.go @@ -0,0 +1,25 @@ +package jobs + +import ( + "context" + + "github.com/authzed/authzed-go/v1" + "github.com/golobby/container/v3" + "github.com/xlgmokha/x/pkg/event" + "github.com/xlgmokha/x/pkg/ioc" + "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/domain" +) + +func Boot(ctx context.Context, c container.Container) error { + client, err := ioc.Resolve[*authzed.Client](c) + if err != nil { + return err + } + aggregator, err := ioc.Resolve[*event.TypedAggregator[*domain.Sparkle]](c) + if err != nil { + return err + } + + aggregator.SubscribeTo("after.create", NewCreateSparkle(ctx, client).Run) + return nil +} -- cgit v1.2.3