forked from tangled.org/core
Monorepo for Tangled — https://tangled.org

resolver: move resolver into its own package

Signed-off-by: oppiliappan <me@oppi.li>

Changed files
+20 -16
appview
middleware
oauth
handler
pulls
reporesolver
state
resolver
+3 -3
appview/middleware/middleware.go
···
"github.com/bluesky-social/indigo/atproto/identity"
"github.com/go-chi/chi/v5"
-
"tangled.sh/tangled.sh/core/appview"
"tangled.sh/tangled.sh/core/appview/db"
"tangled.sh/tangled.sh/core/appview/oauth"
"tangled.sh/tangled.sh/core/appview/pages"
"tangled.sh/tangled.sh/core/appview/pagination"
"tangled.sh/tangled.sh/core/appview/reporesolver"
"tangled.sh/tangled.sh/core/rbac"
+
"tangled.sh/tangled.sh/core/resolver"
)
type Middleware struct {
···
db *db.DB
enforcer *rbac.Enforcer
repoResolver *reporesolver.RepoResolver
-
resolver *appview.Resolver
+
resolver *resolver.Resolver
pages *pages.Pages
}
-
func New(oauth *oauth.OAuth, db *db.DB, enforcer *rbac.Enforcer, repoResolver *reporesolver.RepoResolver, resolver *appview.Resolver, pages *pages.Pages) Middleware {
+
func New(oauth *oauth.OAuth, db *db.DB, enforcer *rbac.Enforcer, repoResolver *reporesolver.RepoResolver, resolver *resolver.Resolver, pages *pages.Pages) Middleware {
return Middleware{
oauth: oauth,
db: db,
+2 -1
appview/oauth/handler/handler.go
···
"tangled.sh/tangled.sh/core/appview/pages"
"tangled.sh/tangled.sh/core/knotclient"
"tangled.sh/tangled.sh/core/rbac"
+
"tangled.sh/tangled.sh/core/resolver"
)
const (
···
type OAuthHandler struct {
Config *appview.Config
Pages *pages.Pages
-
Resolver *appview.Resolver
+
Resolver *resolver.Resolver
Db *db.DB
Store *sessions.CookieStore
OAuth *oauth.OAuth
+3 -2
appview/pulls/pulls.go
···
"tangled.sh/tangled.sh/core/appview/reporesolver"
"tangled.sh/tangled.sh/core/knotclient"
"tangled.sh/tangled.sh/core/patchutil"
+
"tangled.sh/tangled.sh/core/resolver"
"tangled.sh/tangled.sh/core/types"
"github.com/bluekeyes/go-gitdiff/gitdiff"
···
oauth *oauth.OAuth
repoResolver *reporesolver.RepoResolver
pages *pages.Pages
-
resolver *appview.Resolver
+
resolver *resolver.Resolver
db *db.DB
config *appview.Config
posthog posthog.Client
}
-
func New(oauth *oauth.OAuth, repoResolver *reporesolver.RepoResolver, pages *pages.Pages, resolver *appview.Resolver, db *db.DB, config *appview.Config) *Pulls {
+
func New(oauth *oauth.OAuth, repoResolver *reporesolver.RepoResolver, pages *pages.Pages, resolver *resolver.Resolver, db *db.DB, config *appview.Config) *Pulls {
return &Pulls{oauth: oauth, repoResolver: repoResolver, pages: pages, resolver: resolver, db: db, config: config}
}
+3 -2
appview/reporesolver/resolver.go
···
"tangled.sh/tangled.sh/core/appview/pages/repoinfo"
"tangled.sh/tangled.sh/core/knotclient"
"tangled.sh/tangled.sh/core/rbac"
+
"tangled.sh/tangled.sh/core/resolver"
)
type ResolvedRepo struct {
···
type RepoResolver struct {
config *appview.Config
enforcer *rbac.Enforcer
-
resolver *appview.Resolver
+
resolver *resolver.Resolver
execer db.Execer
}
-
func New(config *appview.Config, enforcer *rbac.Enforcer, resolver *appview.Resolver, execer db.Execer) *RepoResolver {
+
func New(config *appview.Config, enforcer *rbac.Enforcer, resolver *resolver.Resolver, execer db.Execer) *RepoResolver {
return &RepoResolver{config: config, enforcer: enforcer, resolver: resolver, execer: execer}
}
+3 -3
appview/resolver.go resolver/resolver.go
···
-
package appview
+
package resolver
import (
"context"
···
}
}
-
func RedisResolver(config RedisConfig) (*Resolver, error) {
-
directory, err := RedisDirectory(config.ToURL())
+
func RedisResolver(url string) (*Resolver, error) {
+
directory, err := RedisDirectory(url)
if err != nil {
return nil, err
}
+6 -5
appview/state/state.go
···
"tangled.sh/tangled.sh/core/jetstream"
"tangled.sh/tangled.sh/core/knotclient"
"tangled.sh/tangled.sh/core/rbac"
+
"tangled.sh/tangled.sh/core/resolver"
)
type State struct {
···
enforcer *rbac.Enforcer
tidClock syntax.TIDClock
pages *pages.Pages
-
resolver *appview.Resolver
+
resolver *resolver.Resolver
posthog posthog.Client
jc *jetstream.JetstreamClient
config *appview.Config
···
pgs := pages.NewPages(config)
-
resolver, err := appview.RedisResolver(config.Redis)
+
res, err := resolver.RedisResolver(config.Redis.ToURL())
if err != nil {
log.Printf("failed to create redis resolver: %v", err)
-
resolver = appview.DefaultResolver()
+
res = resolver.DefaultResolver()
}
oauth := oauth.NewOAuth(d, config)
···
return nil, fmt.Errorf("failed to create posthog client: %w", err)
}
-
repoResolver := reporesolver.New(config, enforcer, resolver, d)
+
repoResolver := reporesolver.New(config, enforcer, res, d)
wrapper := db.DbWrapper{d}
jc, err := jetstream.NewJetstreamClient(
···
enforcer,
clock,
pgs,
-
resolver,
+
res,
posthog,
jc,
config,