···199 unique(starred_by_did, repo_at)
200 );
2010000000000202 create table if not exists emails (
203 id integer primary key autoincrement,
204 did text not null,
···199 unique(starred_by_did, repo_at)
200 );
201202+ create table if not exists reactions (
203+ id integer primary key autoincrement,
204+ reacted_by_did text not null,
205+ thread_at text not null,
206+ kind text not null,
207+ rkey text not null,
208+ created text not null default (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')),
209+ unique(reacted_by_did, thread_at, kind)
210+ );
211+212 create table if not exists emails (
213 id integer primary key autoincrement,
214 did text not null,
+2-2
appview/db/issues.go
···277}
278279func GetIssueWithComments(e Execer, repoAt syntax.ATURI, issueId int) (*Issue, []Comment, error) {
280- query := `select owner_did, issue_id, created, title, body, open from issues where repo_at = ? and issue_id = ?`
281 row := e.QueryRow(query, repoAt, issueId)
282283 var issue Issue
284 var createdAt string
285- err := row.Scan(&issue.OwnerDid, &issue.IssueId, &createdAt, &issue.Title, &issue.Body, &issue.Open)
286 if err != nil {
287 return nil, nil, err
288 }