Monorepo for Tangled 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
··· 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
··· 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
··· 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
··· 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
··· 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
··· 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,