···6 "strings"
7 "time"
89- "github.com/bluesky-social/indigo/atproto/syntax"
10)
1112-type Spindle struct {
13- Id int
14- Owner syntax.DID
15- Instance string
16- Verified *time.Time
17- Created time.Time
18- NeedsUpgrade bool
19-}
20-21-type SpindleMember struct {
22- Id int
23- Did syntax.DID // owner of the record
24- Rkey string // rkey of the record
25- Instance string
26- Subject syntax.DID // the member being added
27- Created time.Time
28-}
29-30-func GetSpindles(e Execer, filters ...filter) ([]Spindle, error) {
31- var spindles []Spindle
3233 var conditions []string
34 var args []any
···59 defer rows.Close()
6061 for rows.Next() {
62- var spindle Spindle
63 var createdAt string
64 var verified sql.NullString
65 var needsUpgrade int
···100}
101102// if there is an existing spindle with the same instance, this returns an error
103-func AddSpindle(e Execer, spindle Spindle) error {
104 _, err := e.Exec(
105 `insert into spindles (owner, instance) values (?, ?)`,
106 spindle.Owner,
···151 return err
152}
153154-func AddSpindleMember(e Execer, member SpindleMember) error {
155 _, err := e.Exec(
156 `insert or ignore into spindle_members (did, rkey, instance, subject) values (?, ?, ?, ?)`,
157 member.Did,
···181 return err
182}
183184-func GetSpindleMembers(e Execer, filters ...filter) ([]SpindleMember, error) {
185- var members []SpindleMember
186187 var conditions []string
188 var args []any
···213 defer rows.Close()
214215 for rows.Next() {
216- var member SpindleMember
217 var createdAt string
218219 if err := rows.Scan(
···6 "strings"
7 "time"
89+ "tangled.org/core/appview/models"
10)
1112+func GetSpindles(e Execer, filters ...filter) ([]models.Spindle, error) {
13+ var spindles []models.Spindle
0000000000000000001415 var conditions []string
16 var args []any
···41 defer rows.Close()
4243 for rows.Next() {
44+ var spindle models.Spindle
45 var createdAt string
46 var verified sql.NullString
47 var needsUpgrade int
···82}
8384// if there is an existing spindle with the same instance, this returns an error
85+func AddSpindle(e Execer, spindle models.Spindle) error {
86 _, err := e.Exec(
87 `insert into spindles (owner, instance) values (?, ?)`,
88 spindle.Owner,
···133 return err
134}
135136+func AddSpindleMember(e Execer, member models.SpindleMember) error {
137 _, err := e.Exec(
138 `insert or ignore into spindle_members (did, rkey, instance, subject) values (?, ?, ?, ?)`,
139 member.Did,
···163 return err
164}
165166+func GetSpindleMembers(e Execer, filters ...filter) ([]models.SpindleMember, error) {
167+ var members []models.SpindleMember
168169 var conditions []string
170 var args []any
···195 defer rows.Close()
196197 for rows.Next() {
198+ var member models.SpindleMember
199 var createdAt string
200201 if err := rows.Scan(
+2-2
appview/ingester.go
···387 return fmt.Errorf("failed to index profile record, invalid db cast")
388 }
389390- err = db.AddSpindleMember(ddb, db.SpindleMember{
391 Did: syntax.DID(did),
392 Rkey: e.Commit.RKey,
393 Instance: record.Instance,
···480 return fmt.Errorf("failed to index profile record, invalid db cast")
481 }
482483- err := db.AddSpindle(ddb, db.Spindle{
484 Owner: syntax.DID(did),
485 Instance: instance,
486 })
···387 return fmt.Errorf("failed to index profile record, invalid db cast")
388 }
389390+ err = db.AddSpindleMember(ddb, models.SpindleMember{
391 Did: syntax.DID(did),
392 Rkey: e.Commit.RKey,
393 Instance: record.Instance,
···480 return fmt.Errorf("failed to index profile record, invalid db cast")
481 }
482483+ err := db.AddSpindle(ddb, models.Spindle{
484 Owner: syntax.DID(did),
485 Instance: instance,
486 })
+25
appview/models/spindle.go
···0000000000000000000000000
···1+package models
2+3+import (
4+ "time"
5+6+ "github.com/bluesky-social/indigo/atproto/syntax"
7+)
8+9+type Spindle struct {
10+ Id int
11+ Owner syntax.DID
12+ Instance string
13+ Verified *time.Time
14+ Created time.Time
15+ NeedsUpgrade bool
16+}
17+18+type SpindleMember struct {
19+ Id int
20+ Did syntax.DID // owner of the record
21+ Rkey string // rkey of the record
22+ Instance string
23+ Subject syntax.DID // the member being added
24+ Created time.Time
25+}