forked from tangled.org/core
Monorepo for Tangled

appview: config: move to own package to prevent import cycle

Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.sh>

anirudh.fi 3efc5daf 32ef8cbb

verified
Changed files
+26 -21
appview
config
idresolver
oauth
pages
pulls
repo
reporesolver
settings
state
cmd
appview
+1 -1
appview/config.go appview/config/config.go
··· 1 - package appview 1 + package config 2 2 3 3 import ( 4 4 "context"
+2 -2
appview/idresolver/resolver.go
··· 11 11 "github.com/bluesky-social/indigo/atproto/identity/redisdir" 12 12 "github.com/bluesky-social/indigo/atproto/syntax" 13 13 "github.com/carlmjohnson/versioninfo" 14 - "tangled.sh/tangled.sh/core/appview" 14 + "tangled.sh/tangled.sh/core/appview/config" 15 15 ) 16 16 17 17 type Resolver struct { ··· 53 53 } 54 54 } 55 55 56 - func RedisResolver(config appview.RedisConfig) (*Resolver, error) { 56 + func RedisResolver(config config.RedisConfig) (*Resolver, error) { 57 57 directory, err := RedisDirectory(config.ToURL()) 58 58 if err != nil { 59 59 return nil, err
+2 -2
appview/oauth/handler/handler.go
··· 13 13 "github.com/lestrrat-go/jwx/v2/jwk" 14 14 "github.com/posthog/posthog-go" 15 15 "tangled.sh/icyphox.sh/atproto-oauth/helpers" 16 - "tangled.sh/tangled.sh/core/appview" 16 + "tangled.sh/tangled.sh/core/appview/config" 17 17 "tangled.sh/tangled.sh/core/appview/db" 18 18 "tangled.sh/tangled.sh/core/appview/idresolver" 19 19 "tangled.sh/tangled.sh/core/appview/middleware" ··· 29 29 ) 30 30 31 31 type OAuthHandler struct { 32 - Config *appview.Config 32 + Config *config.Config 33 33 Pages *pages.Pages 34 34 Idresolver *idresolver.Resolver 35 35 Db *db.DB
+3 -2
appview/oauth/oauth.go
··· 11 11 oauth "tangled.sh/icyphox.sh/atproto-oauth" 12 12 "tangled.sh/icyphox.sh/atproto-oauth/helpers" 13 13 "tangled.sh/tangled.sh/core/appview" 14 + "tangled.sh/tangled.sh/core/appview/config" 14 15 "tangled.sh/tangled.sh/core/appview/db" 15 16 "tangled.sh/tangled.sh/core/appview/oauth/client" 16 17 xrpc "tangled.sh/tangled.sh/core/appview/xrpcclient" ··· 30 31 type OAuth struct { 31 32 Store *sessions.CookieStore 32 33 Db *db.DB 33 - Config *appview.Config 34 + Config *config.Config 34 35 } 35 36 36 - func NewOAuth(db *db.DB, config *appview.Config) *OAuth { 37 + func NewOAuth(db *db.DB, config *config.Config) *OAuth { 37 38 return &OAuth{ 38 39 Store: sessions.NewCookieStore([]byte(config.Core.CookieSecret)), 39 40 Db: db,
+2 -2
appview/pages/pages.go
··· 15 15 "path/filepath" 16 16 "strings" 17 17 18 - "tangled.sh/tangled.sh/core/appview" 18 + "tangled.sh/tangled.sh/core/appview/config" 19 19 "tangled.sh/tangled.sh/core/appview/db" 20 20 "tangled.sh/tangled.sh/core/appview/oauth" 21 21 "tangled.sh/tangled.sh/core/appview/pages/markup" ··· 45 45 rctx *markup.RenderContext 46 46 } 47 47 48 - func NewPages(config *appview.Config) *Pages { 48 + func NewPages(config *config.Config) *Pages { 49 49 // initialized with safe defaults, can be overriden per use 50 50 rctx := &markup.RenderContext{ 51 51 IsDev: config.Core.Dev,
+3 -2
appview/pulls/pulls.go
··· 15 15 16 16 "tangled.sh/tangled.sh/core/api/tangled" 17 17 "tangled.sh/tangled.sh/core/appview" 18 + "tangled.sh/tangled.sh/core/appview/config" 18 19 "tangled.sh/tangled.sh/core/appview/db" 19 20 "tangled.sh/tangled.sh/core/appview/idresolver" 20 21 "tangled.sh/tangled.sh/core/appview/oauth" ··· 39 40 pages *pages.Pages 40 41 idResolver *idresolver.Resolver 41 42 db *db.DB 42 - config *appview.Config 43 + config *config.Config 43 44 posthog posthog.Client 44 45 } 45 46 ··· 49 50 pages *pages.Pages, 50 51 resolver *idresolver.Resolver, 51 52 db *db.DB, 52 - config *appview.Config, 53 + config *config.Config, 53 54 ) *Pulls { 54 55 return &Pulls{ 55 56 oauth: oauth,
+3 -2
appview/repo/repo.go
··· 18 18 19 19 "tangled.sh/tangled.sh/core/api/tangled" 20 20 "tangled.sh/tangled.sh/core/appview" 21 + "tangled.sh/tangled.sh/core/appview/config" 21 22 "tangled.sh/tangled.sh/core/appview/db" 22 23 "tangled.sh/tangled.sh/core/appview/idresolver" 23 24 "tangled.sh/tangled.sh/core/appview/oauth" ··· 44 45 type Repo struct { 45 46 repoResolver *reporesolver.RepoResolver 46 47 idResolver *idresolver.Resolver 47 - config *appview.Config 48 + config *config.Config 48 49 oauth *oauth.OAuth 49 50 pages *pages.Pages 50 51 db *db.DB ··· 58 59 pages *pages.Pages, 59 60 idResolver *idresolver.Resolver, 60 61 db *db.DB, 61 - config *appview.Config, 62 + config *config.Config, 62 63 posthog posthog.Client, 63 64 enforcer *rbac.Enforcer, 64 65 ) *Repo {
+3 -3
appview/reporesolver/resolver.go
··· 15 15 "github.com/bluesky-social/indigo/atproto/syntax" 16 16 securejoin "github.com/cyphar/filepath-securejoin" 17 17 "github.com/go-chi/chi/v5" 18 - "tangled.sh/tangled.sh/core/appview" 18 + "tangled.sh/tangled.sh/core/appview/config" 19 19 "tangled.sh/tangled.sh/core/appview/db" 20 20 "tangled.sh/tangled.sh/core/appview/idresolver" 21 21 "tangled.sh/tangled.sh/core/appview/oauth" ··· 39 39 } 40 40 41 41 type RepoResolver struct { 42 - config *appview.Config 42 + config *config.Config 43 43 enforcer *rbac.Enforcer 44 44 idResolver *idresolver.Resolver 45 45 execer db.Execer 46 46 } 47 47 48 - func New(config *appview.Config, enforcer *rbac.Enforcer, resolver *idresolver.Resolver, execer db.Execer) *RepoResolver { 48 + func New(config *config.Config, enforcer *rbac.Enforcer, resolver *idresolver.Resolver, execer db.Execer) *RepoResolver { 49 49 return &RepoResolver{config: config, enforcer: enforcer, idResolver: resolver, execer: execer} 50 50 } 51 51
+2 -1
appview/settings/settings.go
··· 13 13 "github.com/go-chi/chi/v5" 14 14 "tangled.sh/tangled.sh/core/api/tangled" 15 15 "tangled.sh/tangled.sh/core/appview" 16 + "tangled.sh/tangled.sh/core/appview/config" 16 17 "tangled.sh/tangled.sh/core/appview/db" 17 18 "tangled.sh/tangled.sh/core/appview/email" 18 19 "tangled.sh/tangled.sh/core/appview/middleware" ··· 29 30 Db *db.DB 30 31 OAuth *oauth.OAuth 31 32 Pages *pages.Pages 32 - Config *appview.Config 33 + Config *config.Config 33 34 } 34 35 35 36 func (s *Settings) Router() http.Handler {
+3 -2
appview/state/state.go
··· 20 20 "github.com/posthog/posthog-go" 21 21 "tangled.sh/tangled.sh/core/api/tangled" 22 22 "tangled.sh/tangled.sh/core/appview" 23 + "tangled.sh/tangled.sh/core/appview/config" 23 24 "tangled.sh/tangled.sh/core/appview/db" 24 25 "tangled.sh/tangled.sh/core/appview/idresolver" 25 26 "tangled.sh/tangled.sh/core/appview/oauth" ··· 39 40 idResolver *idresolver.Resolver 40 41 posthog posthog.Client 41 42 jc *jetstream.JetstreamClient 42 - config *appview.Config 43 + config *config.Config 43 44 repoResolver *reporesolver.RepoResolver 44 45 } 45 46 46 - func Make(config *appview.Config) (*State, error) { 47 + func Make(config *config.Config) (*State, error) { 47 48 d, err := db.Make(config.Core.DbPath) 48 49 if err != nil { 49 50 return nil, err
+2 -2
cmd/appview/main.go
··· 7 7 "net/http" 8 8 "os" 9 9 10 - "tangled.sh/tangled.sh/core/appview" 10 + "tangled.sh/tangled.sh/core/appview/config" 11 11 "tangled.sh/tangled.sh/core/appview/state" 12 12 ) 13 13 14 14 func main() { 15 15 slog.SetDefault(slog.New(slog.NewTextHandler(os.Stdout, nil))) 16 16 17 - c, err := appview.LoadConfig(context.Background()) 17 + c, err := config.LoadConfig(context.Background()) 18 18 if err != nil { 19 19 log.Println("failed to load config", "error", err) 20 20 return