diff --git a/appview/config.go b/appview/config/config.go similarity index 99% rename from appview/config.go rename to appview/config/config.go index 1db55a6a..451aa2cb 100644 --- a/appview/config.go +++ b/appview/config/config.go @@ -1,4 +1,4 @@ -package appview +package config import ( "context" diff --git a/appview/idresolver/resolver.go b/appview/idresolver/resolver.go index 7ce01191..d4d5eada 100644 --- a/appview/idresolver/resolver.go +++ b/appview/idresolver/resolver.go @@ -11,7 +11,7 @@ import ( "github.com/bluesky-social/indigo/atproto/identity/redisdir" "github.com/bluesky-social/indigo/atproto/syntax" "github.com/carlmjohnson/versioninfo" - "tangled.sh/tangled.sh/core/appview" + "tangled.sh/tangled.sh/core/appview/config" ) type Resolver struct { @@ -53,7 +53,7 @@ func DefaultResolver() *Resolver { } } -func RedisResolver(config appview.RedisConfig) (*Resolver, error) { +func RedisResolver(config config.RedisConfig) (*Resolver, error) { directory, err := RedisDirectory(config.ToURL()) if err != nil { return nil, err diff --git a/appview/oauth/handler/handler.go b/appview/oauth/handler/handler.go index a66d6cdf..086db0c2 100644 --- a/appview/oauth/handler/handler.go +++ b/appview/oauth/handler/handler.go @@ -13,7 +13,7 @@ import ( "github.com/lestrrat-go/jwx/v2/jwk" "github.com/posthog/posthog-go" "tangled.sh/icyphox.sh/atproto-oauth/helpers" - "tangled.sh/tangled.sh/core/appview" + "tangled.sh/tangled.sh/core/appview/config" "tangled.sh/tangled.sh/core/appview/db" "tangled.sh/tangled.sh/core/appview/idresolver" "tangled.sh/tangled.sh/core/appview/middleware" @@ -29,7 +29,7 @@ const ( ) type OAuthHandler struct { - Config *appview.Config + Config *config.Config Pages *pages.Pages Idresolver *idresolver.Resolver Db *db.DB diff --git a/appview/oauth/oauth.go b/appview/oauth/oauth.go index d273fdd0..a5feb585 100644 --- a/appview/oauth/oauth.go +++ b/appview/oauth/oauth.go @@ -11,6 +11,7 @@ import ( oauth "tangled.sh/icyphox.sh/atproto-oauth" "tangled.sh/icyphox.sh/atproto-oauth/helpers" "tangled.sh/tangled.sh/core/appview" + "tangled.sh/tangled.sh/core/appview/config" "tangled.sh/tangled.sh/core/appview/db" "tangled.sh/tangled.sh/core/appview/oauth/client" xrpc "tangled.sh/tangled.sh/core/appview/xrpcclient" @@ -30,10 +31,10 @@ type OAuthRequest struct { type OAuth struct { Store *sessions.CookieStore Db *db.DB - Config *appview.Config + Config *config.Config } -func NewOAuth(db *db.DB, config *appview.Config) *OAuth { +func NewOAuth(db *db.DB, config *config.Config) *OAuth { return &OAuth{ Store: sessions.NewCookieStore([]byte(config.Core.CookieSecret)), Db: db, diff --git a/appview/pages/pages.go b/appview/pages/pages.go index e231baae..bb0073b8 100644 --- a/appview/pages/pages.go +++ b/appview/pages/pages.go @@ -15,7 +15,7 @@ import ( "path/filepath" "strings" - "tangled.sh/tangled.sh/core/appview" + "tangled.sh/tangled.sh/core/appview/config" "tangled.sh/tangled.sh/core/appview/db" "tangled.sh/tangled.sh/core/appview/oauth" "tangled.sh/tangled.sh/core/appview/pages/markup" @@ -45,7 +45,7 @@ type Pages struct { rctx *markup.RenderContext } -func NewPages(config *appview.Config) *Pages { +func NewPages(config *config.Config) *Pages { // initialized with safe defaults, can be overriden per use rctx := &markup.RenderContext{ IsDev: config.Core.Dev, diff --git a/appview/pulls/pulls.go b/appview/pulls/pulls.go index 6fbceefa..6cbd3c62 100644 --- a/appview/pulls/pulls.go +++ b/appview/pulls/pulls.go @@ -15,6 +15,7 @@ import ( "tangled.sh/tangled.sh/core/api/tangled" "tangled.sh/tangled.sh/core/appview" + "tangled.sh/tangled.sh/core/appview/config" "tangled.sh/tangled.sh/core/appview/db" "tangled.sh/tangled.sh/core/appview/idresolver" "tangled.sh/tangled.sh/core/appview/oauth" @@ -39,7 +40,7 @@ type Pulls struct { pages *pages.Pages idResolver *idresolver.Resolver db *db.DB - config *appview.Config + config *config.Config posthog posthog.Client } @@ -49,7 +50,7 @@ func New( pages *pages.Pages, resolver *idresolver.Resolver, db *db.DB, - config *appview.Config, + config *config.Config, ) *Pulls { return &Pulls{ oauth: oauth, diff --git a/appview/repo/repo.go b/appview/repo/repo.go index a5753c39..1e59af44 100644 --- a/appview/repo/repo.go +++ b/appview/repo/repo.go @@ -18,6 +18,7 @@ import ( "tangled.sh/tangled.sh/core/api/tangled" "tangled.sh/tangled.sh/core/appview" + "tangled.sh/tangled.sh/core/appview/config" "tangled.sh/tangled.sh/core/appview/db" "tangled.sh/tangled.sh/core/appview/idresolver" "tangled.sh/tangled.sh/core/appview/oauth" @@ -44,7 +45,7 @@ import ( type Repo struct { repoResolver *reporesolver.RepoResolver idResolver *idresolver.Resolver - config *appview.Config + config *config.Config oauth *oauth.OAuth pages *pages.Pages db *db.DB @@ -58,7 +59,7 @@ func New( pages *pages.Pages, idResolver *idresolver.Resolver, db *db.DB, - config *appview.Config, + config *config.Config, posthog posthog.Client, enforcer *rbac.Enforcer, ) *Repo { diff --git a/appview/reporesolver/resolver.go b/appview/reporesolver/resolver.go index 40e42d5a..51608b64 100644 --- a/appview/reporesolver/resolver.go +++ b/appview/reporesolver/resolver.go @@ -15,7 +15,7 @@ import ( "github.com/bluesky-social/indigo/atproto/syntax" securejoin "github.com/cyphar/filepath-securejoin" "github.com/go-chi/chi/v5" - "tangled.sh/tangled.sh/core/appview" + "tangled.sh/tangled.sh/core/appview/config" "tangled.sh/tangled.sh/core/appview/db" "tangled.sh/tangled.sh/core/appview/idresolver" "tangled.sh/tangled.sh/core/appview/oauth" @@ -39,13 +39,13 @@ type ResolvedRepo struct { } type RepoResolver struct { - config *appview.Config + config *config.Config enforcer *rbac.Enforcer idResolver *idresolver.Resolver execer db.Execer } -func New(config *appview.Config, enforcer *rbac.Enforcer, resolver *idresolver.Resolver, execer db.Execer) *RepoResolver { +func New(config *config.Config, enforcer *rbac.Enforcer, resolver *idresolver.Resolver, execer db.Execer) *RepoResolver { return &RepoResolver{config: config, enforcer: enforcer, idResolver: resolver, execer: execer} } diff --git a/appview/settings/settings.go b/appview/settings/settings.go index a2b57a28..eca5aed2 100644 --- a/appview/settings/settings.go +++ b/appview/settings/settings.go @@ -13,6 +13,7 @@ import ( "github.com/go-chi/chi/v5" "tangled.sh/tangled.sh/core/api/tangled" "tangled.sh/tangled.sh/core/appview" + "tangled.sh/tangled.sh/core/appview/config" "tangled.sh/tangled.sh/core/appview/db" "tangled.sh/tangled.sh/core/appview/email" "tangled.sh/tangled.sh/core/appview/middleware" @@ -29,7 +30,7 @@ type Settings struct { Db *db.DB OAuth *oauth.OAuth Pages *pages.Pages - Config *appview.Config + Config *config.Config } func (s *Settings) Router() http.Handler { diff --git a/appview/state/state.go b/appview/state/state.go index 9743ff3c..55e304e0 100644 --- a/appview/state/state.go +++ b/appview/state/state.go @@ -20,6 +20,7 @@ import ( "github.com/posthog/posthog-go" "tangled.sh/tangled.sh/core/api/tangled" "tangled.sh/tangled.sh/core/appview" + "tangled.sh/tangled.sh/core/appview/config" "tangled.sh/tangled.sh/core/appview/db" "tangled.sh/tangled.sh/core/appview/idresolver" "tangled.sh/tangled.sh/core/appview/oauth" @@ -39,11 +40,11 @@ type State struct { idResolver *idresolver.Resolver posthog posthog.Client jc *jetstream.JetstreamClient - config *appview.Config + config *config.Config repoResolver *reporesolver.RepoResolver } -func Make(config *appview.Config) (*State, error) { +func Make(config *config.Config) (*State, error) { d, err := db.Make(config.Core.DbPath) if err != nil { return nil, err diff --git a/cmd/appview/main.go b/cmd/appview/main.go index 98b7a556..60e721e4 100644 --- a/cmd/appview/main.go +++ b/cmd/appview/main.go @@ -7,14 +7,14 @@ import ( "net/http" "os" - "tangled.sh/tangled.sh/core/appview" + "tangled.sh/tangled.sh/core/appview/config" "tangled.sh/tangled.sh/core/appview/state" ) func main() { slog.SetDefault(slog.New(slog.NewTextHandler(os.Stdout, nil))) - c, err := appview.LoadConfig(context.Background()) + c, err := config.LoadConfig(context.Background()) if err != nil { log.Println("failed to load config", "error", err) return