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

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
···
-
package appview
+
package config
import (
"context"
+2 -2
appview/idresolver/resolver.go
···
"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 {
···
}
}
-
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
+2 -2
appview/oauth/handler/handler.go
···
"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"
···
)
type OAuthHandler struct {
-
Config *appview.Config
+
Config *config.Config
Pages *pages.Pages
Idresolver *idresolver.Resolver
Db *db.DB
+3 -2
appview/oauth/oauth.go
···
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"
···
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,
+2 -2
appview/pages/pages.go
···
"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"
···
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,
+3 -2
appview/pulls/pulls.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"
···
pages *pages.Pages
idResolver *idresolver.Resolver
db *db.DB
-
config *appview.Config
+
config *config.Config
posthog posthog.Client
}
···
pages *pages.Pages,
resolver *idresolver.Resolver,
db *db.DB,
-
config *appview.Config,
+
config *config.Config,
) *Pulls {
return &Pulls{
oauth: oauth,
+3 -2
appview/repo/repo.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"
···
type Repo struct {
repoResolver *reporesolver.RepoResolver
idResolver *idresolver.Resolver
-
config *appview.Config
+
config *config.Config
oauth *oauth.OAuth
pages *pages.Pages
db *db.DB
···
pages *pages.Pages,
idResolver *idresolver.Resolver,
db *db.DB,
-
config *appview.Config,
+
config *config.Config,
posthog posthog.Client,
enforcer *rbac.Enforcer,
) *Repo {
+3 -3
appview/reporesolver/resolver.go
···
"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"
···
}
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}
}
+2 -1
appview/settings/settings.go
···
"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"
···
Db *db.DB
OAuth *oauth.OAuth
Pages *pages.Pages
-
Config *appview.Config
+
Config *config.Config
}
func (s *Settings) Router() http.Handler {
+3 -2
appview/state/state.go
···
"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"
···
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
+2 -2
cmd/appview/main.go
···
"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