diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-30 12:04:12 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-30 12:04:12 -0600 |
| commit | d4f4f72b5ff586f2ff440f19f61d2fe48be89a37 (patch) | |
| tree | 7b72d99a6257b636a9a844602f469975853e3b0e /app/jobs | |
| parent | 2c4c6cb7fe868229ba3c3a5eddc80d5581574b19 (diff) | |
refactor: extract Boot() function to kickstart background job queue API
Diffstat (limited to 'app/jobs')
| -rw-r--r-- | app/jobs/init.go | 25 |
1 files changed, 25 insertions, 0 deletions
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 +} |
