diff --git a/appview/db/spindle.go b/appview/db/spindle.go --- a/appview/db/spindle.go +++ b/appview/db/spindle.go @@ -6,29 +6,11 @@ "fmt" "strings" "time" - "github.com/bluesky-social/indigo/atproto/syntax" + "tangled.org/core/appview/models" ) -type Spindle struct { - Id int - Owner syntax.DID - Instance string - Verified *time.Time - Created time.Time - NeedsUpgrade bool -} - -type SpindleMember struct { - Id int - Did syntax.DID // owner of the record - Rkey string // rkey of the record - Instance string - Subject syntax.DID // the member being added - Created time.Time -} - -func GetSpindles(e Execer, filters ...filter) ([]Spindle, error) { - var spindles []Spindle +func GetSpindles(e Execer, filters ...filter) ([]models.Spindle, error) { + var spindles []models.Spindle var conditions []string var args []any @@ -59,7 +41,7 @@ } defer rows.Close() for rows.Next() { - var spindle Spindle + var spindle models.Spindle var createdAt string var verified sql.NullString var needsUpgrade int @@ -100,7 +82,7 @@ return spindles, nil } // if there is an existing spindle with the same instance, this returns an error -func AddSpindle(e Execer, spindle Spindle) error { +func AddSpindle(e Execer, spindle models.Spindle) error { _, err := e.Exec( `insert into spindles (owner, instance) values (?, ?)`, spindle.Owner, @@ -151,7 +133,7 @@ _, err := e.Exec(query, args...) return err } -func AddSpindleMember(e Execer, member SpindleMember) error { +func AddSpindleMember(e Execer, member models.SpindleMember) error { _, err := e.Exec( `insert or ignore into spindle_members (did, rkey, instance, subject) values (?, ?, ?, ?)`, member.Did, @@ -181,8 +163,8 @@ _, err := e.Exec(query, args...) return err } -func GetSpindleMembers(e Execer, filters ...filter) ([]SpindleMember, error) { - var members []SpindleMember +func GetSpindleMembers(e Execer, filters ...filter) ([]models.SpindleMember, error) { + var members []models.SpindleMember var conditions []string var args []any @@ -213,7 +195,7 @@ } defer rows.Close() for rows.Next() { - var member SpindleMember + var member models.SpindleMember var createdAt string if err := rows.Scan( diff --git a/appview/ingester.go b/appview/ingester.go --- a/appview/ingester.go +++ b/appview/ingester.go @@ -387,7 +387,7 @@ if !ok { return fmt.Errorf("failed to index profile record, invalid db cast") } - err = db.AddSpindleMember(ddb, db.SpindleMember{ + err = db.AddSpindleMember(ddb, models.SpindleMember{ Did: syntax.DID(did), Rkey: e.Commit.RKey, Instance: record.Instance, @@ -480,7 +480,7 @@ if !ok { return fmt.Errorf("failed to index profile record, invalid db cast") } - err := db.AddSpindle(ddb, db.Spindle{ + err := db.AddSpindle(ddb, models.Spindle{ Owner: syntax.DID(did), Instance: instance, }) diff --git a/appview/models/spindle.go b/appview/models/spindle.go new file mode 100644 --- /dev/null +++ b/appview/models/spindle.go @@ -0,0 +1,25 @@ +package models + +import ( + "time" + + "github.com/bluesky-social/indigo/atproto/syntax" +) + +type Spindle struct { + Id int + Owner syntax.DID + Instance string + Verified *time.Time + Created time.Time + NeedsUpgrade bool +} + +type SpindleMember struct { + Id int + Did syntax.DID // owner of the record + Rkey string // rkey of the record + Instance string + Subject syntax.DID // the member being added + Created time.Time +} diff --git a/appview/pages/pages.go b/appview/pages/pages.go --- a/appview/pages/pages.go +++ b/appview/pages/pages.go @@ -325,7 +325,7 @@ } type UpgradeBannerParams struct { Registrations []models.Registration - Spindles []db.Spindle + Spindles []models.Spindle } func (p *Pages) UpgradeBanner(w io.Writer, params UpgradeBannerParams) error { @@ -363,7 +363,7 @@ } type SpindlesParams struct { LoggedInUser *oauth.User - Spindles []db.Spindle + Spindles []models.Spindle } func (p *Pages) Spindles(w io.Writer, params SpindlesParams) error { @@ -371,7 +371,7 @@ return p.execute("spindles/index", w, params) } type SpindleListingParams struct { - db.Spindle + models.Spindle } func (p *Pages) SpindleListing(w io.Writer, params SpindleListingParams) error { @@ -380,7 +380,7 @@ } type SpindleDashboardParams struct { LoggedInUser *oauth.User - Spindle db.Spindle + Spindle models.Spindle Members []string Repos map[string][]models.Repo } diff --git a/appview/spindles/spindles.go b/appview/spindles/spindles.go --- a/appview/spindles/spindles.go +++ b/appview/spindles/spindles.go @@ -164,7 +164,7 @@ tx.Rollback() s.Enforcer.E.LoadPolicy() }() - err = db.AddSpindle(tx, db.Spindle{ + err = db.AddSpindle(tx, models.Spindle{ Owner: syntax.DID(user.Did), Instance: instance, }) @@ -525,7 +525,7 @@ rkey := tid.TID() // add member to db - if err = db.AddSpindleMember(tx, db.SpindleMember{ + if err = db.AddSpindleMember(tx, models.SpindleMember{ Did: syntax.DID(user.Did), Rkey: rkey, Instance: instance,