forked from tangled.org/core
this repo has no description

appview: db/issues: add `ID` field to `Issue`

This will help indexing Issues faster when we introduce external search
indexer

Signed-off-by: Seongmin Lee <boltlessengineer@proton.me>

authored by boltless.me and committed by Tangled f743574a 87d9107d

Changed files
+17 -6
appview
+17 -6
appview/db/issues.go
··· 9 ) 10 11 type Issue struct { 12 RepoAt syntax.ATURI 13 OwnerDid string 14 IssueId int ··· 65 66 issue.IssueId = nextId 67 68 - _, err = tx.Exec(` 69 insert into issues (repo_at, owner_did, issue_id, title, body) 70 values (?, ?, ?, ?, ?) 71 `, issue.RepoAt, issue.OwnerDid, issue.IssueId, issue.Title, issue.Body) ··· 73 return err 74 } 75 76 if err := tx.Commit(); err != nil { 77 return err 78 } ··· 114 ` 115 with numbered_issue as ( 116 select 117 i.owner_did, 118 i.issue_id, 119 i.created, ··· 132 i.id, i.owner_did, i.issue_id, i.created, i.title, i.body, i.open 133 ) 134 select 135 owner_did, 136 issue_id, 137 created, ··· 153 var issue Issue 154 var createdAt string 155 var metadata IssueMetadata 156 - err := rows.Scan(&issue.OwnerDid, &issue.IssueId, &createdAt, &issue.Title, &issue.Body, &issue.Open, &metadata.CommentCount) 157 if err != nil { 158 return nil, err 159 } ··· 182 183 rows, err := e.Query( 184 `select 185 i.owner_did, 186 i.repo_at, 187 i.issue_id, ··· 213 var issueCreatedAt, repoCreatedAt string 214 var repo Repo 215 err := rows.Scan( 216 &issue.OwnerDid, 217 &issue.RepoAt, 218 &issue.IssueId, ··· 257 } 258 259 func GetIssue(e Execer, repoAt syntax.ATURI, issueId int) (*Issue, error) { 260 - query := `select owner_did, created, title, body, open from issues where repo_at = ? and issue_id = ?` 261 row := e.QueryRow(query, repoAt, issueId) 262 263 var issue Issue 264 var createdAt string 265 - err := row.Scan(&issue.OwnerDid, &createdAt, &issue.Title, &issue.Body, &issue.Open) 266 if err != nil { 267 return nil, err 268 } ··· 277 } 278 279 func GetIssueWithComments(e Execer, repoAt syntax.ATURI, issueId int) (*Issue, []Comment, error) { 280 - query := `select owner_did, issue_id, created, title, body, open, issue_at from issues where repo_at = ? and issue_id = ?` 281 row := e.QueryRow(query, repoAt, issueId) 282 283 var issue Issue 284 var createdAt string 285 - err := row.Scan(&issue.OwnerDid, &issue.IssueId, &createdAt, &issue.Title, &issue.Body, &issue.Open, &issue.IssueAt) 286 if err != nil { 287 return nil, nil, err 288 }
··· 9 ) 10 11 type Issue struct { 12 + ID int64 13 RepoAt syntax.ATURI 14 OwnerDid string 15 IssueId int ··· 66 67 issue.IssueId = nextId 68 69 + res, err := tx.Exec(` 70 insert into issues (repo_at, owner_did, issue_id, title, body) 71 values (?, ?, ?, ?, ?) 72 `, issue.RepoAt, issue.OwnerDid, issue.IssueId, issue.Title, issue.Body) ··· 74 return err 75 } 76 77 + lastID, err := res.LastInsertId() 78 + if err != nil { 79 + return err 80 + } 81 + issue.ID = lastID 82 + 83 if err := tx.Commit(); err != nil { 84 return err 85 } ··· 121 ` 122 with numbered_issue as ( 123 select 124 + i.id, 125 i.owner_did, 126 i.issue_id, 127 i.created, ··· 140 i.id, i.owner_did, i.issue_id, i.created, i.title, i.body, i.open 141 ) 142 select 143 + id, 144 owner_did, 145 issue_id, 146 created, ··· 162 var issue Issue 163 var createdAt string 164 var metadata IssueMetadata 165 + err := rows.Scan(&issue.ID, &issue.OwnerDid, &issue.IssueId, &createdAt, &issue.Title, &issue.Body, &issue.Open, &metadata.CommentCount) 166 if err != nil { 167 return nil, err 168 } ··· 191 192 rows, err := e.Query( 193 `select 194 + i.id, 195 i.owner_did, 196 i.repo_at, 197 i.issue_id, ··· 223 var issueCreatedAt, repoCreatedAt string 224 var repo Repo 225 err := rows.Scan( 226 + &issue.ID, 227 &issue.OwnerDid, 228 &issue.RepoAt, 229 &issue.IssueId, ··· 268 } 269 270 func GetIssue(e Execer, repoAt syntax.ATURI, issueId int) (*Issue, error) { 271 + query := `select id, owner_did, created, title, body, open from issues where repo_at = ? and issue_id = ?` 272 row := e.QueryRow(query, repoAt, issueId) 273 274 var issue Issue 275 var createdAt string 276 + err := row.Scan(&issue.ID, &issue.OwnerDid, &createdAt, &issue.Title, &issue.Body, &issue.Open) 277 if err != nil { 278 return nil, err 279 } ··· 288 } 289 290 func GetIssueWithComments(e Execer, repoAt syntax.ATURI, issueId int) (*Issue, []Comment, error) { 291 + query := `select id, owner_did, issue_id, created, title, body, open, issue_at from issues where repo_at = ? and issue_id = ?` 292 row := e.QueryRow(query, repoAt, issueId) 293 294 var issue Issue 295 var createdAt string 296 + err := row.Scan(&issue.ID, &issue.OwnerDid, &issue.IssueId, &createdAt, &issue.Title, &issue.Body, &issue.Open, &issue.IssueAt) 297 if err != nil { 298 return nil, nil, err 299 }