summaryrefslogtreecommitdiff
path: root/app/jobs/init.go
blob: abc7dd11207ec3bac8c0e9a976d5b04f84272f81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
}