forked from
tangled.org/core
Monorepo for Tangled — https://tangled.org
1package pipelines
2
3import (
4 "log/slog"
5 "net/http"
6
7 "tangled.sh/tangled.sh/core/appview/config"
8 "tangled.sh/tangled.sh/core/appview/db"
9 "tangled.sh/tangled.sh/core/appview/idresolver"
10 "tangled.sh/tangled.sh/core/appview/oauth"
11 "tangled.sh/tangled.sh/core/appview/pages"
12 "tangled.sh/tangled.sh/core/appview/reporesolver"
13 "tangled.sh/tangled.sh/core/eventconsumer"
14 "tangled.sh/tangled.sh/core/log"
15 "tangled.sh/tangled.sh/core/rbac"
16
17 "github.com/go-chi/chi/v5"
18 "github.com/posthog/posthog-go"
19)
20
21type Pipelines struct {
22 repoResolver *reporesolver.RepoResolver
23 idResolver *idresolver.Resolver
24 config *config.Config
25 oauth *oauth.OAuth
26 pages *pages.Pages
27 spindlestream *eventconsumer.Consumer
28 db *db.DB
29 enforcer *rbac.Enforcer
30 posthog posthog.Client
31 Logger *slog.Logger
32}
33
34func New(
35 oauth *oauth.OAuth,
36 repoResolver *reporesolver.RepoResolver,
37 pages *pages.Pages,
38 spindlestream *eventconsumer.Consumer,
39 idResolver *idresolver.Resolver,
40 db *db.DB,
41 config *config.Config,
42 posthog posthog.Client,
43 enforcer *rbac.Enforcer,
44) *Pipelines {
45 logger := log.New("pipelines")
46
47 return &Pipelines{oauth: oauth,
48 repoResolver: repoResolver,
49 pages: pages,
50 idResolver: idResolver,
51 config: config,
52 spindlestream: spindlestream,
53 db: db,
54 posthog: posthog,
55 enforcer: enforcer,
56 Logger: logger,
57 }
58}