This repository has no description
0

Configure Feed

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

appview: validate repo DID when ingesting

Signed-off-by: Seongmin Lee <git@boltless.me>

author
Seongmin Lee
date (Jul 29, 2026, 2:09 AM +0900) commit a0ce4d98 parent 8a19bbd8 change-id yvkxksqn
+14 -5
+14 -5
appview/ingester_repo.go
··· 48 48 l.Info("skipping repo create from non-DID-migrated knot") 49 49 return nil 50 50 } 51 - repoDid := *record.RepoDid 51 + repoDid, err := syntax.ParseDID(*record.RepoDid) 52 + if err != nil { 53 + l.Warn("skipping repo record with malformed repoDid", "value", *record.RepoDid, "err", err) 54 + return nil 55 + } 52 56 53 - proceed, err := i.verifyOwnership(ctx, l, repoDid, e.Did, record.Knot) 57 + proceed, err := i.verifyOwnership(ctx, l, repoDid.String(), e.Did, record.Knot) 54 58 if err != nil { 55 59 return err 56 60 } ··· 73 77 return fmt.Errorf("failed to check existing repo: %w", err) 74 78 } 75 79 76 - prev, err := db.GetRepoByDid(i.Db, repoDid) 80 + prev, err := db.GetRepoByDid(i.Db, repoDid.String()) 77 81 if err != nil && !errors.Is(err, sql.ErrNoRows) { 78 82 return fmt.Errorf("failed to check existing repoDid: %w", err) 79 83 } ··· 98 102 if err := db.RenameRepo(tx, e.Did, prev.Rkey, e.Commit.RKey, newName); err != nil { 99 103 return fmt.Errorf("failed to rename repo: %w", err) 100 104 } 101 - if err := db.RecordRepoRename(tx, e.Did, prev.Rkey, repoDid); err != nil { 105 + if err := db.RecordRepoRename(tx, e.Did, prev.Rkey, repoDid.String()); err != nil { 102 106 return fmt.Errorf("failed to record rename history: %w", err) 103 107 } 104 108 if err := db.DeleteRepoRename(tx, e.Did, strings.ToLower(newName)); err != nil { ··· 151 155 Source: derefString(record.Source), 152 156 Spindle: derefString(record.Spindle), 153 157 Labels: append([]string(nil), record.Labels...), 154 - RepoDid: repoDid, 158 + RepoDid: repoDid.String(), 155 159 } 156 160 157 161 tx, err := i.Db.Begin() ··· 199 203 200 204 if record.RepoDid == nil || *record.RepoDid == "" { 201 205 l.Info("skipping repo update from non-DID-migrated knot") 206 + return nil 207 + } 208 + _, err := syntax.ParseDID(*record.RepoDid) 209 + if err != nil { 210 + l.Warn("skipping repo record with malformed repoDid", "value", *record.RepoDid, "err", err) 202 211 return nil 203 212 } 204 213