forked from tangled.org/core
this repo has no description

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