+3
-3
appview/middleware/middleware.go
+3
-3
appview/middleware/middleware.go
···
12
12
13
13
"github.com/bluesky-social/indigo/atproto/identity"
14
14
"github.com/go-chi/chi/v5"
15
-
"tangled.sh/tangled.sh/core/appview"
16
15
"tangled.sh/tangled.sh/core/appview/db"
17
16
"tangled.sh/tangled.sh/core/appview/oauth"
18
17
"tangled.sh/tangled.sh/core/appview/pages"
19
18
"tangled.sh/tangled.sh/core/appview/pagination"
20
19
"tangled.sh/tangled.sh/core/appview/reporesolver"
21
20
"tangled.sh/tangled.sh/core/rbac"
21
+
"tangled.sh/tangled.sh/core/resolver"
22
22
)
23
23
24
24
type Middleware struct {
···
26
26
db *db.DB
27
27
enforcer *rbac.Enforcer
28
28
repoResolver *reporesolver.RepoResolver
29
-
resolver *appview.Resolver
29
+
resolver *resolver.Resolver
30
30
pages *pages.Pages
31
31
}
32
32
33
-
func New(oauth *oauth.OAuth, db *db.DB, enforcer *rbac.Enforcer, repoResolver *reporesolver.RepoResolver, resolver *appview.Resolver, pages *pages.Pages) Middleware {
33
+
func New(oauth *oauth.OAuth, db *db.DB, enforcer *rbac.Enforcer, repoResolver *reporesolver.RepoResolver, resolver *resolver.Resolver, pages *pages.Pages) Middleware {
34
34
return Middleware{
35
35
oauth: oauth,
36
36
db: db,
+2
-1
appview/oauth/handler/handler.go
+2
-1
appview/oauth/handler/handler.go
···
21
21
"tangled.sh/tangled.sh/core/appview/pages"
22
22
"tangled.sh/tangled.sh/core/knotclient"
23
23
"tangled.sh/tangled.sh/core/rbac"
24
+
"tangled.sh/tangled.sh/core/resolver"
24
25
)
25
26
26
27
const (
···
30
31
type OAuthHandler struct {
31
32
Config *appview.Config
32
33
Pages *pages.Pages
33
-
Resolver *appview.Resolver
34
+
Resolver *resolver.Resolver
34
35
Db *db.DB
35
36
Store *sessions.CookieStore
36
37
OAuth *oauth.OAuth
+3
-2
appview/pulls/pulls.go
+3
-2
appview/pulls/pulls.go
···
21
21
"tangled.sh/tangled.sh/core/appview/reporesolver"
22
22
"tangled.sh/tangled.sh/core/knotclient"
23
23
"tangled.sh/tangled.sh/core/patchutil"
24
+
"tangled.sh/tangled.sh/core/resolver"
24
25
"tangled.sh/tangled.sh/core/types"
25
26
26
27
"github.com/bluekeyes/go-gitdiff/gitdiff"
···
36
37
oauth *oauth.OAuth
37
38
repoResolver *reporesolver.RepoResolver
38
39
pages *pages.Pages
39
-
resolver *appview.Resolver
40
+
resolver *resolver.Resolver
40
41
db *db.DB
41
42
config *appview.Config
42
43
posthog posthog.Client
43
44
}
44
45
45
-
func New(oauth *oauth.OAuth, repoResolver *reporesolver.RepoResolver, pages *pages.Pages, resolver *appview.Resolver, db *db.DB, config *appview.Config) *Pulls {
46
+
func New(oauth *oauth.OAuth, repoResolver *reporesolver.RepoResolver, pages *pages.Pages, resolver *resolver.Resolver, db *db.DB, config *appview.Config) *Pulls {
46
47
return &Pulls{oauth: oauth, repoResolver: repoResolver, pages: pages, resolver: resolver, db: db, config: config}
47
48
}
48
49
+3
-2
appview/reporesolver/resolver.go
+3
-2
appview/reporesolver/resolver.go
···
22
22
"tangled.sh/tangled.sh/core/appview/pages/repoinfo"
23
23
"tangled.sh/tangled.sh/core/knotclient"
24
24
"tangled.sh/tangled.sh/core/rbac"
25
+
"tangled.sh/tangled.sh/core/resolver"
25
26
)
26
27
27
28
type ResolvedRepo struct {
···
40
41
type RepoResolver struct {
41
42
config *appview.Config
42
43
enforcer *rbac.Enforcer
43
-
resolver *appview.Resolver
44
+
resolver *resolver.Resolver
44
45
execer db.Execer
45
46
}
46
47
47
-
func New(config *appview.Config, enforcer *rbac.Enforcer, resolver *appview.Resolver, execer db.Execer) *RepoResolver {
48
+
func New(config *appview.Config, enforcer *rbac.Enforcer, resolver *resolver.Resolver, execer db.Execer) *RepoResolver {
48
49
return &RepoResolver{config: config, enforcer: enforcer, resolver: resolver, execer: execer}
49
50
}
50
51
+3
-3
appview/resolver.go
resolver/resolver.go
+3
-3
appview/resolver.go
resolver/resolver.go
···
1
-
package appview
1
+
package resolver
2
2
3
3
import (
4
4
"context"
···
52
52
}
53
53
}
54
54
55
-
func RedisResolver(config RedisConfig) (*Resolver, error) {
56
-
directory, err := RedisDirectory(config.ToURL())
55
+
func RedisResolver(url string) (*Resolver, error) {
56
+
directory, err := RedisDirectory(url)
57
57
if err != nil {
58
58
return nil, err
59
59
}
+6
-5
appview/state/state.go
+6
-5
appview/state/state.go
···
27
27
"tangled.sh/tangled.sh/core/jetstream"
28
28
"tangled.sh/tangled.sh/core/knotclient"
29
29
"tangled.sh/tangled.sh/core/rbac"
30
+
"tangled.sh/tangled.sh/core/resolver"
30
31
)
31
32
32
33
type State struct {
···
35
36
enforcer *rbac.Enforcer
36
37
tidClock syntax.TIDClock
37
38
pages *pages.Pages
38
-
resolver *appview.Resolver
39
+
resolver *resolver.Resolver
39
40
posthog posthog.Client
40
41
jc *jetstream.JetstreamClient
41
42
config *appview.Config
···
57
58
58
59
pgs := pages.NewPages(config)
59
60
60
-
resolver, err := appview.RedisResolver(config.Redis)
61
+
res, err := resolver.RedisResolver(config.Redis.ToURL())
61
62
if err != nil {
62
63
log.Printf("failed to create redis resolver: %v", err)
63
-
resolver = appview.DefaultResolver()
64
+
res = resolver.DefaultResolver()
64
65
}
65
66
66
67
oauth := oauth.NewOAuth(d, config)
···
70
71
return nil, fmt.Errorf("failed to create posthog client: %w", err)
71
72
}
72
73
73
-
repoResolver := reporesolver.New(config, enforcer, resolver, d)
74
+
repoResolver := reporesolver.New(config, enforcer, res, d)
74
75
75
76
wrapper := db.DbWrapper{d}
76
77
jc, err := jetstream.NewJetstreamClient(
···
102
103
enforcer,
103
104
clock,
104
105
pgs,
105
-
resolver,
106
+
res,
106
107
posthog,
107
108
jc,
108
109
config,