Monorepo for Tangled
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

appview: allow pub key name updating from atproto ingestion

Signed-off-by: Will Andrews <did:plc:dadhhalkfcq3gucaq25hjqon>

authored by willdot.net and committed by

Tangled 3877a2b2 1fc39eb4

+23 -2
+9 -1
appview/db/pubkeys.go
··· 1 1 package db 2 2 3 3 import ( 4 + "time" 5 + 4 6 "tangled.org/core/appview/models" 5 - "time" 6 7 ) 7 8 8 9 func AddPublicKey(e Execer, did, name, key, rkey string) error { ··· 10 11 `insert or ignore into public_keys (did, name, key, rkey) 11 12 values (?, ?, ?, ?)`, 12 13 did, name, key, rkey) 14 + return err 15 + } 16 + 17 + func UpdatePublicKey(e Execer, did, name, key, rkey string) error { 18 + _, err := e.Exec( 19 + `update public_keys set name = ? where did = ? and key = ? and rkey = ?`, 20 + name, did, key, rkey) 13 21 return err 14 22 } 15 23
+14 -1
appview/ingester.go
··· 211 211 l = l.With("nsid", e.Commit.Collection) 212 212 213 213 switch e.Commit.Operation { 214 - case jmodels.CommitOperationCreate, jmodels.CommitOperationUpdate: 214 + case jmodels.CommitOperationCreate: 215 215 l.Debug("processing add of pubkey") 216 216 raw := json.RawMessage(e.Commit.Record) 217 217 record := tangled.PublicKey{} ··· 224 224 name := record.Name 225 225 key := record.Key 226 226 err = db.AddPublicKey(i.Db, did, name, key, e.Commit.RKey) 227 + case jmodels.CommitOperationUpdate: 228 + l.Debug("processing update of pubkey") 229 + raw := json.RawMessage(e.Commit.Record) 230 + record := tangled.PublicKey{} 231 + err = json.Unmarshal(raw, &record) 232 + if err != nil { 233 + l.Error("invalid record", "err", err) 234 + return err 235 + } 236 + 237 + name := record.Name 238 + key := record.Key 239 + err = db.UpdatePublicKey(i.Db, did, name, key, e.Commit.RKey) 227 240 case jmodels.CommitOperationDelete: 228 241 l.Debug("processing delete of pubkey") 229 242 err = db.DeletePublicKeyByRkey(i.Db, did, e.Commit.RKey)