pierre-review 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +88 -0
  3. package/dist/api/plugins/error-handler.js +40 -0
  4. package/dist/api/routes/health.js +7 -0
  5. package/dist/api/routes/me.js +34 -0
  6. package/dist/api/routes/mergers.js +7 -0
  7. package/dist/api/routes/open-prs.js +21 -0
  8. package/dist/api/routes/prs.js +50 -0
  9. package/dist/api/routes/repos.js +188 -0
  10. package/dist/api/routes/threads.js +20 -0
  11. package/dist/api/routes/timeline.js +73 -0
  12. package/dist/api/routes/users.js +28 -0
  13. package/dist/app.js +48 -0
  14. package/dist/ascii.js +12 -0
  15. package/dist/cli.js +138 -0
  16. package/dist/config.js +41 -0
  17. package/dist/db/cleanup.js +22 -0
  18. package/dist/db/client.js +13 -0
  19. package/dist/db/migrate.js +15 -0
  20. package/dist/db/migrations/0000_purple_ben_grimm.sql +155 -0
  21. package/dist/db/migrations/0001_colorful_ozymandias.sql +31 -0
  22. package/dist/db/migrations/0002_famous_sersi.sql +9 -0
  23. package/dist/db/migrations/0003_clever_shinobi_shaw.sql +3 -0
  24. package/dist/db/migrations/0004_pale_scalphunter.sql +1 -0
  25. package/dist/db/migrations/0005_daffy_guardian.sql +2 -0
  26. package/dist/db/migrations/meta/0000_snapshot.json +1116 -0
  27. package/dist/db/migrations/meta/0001_snapshot.json +1321 -0
  28. package/dist/db/migrations/meta/0002_snapshot.json +1375 -0
  29. package/dist/db/migrations/meta/0003_snapshot.json +1396 -0
  30. package/dist/db/migrations/meta/0004_snapshot.json +1416 -0
  31. package/dist/db/migrations/meta/0005_snapshot.json +1430 -0
  32. package/dist/db/migrations/meta/_journal.json +48 -0
  33. package/dist/db/queries.js +837 -0
  34. package/dist/db/run-migrations.js +10 -0
  35. package/dist/db/schema.js +248 -0
  36. package/dist/db/triage.js +168 -0
  37. package/dist/github/auth.js +19 -0
  38. package/dist/github/client.js +30 -0
  39. package/dist/github/local-user.js +92 -0
  40. package/dist/github/queries.js +249 -0
  41. package/dist/index.js +49 -0
  42. package/dist/sync/bot-detection.js +24 -0
  43. package/dist/sync/commit-files.js +50 -0
  44. package/dist/sync/derive-thread-state.js +38 -0
  45. package/dist/sync/scheduler.js +28 -0
  46. package/dist/sync/sync-manager.js +150 -0
  47. package/dist/sync/sync-repo.js +122 -0
  48. package/dist/sync/upsert.js +528 -0
  49. package/package.json +46 -0
  50. package/public/assets/index-6p3C9xk7.css +10 -0
  51. package/public/assets/index-C-CZcLLq.js +1360 -0
  52. package/public/index.html +25 -0
@@ -0,0 +1,1375 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "55caeaf3-5fa3-4b8a-84fb-d47ea2f05d51",
5
+ "prevId": "dd7da49b-8fc6-46a8-8525-f1bd596bf438",
6
+ "tables": {
7
+ "commit_files": {
8
+ "name": "commit_files",
9
+ "columns": {
10
+ "sha": {
11
+ "name": "sha",
12
+ "type": "text",
13
+ "primaryKey": true,
14
+ "notNull": true,
15
+ "autoincrement": false
16
+ },
17
+ "paths": {
18
+ "name": "paths",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true,
22
+ "autoincrement": false
23
+ },
24
+ "fetched_at": {
25
+ "name": "fetched_at",
26
+ "type": "integer",
27
+ "primaryKey": false,
28
+ "notNull": true,
29
+ "autoincrement": false,
30
+ "default": "(unixepoch())"
31
+ }
32
+ },
33
+ "indexes": {},
34
+ "foreignKeys": {},
35
+ "compositePrimaryKeys": {},
36
+ "uniqueConstraints": {},
37
+ "checkConstraints": {}
38
+ },
39
+ "commits": {
40
+ "name": "commits",
41
+ "columns": {
42
+ "id": {
43
+ "name": "id",
44
+ "type": "integer",
45
+ "primaryKey": true,
46
+ "notNull": true,
47
+ "autoincrement": true
48
+ },
49
+ "sha": {
50
+ "name": "sha",
51
+ "type": "text",
52
+ "primaryKey": false,
53
+ "notNull": true,
54
+ "autoincrement": false
55
+ },
56
+ "pr_id": {
57
+ "name": "pr_id",
58
+ "type": "integer",
59
+ "primaryKey": false,
60
+ "notNull": true,
61
+ "autoincrement": false
62
+ },
63
+ "author_id": {
64
+ "name": "author_id",
65
+ "type": "integer",
66
+ "primaryKey": false,
67
+ "notNull": false,
68
+ "autoincrement": false
69
+ },
70
+ "committer_id": {
71
+ "name": "committer_id",
72
+ "type": "integer",
73
+ "primaryKey": false,
74
+ "notNull": false,
75
+ "autoincrement": false
76
+ },
77
+ "message": {
78
+ "name": "message",
79
+ "type": "text",
80
+ "primaryKey": false,
81
+ "notNull": false,
82
+ "autoincrement": false
83
+ },
84
+ "committed_at": {
85
+ "name": "committed_at",
86
+ "type": "integer",
87
+ "primaryKey": false,
88
+ "notNull": true,
89
+ "autoincrement": false
90
+ }
91
+ },
92
+ "indexes": {
93
+ "commit_pr_idx": {
94
+ "name": "commit_pr_idx",
95
+ "columns": [
96
+ "pr_id"
97
+ ],
98
+ "isUnique": false
99
+ },
100
+ "commit_sha_pr_ux": {
101
+ "name": "commit_sha_pr_ux",
102
+ "columns": [
103
+ "sha",
104
+ "pr_id"
105
+ ],
106
+ "isUnique": true
107
+ }
108
+ },
109
+ "foreignKeys": {
110
+ "commits_pr_id_pull_requests_id_fk": {
111
+ "name": "commits_pr_id_pull_requests_id_fk",
112
+ "tableFrom": "commits",
113
+ "tableTo": "pull_requests",
114
+ "columnsFrom": [
115
+ "pr_id"
116
+ ],
117
+ "columnsTo": [
118
+ "id"
119
+ ],
120
+ "onDelete": "no action",
121
+ "onUpdate": "no action"
122
+ },
123
+ "commits_author_id_users_id_fk": {
124
+ "name": "commits_author_id_users_id_fk",
125
+ "tableFrom": "commits",
126
+ "tableTo": "users",
127
+ "columnsFrom": [
128
+ "author_id"
129
+ ],
130
+ "columnsTo": [
131
+ "id"
132
+ ],
133
+ "onDelete": "no action",
134
+ "onUpdate": "no action"
135
+ },
136
+ "commits_committer_id_users_id_fk": {
137
+ "name": "commits_committer_id_users_id_fk",
138
+ "tableFrom": "commits",
139
+ "tableTo": "users",
140
+ "columnsFrom": [
141
+ "committer_id"
142
+ ],
143
+ "columnsTo": [
144
+ "id"
145
+ ],
146
+ "onDelete": "no action",
147
+ "onUpdate": "no action"
148
+ }
149
+ },
150
+ "compositePrimaryKeys": {},
151
+ "uniqueConstraints": {},
152
+ "checkConstraints": {}
153
+ },
154
+ "events": {
155
+ "name": "events",
156
+ "columns": {
157
+ "id": {
158
+ "name": "id",
159
+ "type": "integer",
160
+ "primaryKey": true,
161
+ "notNull": true,
162
+ "autoincrement": true
163
+ },
164
+ "repo_id": {
165
+ "name": "repo_id",
166
+ "type": "integer",
167
+ "primaryKey": false,
168
+ "notNull": true,
169
+ "autoincrement": false
170
+ },
171
+ "actor_id": {
172
+ "name": "actor_id",
173
+ "type": "integer",
174
+ "primaryKey": false,
175
+ "notNull": false,
176
+ "autoincrement": false
177
+ },
178
+ "pr_id": {
179
+ "name": "pr_id",
180
+ "type": "integer",
181
+ "primaryKey": false,
182
+ "notNull": false,
183
+ "autoincrement": false
184
+ },
185
+ "type": {
186
+ "name": "type",
187
+ "type": "text",
188
+ "primaryKey": false,
189
+ "notNull": true,
190
+ "autoincrement": false
191
+ },
192
+ "occurred_at": {
193
+ "name": "occurred_at",
194
+ "type": "integer",
195
+ "primaryKey": false,
196
+ "notNull": true,
197
+ "autoincrement": false
198
+ },
199
+ "ref_table": {
200
+ "name": "ref_table",
201
+ "type": "text",
202
+ "primaryKey": false,
203
+ "notNull": false,
204
+ "autoincrement": false
205
+ },
206
+ "ref_id": {
207
+ "name": "ref_id",
208
+ "type": "integer",
209
+ "primaryKey": false,
210
+ "notNull": false,
211
+ "autoincrement": false
212
+ },
213
+ "dedupe_key": {
214
+ "name": "dedupe_key",
215
+ "type": "text",
216
+ "primaryKey": false,
217
+ "notNull": true,
218
+ "autoincrement": false
219
+ }
220
+ },
221
+ "indexes": {
222
+ "events_dedupe_key_unique": {
223
+ "name": "events_dedupe_key_unique",
224
+ "columns": [
225
+ "dedupe_key"
226
+ ],
227
+ "isUnique": true
228
+ },
229
+ "events_time_idx": {
230
+ "name": "events_time_idx",
231
+ "columns": [
232
+ "occurred_at"
233
+ ],
234
+ "isUnique": false
235
+ },
236
+ "events_repo_time_idx": {
237
+ "name": "events_repo_time_idx",
238
+ "columns": [
239
+ "repo_id",
240
+ "occurred_at"
241
+ ],
242
+ "isUnique": false
243
+ },
244
+ "events_actor_idx": {
245
+ "name": "events_actor_idx",
246
+ "columns": [
247
+ "actor_id"
248
+ ],
249
+ "isUnique": false
250
+ }
251
+ },
252
+ "foreignKeys": {
253
+ "events_repo_id_repos_id_fk": {
254
+ "name": "events_repo_id_repos_id_fk",
255
+ "tableFrom": "events",
256
+ "tableTo": "repos",
257
+ "columnsFrom": [
258
+ "repo_id"
259
+ ],
260
+ "columnsTo": [
261
+ "id"
262
+ ],
263
+ "onDelete": "no action",
264
+ "onUpdate": "no action"
265
+ },
266
+ "events_actor_id_users_id_fk": {
267
+ "name": "events_actor_id_users_id_fk",
268
+ "tableFrom": "events",
269
+ "tableTo": "users",
270
+ "columnsFrom": [
271
+ "actor_id"
272
+ ],
273
+ "columnsTo": [
274
+ "id"
275
+ ],
276
+ "onDelete": "no action",
277
+ "onUpdate": "no action"
278
+ },
279
+ "events_pr_id_pull_requests_id_fk": {
280
+ "name": "events_pr_id_pull_requests_id_fk",
281
+ "tableFrom": "events",
282
+ "tableTo": "pull_requests",
283
+ "columnsFrom": [
284
+ "pr_id"
285
+ ],
286
+ "columnsTo": [
287
+ "id"
288
+ ],
289
+ "onDelete": "no action",
290
+ "onUpdate": "no action"
291
+ }
292
+ },
293
+ "compositePrimaryKeys": {},
294
+ "uniqueConstraints": {},
295
+ "checkConstraints": {}
296
+ },
297
+ "local_user": {
298
+ "name": "local_user",
299
+ "columns": {
300
+ "id": {
301
+ "name": "id",
302
+ "type": "integer",
303
+ "primaryKey": true,
304
+ "notNull": true,
305
+ "autoincrement": false
306
+ },
307
+ "github_login": {
308
+ "name": "github_login",
309
+ "type": "text",
310
+ "primaryKey": false,
311
+ "notNull": true,
312
+ "autoincrement": false
313
+ },
314
+ "github_id": {
315
+ "name": "github_id",
316
+ "type": "text",
317
+ "primaryKey": false,
318
+ "notNull": true,
319
+ "autoincrement": false
320
+ },
321
+ "avatar_url": {
322
+ "name": "avatar_url",
323
+ "type": "text",
324
+ "primaryKey": false,
325
+ "notNull": false,
326
+ "autoincrement": false
327
+ },
328
+ "cached_at": {
329
+ "name": "cached_at",
330
+ "type": "integer",
331
+ "primaryKey": false,
332
+ "notNull": true,
333
+ "autoincrement": false
334
+ }
335
+ },
336
+ "indexes": {},
337
+ "foreignKeys": {},
338
+ "compositePrimaryKeys": {},
339
+ "uniqueConstraints": {},
340
+ "checkConstraints": {}
341
+ },
342
+ "my_turn_dismissals": {
343
+ "name": "my_turn_dismissals",
344
+ "columns": {
345
+ "id": {
346
+ "name": "id",
347
+ "type": "integer",
348
+ "primaryKey": true,
349
+ "notNull": true,
350
+ "autoincrement": true
351
+ },
352
+ "kind": {
353
+ "name": "kind",
354
+ "type": "text",
355
+ "primaryKey": false,
356
+ "notNull": true,
357
+ "autoincrement": false
358
+ },
359
+ "ref_id": {
360
+ "name": "ref_id",
361
+ "type": "integer",
362
+ "primaryKey": false,
363
+ "notNull": true,
364
+ "autoincrement": false
365
+ },
366
+ "dismissed_at": {
367
+ "name": "dismissed_at",
368
+ "type": "integer",
369
+ "primaryKey": false,
370
+ "notNull": true,
371
+ "autoincrement": false
372
+ }
373
+ },
374
+ "indexes": {
375
+ "mtd_kind_ref_ux": {
376
+ "name": "mtd_kind_ref_ux",
377
+ "columns": [
378
+ "kind",
379
+ "ref_id"
380
+ ],
381
+ "isUnique": true
382
+ }
383
+ },
384
+ "foreignKeys": {},
385
+ "compositePrimaryKeys": {},
386
+ "uniqueConstraints": {},
387
+ "checkConstraints": {}
388
+ },
389
+ "pr_comments": {
390
+ "name": "pr_comments",
391
+ "columns": {
392
+ "id": {
393
+ "name": "id",
394
+ "type": "integer",
395
+ "primaryKey": true,
396
+ "notNull": true,
397
+ "autoincrement": true
398
+ },
399
+ "github_node_id": {
400
+ "name": "github_node_id",
401
+ "type": "text",
402
+ "primaryKey": false,
403
+ "notNull": true,
404
+ "autoincrement": false
405
+ },
406
+ "pr_id": {
407
+ "name": "pr_id",
408
+ "type": "integer",
409
+ "primaryKey": false,
410
+ "notNull": true,
411
+ "autoincrement": false
412
+ },
413
+ "author_id": {
414
+ "name": "author_id",
415
+ "type": "integer",
416
+ "primaryKey": false,
417
+ "notNull": false,
418
+ "autoincrement": false
419
+ },
420
+ "body": {
421
+ "name": "body",
422
+ "type": "text",
423
+ "primaryKey": false,
424
+ "notNull": true,
425
+ "autoincrement": false
426
+ },
427
+ "created_at": {
428
+ "name": "created_at",
429
+ "type": "integer",
430
+ "primaryKey": false,
431
+ "notNull": true,
432
+ "autoincrement": false
433
+ }
434
+ },
435
+ "indexes": {
436
+ "pr_comments_github_node_id_unique": {
437
+ "name": "pr_comments_github_node_id_unique",
438
+ "columns": [
439
+ "github_node_id"
440
+ ],
441
+ "isUnique": true
442
+ },
443
+ "prc_pr_idx": {
444
+ "name": "prc_pr_idx",
445
+ "columns": [
446
+ "pr_id"
447
+ ],
448
+ "isUnique": false
449
+ }
450
+ },
451
+ "foreignKeys": {
452
+ "pr_comments_pr_id_pull_requests_id_fk": {
453
+ "name": "pr_comments_pr_id_pull_requests_id_fk",
454
+ "tableFrom": "pr_comments",
455
+ "tableTo": "pull_requests",
456
+ "columnsFrom": [
457
+ "pr_id"
458
+ ],
459
+ "columnsTo": [
460
+ "id"
461
+ ],
462
+ "onDelete": "no action",
463
+ "onUpdate": "no action"
464
+ },
465
+ "pr_comments_author_id_users_id_fk": {
466
+ "name": "pr_comments_author_id_users_id_fk",
467
+ "tableFrom": "pr_comments",
468
+ "tableTo": "users",
469
+ "columnsFrom": [
470
+ "author_id"
471
+ ],
472
+ "columnsTo": [
473
+ "id"
474
+ ],
475
+ "onDelete": "no action",
476
+ "onUpdate": "no action"
477
+ }
478
+ },
479
+ "compositePrimaryKeys": {},
480
+ "uniqueConstraints": {},
481
+ "checkConstraints": {}
482
+ },
483
+ "pr_views": {
484
+ "name": "pr_views",
485
+ "columns": {
486
+ "pr_id": {
487
+ "name": "pr_id",
488
+ "type": "integer",
489
+ "primaryKey": true,
490
+ "notNull": true,
491
+ "autoincrement": false
492
+ },
493
+ "last_viewed_sha": {
494
+ "name": "last_viewed_sha",
495
+ "type": "text",
496
+ "primaryKey": false,
497
+ "notNull": false,
498
+ "autoincrement": false
499
+ },
500
+ "last_viewed_at": {
501
+ "name": "last_viewed_at",
502
+ "type": "integer",
503
+ "primaryKey": false,
504
+ "notNull": true,
505
+ "autoincrement": false
506
+ }
507
+ },
508
+ "indexes": {},
509
+ "foreignKeys": {
510
+ "pr_views_pr_id_pull_requests_id_fk": {
511
+ "name": "pr_views_pr_id_pull_requests_id_fk",
512
+ "tableFrom": "pr_views",
513
+ "tableTo": "pull_requests",
514
+ "columnsFrom": [
515
+ "pr_id"
516
+ ],
517
+ "columnsTo": [
518
+ "id"
519
+ ],
520
+ "onDelete": "no action",
521
+ "onUpdate": "no action"
522
+ }
523
+ },
524
+ "compositePrimaryKeys": {},
525
+ "uniqueConstraints": {},
526
+ "checkConstraints": {}
527
+ },
528
+ "pull_requests": {
529
+ "name": "pull_requests",
530
+ "columns": {
531
+ "id": {
532
+ "name": "id",
533
+ "type": "integer",
534
+ "primaryKey": true,
535
+ "notNull": true,
536
+ "autoincrement": true
537
+ },
538
+ "github_node_id": {
539
+ "name": "github_node_id",
540
+ "type": "text",
541
+ "primaryKey": false,
542
+ "notNull": true,
543
+ "autoincrement": false
544
+ },
545
+ "repo_id": {
546
+ "name": "repo_id",
547
+ "type": "integer",
548
+ "primaryKey": false,
549
+ "notNull": true,
550
+ "autoincrement": false
551
+ },
552
+ "number": {
553
+ "name": "number",
554
+ "type": "integer",
555
+ "primaryKey": false,
556
+ "notNull": true,
557
+ "autoincrement": false
558
+ },
559
+ "title": {
560
+ "name": "title",
561
+ "type": "text",
562
+ "primaryKey": false,
563
+ "notNull": true,
564
+ "autoincrement": false
565
+ },
566
+ "body": {
567
+ "name": "body",
568
+ "type": "text",
569
+ "primaryKey": false,
570
+ "notNull": false,
571
+ "autoincrement": false
572
+ },
573
+ "author_id": {
574
+ "name": "author_id",
575
+ "type": "integer",
576
+ "primaryKey": false,
577
+ "notNull": false,
578
+ "autoincrement": false
579
+ },
580
+ "state": {
581
+ "name": "state",
582
+ "type": "text",
583
+ "primaryKey": false,
584
+ "notNull": true,
585
+ "autoincrement": false
586
+ },
587
+ "is_draft": {
588
+ "name": "is_draft",
589
+ "type": "integer",
590
+ "primaryKey": false,
591
+ "notNull": true,
592
+ "autoincrement": false,
593
+ "default": false
594
+ },
595
+ "opened_at": {
596
+ "name": "opened_at",
597
+ "type": "integer",
598
+ "primaryKey": false,
599
+ "notNull": true,
600
+ "autoincrement": false
601
+ },
602
+ "first_review_at": {
603
+ "name": "first_review_at",
604
+ "type": "integer",
605
+ "primaryKey": false,
606
+ "notNull": false,
607
+ "autoincrement": false
608
+ },
609
+ "last_commit_at": {
610
+ "name": "last_commit_at",
611
+ "type": "integer",
612
+ "primaryKey": false,
613
+ "notNull": false,
614
+ "autoincrement": false
615
+ },
616
+ "merged_at": {
617
+ "name": "merged_at",
618
+ "type": "integer",
619
+ "primaryKey": false,
620
+ "notNull": false,
621
+ "autoincrement": false
622
+ },
623
+ "closed_at": {
624
+ "name": "closed_at",
625
+ "type": "integer",
626
+ "primaryKey": false,
627
+ "notNull": false,
628
+ "autoincrement": false
629
+ },
630
+ "updated_at": {
631
+ "name": "updated_at",
632
+ "type": "integer",
633
+ "primaryKey": false,
634
+ "notNull": true,
635
+ "autoincrement": false
636
+ },
637
+ "head_sha": {
638
+ "name": "head_sha",
639
+ "type": "text",
640
+ "primaryKey": false,
641
+ "notNull": false,
642
+ "autoincrement": false
643
+ },
644
+ "ci_status": {
645
+ "name": "ci_status",
646
+ "type": "text",
647
+ "primaryKey": false,
648
+ "notNull": false,
649
+ "autoincrement": false
650
+ },
651
+ "mergeable": {
652
+ "name": "mergeable",
653
+ "type": "text",
654
+ "primaryKey": false,
655
+ "notNull": false,
656
+ "autoincrement": false
657
+ },
658
+ "merge_state_status": {
659
+ "name": "merge_state_status",
660
+ "type": "text",
661
+ "primaryKey": false,
662
+ "notNull": false,
663
+ "autoincrement": false
664
+ },
665
+ "labels": {
666
+ "name": "labels",
667
+ "type": "text",
668
+ "primaryKey": false,
669
+ "notNull": false,
670
+ "autoincrement": false
671
+ },
672
+ "check_runs": {
673
+ "name": "check_runs",
674
+ "type": "text",
675
+ "primaryKey": false,
676
+ "notNull": false,
677
+ "autoincrement": false
678
+ }
679
+ },
680
+ "indexes": {
681
+ "pull_requests_github_node_id_unique": {
682
+ "name": "pull_requests_github_node_id_unique",
683
+ "columns": [
684
+ "github_node_id"
685
+ ],
686
+ "isUnique": true
687
+ },
688
+ "pr_repo_idx": {
689
+ "name": "pr_repo_idx",
690
+ "columns": [
691
+ "repo_id"
692
+ ],
693
+ "isUnique": false
694
+ },
695
+ "pr_opened_idx": {
696
+ "name": "pr_opened_idx",
697
+ "columns": [
698
+ "opened_at"
699
+ ],
700
+ "isUnique": false
701
+ }
702
+ },
703
+ "foreignKeys": {
704
+ "pull_requests_repo_id_repos_id_fk": {
705
+ "name": "pull_requests_repo_id_repos_id_fk",
706
+ "tableFrom": "pull_requests",
707
+ "tableTo": "repos",
708
+ "columnsFrom": [
709
+ "repo_id"
710
+ ],
711
+ "columnsTo": [
712
+ "id"
713
+ ],
714
+ "onDelete": "no action",
715
+ "onUpdate": "no action"
716
+ },
717
+ "pull_requests_author_id_users_id_fk": {
718
+ "name": "pull_requests_author_id_users_id_fk",
719
+ "tableFrom": "pull_requests",
720
+ "tableTo": "users",
721
+ "columnsFrom": [
722
+ "author_id"
723
+ ],
724
+ "columnsTo": [
725
+ "id"
726
+ ],
727
+ "onDelete": "no action",
728
+ "onUpdate": "no action"
729
+ }
730
+ },
731
+ "compositePrimaryKeys": {},
732
+ "uniqueConstraints": {},
733
+ "checkConstraints": {}
734
+ },
735
+ "repos": {
736
+ "name": "repos",
737
+ "columns": {
738
+ "id": {
739
+ "name": "id",
740
+ "type": "integer",
741
+ "primaryKey": true,
742
+ "notNull": true,
743
+ "autoincrement": true
744
+ },
745
+ "owner": {
746
+ "name": "owner",
747
+ "type": "text",
748
+ "primaryKey": false,
749
+ "notNull": true,
750
+ "autoincrement": false
751
+ },
752
+ "name": {
753
+ "name": "name",
754
+ "type": "text",
755
+ "primaryKey": false,
756
+ "notNull": true,
757
+ "autoincrement": false
758
+ },
759
+ "github_node_id": {
760
+ "name": "github_node_id",
761
+ "type": "text",
762
+ "primaryKey": false,
763
+ "notNull": true,
764
+ "autoincrement": false
765
+ },
766
+ "backfill_until": {
767
+ "name": "backfill_until",
768
+ "type": "integer",
769
+ "primaryKey": false,
770
+ "notNull": false,
771
+ "autoincrement": false
772
+ },
773
+ "created_at": {
774
+ "name": "created_at",
775
+ "type": "integer",
776
+ "primaryKey": false,
777
+ "notNull": true,
778
+ "autoincrement": false,
779
+ "default": "(unixepoch())"
780
+ }
781
+ },
782
+ "indexes": {
783
+ "repos_github_node_id_unique": {
784
+ "name": "repos_github_node_id_unique",
785
+ "columns": [
786
+ "github_node_id"
787
+ ],
788
+ "isUnique": true
789
+ },
790
+ "repos_owner_name": {
791
+ "name": "repos_owner_name",
792
+ "columns": [
793
+ "owner",
794
+ "name"
795
+ ],
796
+ "isUnique": true
797
+ }
798
+ },
799
+ "foreignKeys": {},
800
+ "compositePrimaryKeys": {},
801
+ "uniqueConstraints": {},
802
+ "checkConstraints": {}
803
+ },
804
+ "review_comments": {
805
+ "name": "review_comments",
806
+ "columns": {
807
+ "id": {
808
+ "name": "id",
809
+ "type": "integer",
810
+ "primaryKey": true,
811
+ "notNull": true,
812
+ "autoincrement": true
813
+ },
814
+ "github_node_id": {
815
+ "name": "github_node_id",
816
+ "type": "text",
817
+ "primaryKey": false,
818
+ "notNull": true,
819
+ "autoincrement": false
820
+ },
821
+ "thread_id": {
822
+ "name": "thread_id",
823
+ "type": "integer",
824
+ "primaryKey": false,
825
+ "notNull": true,
826
+ "autoincrement": false
827
+ },
828
+ "pr_id": {
829
+ "name": "pr_id",
830
+ "type": "integer",
831
+ "primaryKey": false,
832
+ "notNull": true,
833
+ "autoincrement": false
834
+ },
835
+ "author_id": {
836
+ "name": "author_id",
837
+ "type": "integer",
838
+ "primaryKey": false,
839
+ "notNull": false,
840
+ "autoincrement": false
841
+ },
842
+ "body": {
843
+ "name": "body",
844
+ "type": "text",
845
+ "primaryKey": false,
846
+ "notNull": true,
847
+ "autoincrement": false
848
+ },
849
+ "diff_hunk": {
850
+ "name": "diff_hunk",
851
+ "type": "text",
852
+ "primaryKey": false,
853
+ "notNull": false,
854
+ "autoincrement": false
855
+ },
856
+ "created_at": {
857
+ "name": "created_at",
858
+ "type": "integer",
859
+ "primaryKey": false,
860
+ "notNull": true,
861
+ "autoincrement": false
862
+ }
863
+ },
864
+ "indexes": {
865
+ "review_comments_github_node_id_unique": {
866
+ "name": "review_comments_github_node_id_unique",
867
+ "columns": [
868
+ "github_node_id"
869
+ ],
870
+ "isUnique": true
871
+ },
872
+ "rc_thread_idx": {
873
+ "name": "rc_thread_idx",
874
+ "columns": [
875
+ "thread_id"
876
+ ],
877
+ "isUnique": false
878
+ }
879
+ },
880
+ "foreignKeys": {
881
+ "review_comments_thread_id_review_threads_id_fk": {
882
+ "name": "review_comments_thread_id_review_threads_id_fk",
883
+ "tableFrom": "review_comments",
884
+ "tableTo": "review_threads",
885
+ "columnsFrom": [
886
+ "thread_id"
887
+ ],
888
+ "columnsTo": [
889
+ "id"
890
+ ],
891
+ "onDelete": "no action",
892
+ "onUpdate": "no action"
893
+ },
894
+ "review_comments_pr_id_pull_requests_id_fk": {
895
+ "name": "review_comments_pr_id_pull_requests_id_fk",
896
+ "tableFrom": "review_comments",
897
+ "tableTo": "pull_requests",
898
+ "columnsFrom": [
899
+ "pr_id"
900
+ ],
901
+ "columnsTo": [
902
+ "id"
903
+ ],
904
+ "onDelete": "no action",
905
+ "onUpdate": "no action"
906
+ },
907
+ "review_comments_author_id_users_id_fk": {
908
+ "name": "review_comments_author_id_users_id_fk",
909
+ "tableFrom": "review_comments",
910
+ "tableTo": "users",
911
+ "columnsFrom": [
912
+ "author_id"
913
+ ],
914
+ "columnsTo": [
915
+ "id"
916
+ ],
917
+ "onDelete": "no action",
918
+ "onUpdate": "no action"
919
+ }
920
+ },
921
+ "compositePrimaryKeys": {},
922
+ "uniqueConstraints": {},
923
+ "checkConstraints": {}
924
+ },
925
+ "review_requests": {
926
+ "name": "review_requests",
927
+ "columns": {
928
+ "id": {
929
+ "name": "id",
930
+ "type": "integer",
931
+ "primaryKey": true,
932
+ "notNull": true,
933
+ "autoincrement": true
934
+ },
935
+ "pr_id": {
936
+ "name": "pr_id",
937
+ "type": "integer",
938
+ "primaryKey": false,
939
+ "notNull": true,
940
+ "autoincrement": false
941
+ },
942
+ "user_id": {
943
+ "name": "user_id",
944
+ "type": "integer",
945
+ "primaryKey": false,
946
+ "notNull": false,
947
+ "autoincrement": false
948
+ },
949
+ "team_name": {
950
+ "name": "team_name",
951
+ "type": "text",
952
+ "primaryKey": false,
953
+ "notNull": false,
954
+ "autoincrement": false
955
+ }
956
+ },
957
+ "indexes": {
958
+ "rr_pr_idx": {
959
+ "name": "rr_pr_idx",
960
+ "columns": [
961
+ "pr_id"
962
+ ],
963
+ "isUnique": false
964
+ },
965
+ "rr_user_idx": {
966
+ "name": "rr_user_idx",
967
+ "columns": [
968
+ "user_id"
969
+ ],
970
+ "isUnique": false
971
+ }
972
+ },
973
+ "foreignKeys": {
974
+ "review_requests_pr_id_pull_requests_id_fk": {
975
+ "name": "review_requests_pr_id_pull_requests_id_fk",
976
+ "tableFrom": "review_requests",
977
+ "tableTo": "pull_requests",
978
+ "columnsFrom": [
979
+ "pr_id"
980
+ ],
981
+ "columnsTo": [
982
+ "id"
983
+ ],
984
+ "onDelete": "no action",
985
+ "onUpdate": "no action"
986
+ },
987
+ "review_requests_user_id_users_id_fk": {
988
+ "name": "review_requests_user_id_users_id_fk",
989
+ "tableFrom": "review_requests",
990
+ "tableTo": "users",
991
+ "columnsFrom": [
992
+ "user_id"
993
+ ],
994
+ "columnsTo": [
995
+ "id"
996
+ ],
997
+ "onDelete": "no action",
998
+ "onUpdate": "no action"
999
+ }
1000
+ },
1001
+ "compositePrimaryKeys": {},
1002
+ "uniqueConstraints": {},
1003
+ "checkConstraints": {}
1004
+ },
1005
+ "review_threads": {
1006
+ "name": "review_threads",
1007
+ "columns": {
1008
+ "id": {
1009
+ "name": "id",
1010
+ "type": "integer",
1011
+ "primaryKey": true,
1012
+ "notNull": true,
1013
+ "autoincrement": true
1014
+ },
1015
+ "github_node_id": {
1016
+ "name": "github_node_id",
1017
+ "type": "text",
1018
+ "primaryKey": false,
1019
+ "notNull": true,
1020
+ "autoincrement": false
1021
+ },
1022
+ "pr_id": {
1023
+ "name": "pr_id",
1024
+ "type": "integer",
1025
+ "primaryKey": false,
1026
+ "notNull": true,
1027
+ "autoincrement": false
1028
+ },
1029
+ "path": {
1030
+ "name": "path",
1031
+ "type": "text",
1032
+ "primaryKey": false,
1033
+ "notNull": true,
1034
+ "autoincrement": false
1035
+ },
1036
+ "line": {
1037
+ "name": "line",
1038
+ "type": "integer",
1039
+ "primaryKey": false,
1040
+ "notNull": false,
1041
+ "autoincrement": false
1042
+ },
1043
+ "is_resolved": {
1044
+ "name": "is_resolved",
1045
+ "type": "integer",
1046
+ "primaryKey": false,
1047
+ "notNull": true,
1048
+ "autoincrement": false
1049
+ },
1050
+ "is_outdated": {
1051
+ "name": "is_outdated",
1052
+ "type": "integer",
1053
+ "primaryKey": false,
1054
+ "notNull": true,
1055
+ "autoincrement": false,
1056
+ "default": false
1057
+ },
1058
+ "derived_state": {
1059
+ "name": "derived_state",
1060
+ "type": "text",
1061
+ "primaryKey": false,
1062
+ "notNull": true,
1063
+ "autoincrement": false
1064
+ },
1065
+ "original_commenter_id": {
1066
+ "name": "original_commenter_id",
1067
+ "type": "integer",
1068
+ "primaryKey": false,
1069
+ "notNull": false,
1070
+ "autoincrement": false
1071
+ },
1072
+ "created_at": {
1073
+ "name": "created_at",
1074
+ "type": "integer",
1075
+ "primaryKey": false,
1076
+ "notNull": true,
1077
+ "autoincrement": false
1078
+ }
1079
+ },
1080
+ "indexes": {
1081
+ "review_threads_github_node_id_unique": {
1082
+ "name": "review_threads_github_node_id_unique",
1083
+ "columns": [
1084
+ "github_node_id"
1085
+ ],
1086
+ "isUnique": true
1087
+ },
1088
+ "thread_pr_idx": {
1089
+ "name": "thread_pr_idx",
1090
+ "columns": [
1091
+ "pr_id"
1092
+ ],
1093
+ "isUnique": false
1094
+ }
1095
+ },
1096
+ "foreignKeys": {
1097
+ "review_threads_pr_id_pull_requests_id_fk": {
1098
+ "name": "review_threads_pr_id_pull_requests_id_fk",
1099
+ "tableFrom": "review_threads",
1100
+ "tableTo": "pull_requests",
1101
+ "columnsFrom": [
1102
+ "pr_id"
1103
+ ],
1104
+ "columnsTo": [
1105
+ "id"
1106
+ ],
1107
+ "onDelete": "no action",
1108
+ "onUpdate": "no action"
1109
+ },
1110
+ "review_threads_original_commenter_id_users_id_fk": {
1111
+ "name": "review_threads_original_commenter_id_users_id_fk",
1112
+ "tableFrom": "review_threads",
1113
+ "tableTo": "users",
1114
+ "columnsFrom": [
1115
+ "original_commenter_id"
1116
+ ],
1117
+ "columnsTo": [
1118
+ "id"
1119
+ ],
1120
+ "onDelete": "no action",
1121
+ "onUpdate": "no action"
1122
+ }
1123
+ },
1124
+ "compositePrimaryKeys": {},
1125
+ "uniqueConstraints": {},
1126
+ "checkConstraints": {}
1127
+ },
1128
+ "reviews": {
1129
+ "name": "reviews",
1130
+ "columns": {
1131
+ "id": {
1132
+ "name": "id",
1133
+ "type": "integer",
1134
+ "primaryKey": true,
1135
+ "notNull": true,
1136
+ "autoincrement": true
1137
+ },
1138
+ "github_node_id": {
1139
+ "name": "github_node_id",
1140
+ "type": "text",
1141
+ "primaryKey": false,
1142
+ "notNull": true,
1143
+ "autoincrement": false
1144
+ },
1145
+ "pr_id": {
1146
+ "name": "pr_id",
1147
+ "type": "integer",
1148
+ "primaryKey": false,
1149
+ "notNull": true,
1150
+ "autoincrement": false
1151
+ },
1152
+ "author_id": {
1153
+ "name": "author_id",
1154
+ "type": "integer",
1155
+ "primaryKey": false,
1156
+ "notNull": false,
1157
+ "autoincrement": false
1158
+ },
1159
+ "state": {
1160
+ "name": "state",
1161
+ "type": "text",
1162
+ "primaryKey": false,
1163
+ "notNull": true,
1164
+ "autoincrement": false
1165
+ },
1166
+ "body": {
1167
+ "name": "body",
1168
+ "type": "text",
1169
+ "primaryKey": false,
1170
+ "notNull": false,
1171
+ "autoincrement": false
1172
+ },
1173
+ "submitted_at": {
1174
+ "name": "submitted_at",
1175
+ "type": "integer",
1176
+ "primaryKey": false,
1177
+ "notNull": true,
1178
+ "autoincrement": false
1179
+ }
1180
+ },
1181
+ "indexes": {
1182
+ "reviews_github_node_id_unique": {
1183
+ "name": "reviews_github_node_id_unique",
1184
+ "columns": [
1185
+ "github_node_id"
1186
+ ],
1187
+ "isUnique": true
1188
+ },
1189
+ "rv_pr_idx": {
1190
+ "name": "rv_pr_idx",
1191
+ "columns": [
1192
+ "pr_id"
1193
+ ],
1194
+ "isUnique": false
1195
+ }
1196
+ },
1197
+ "foreignKeys": {
1198
+ "reviews_pr_id_pull_requests_id_fk": {
1199
+ "name": "reviews_pr_id_pull_requests_id_fk",
1200
+ "tableFrom": "reviews",
1201
+ "tableTo": "pull_requests",
1202
+ "columnsFrom": [
1203
+ "pr_id"
1204
+ ],
1205
+ "columnsTo": [
1206
+ "id"
1207
+ ],
1208
+ "onDelete": "no action",
1209
+ "onUpdate": "no action"
1210
+ },
1211
+ "reviews_author_id_users_id_fk": {
1212
+ "name": "reviews_author_id_users_id_fk",
1213
+ "tableFrom": "reviews",
1214
+ "tableTo": "users",
1215
+ "columnsFrom": [
1216
+ "author_id"
1217
+ ],
1218
+ "columnsTo": [
1219
+ "id"
1220
+ ],
1221
+ "onDelete": "no action",
1222
+ "onUpdate": "no action"
1223
+ }
1224
+ },
1225
+ "compositePrimaryKeys": {},
1226
+ "uniqueConstraints": {},
1227
+ "checkConstraints": {}
1228
+ },
1229
+ "sync_state": {
1230
+ "name": "sync_state",
1231
+ "columns": {
1232
+ "repo_id": {
1233
+ "name": "repo_id",
1234
+ "type": "integer",
1235
+ "primaryKey": true,
1236
+ "notNull": true,
1237
+ "autoincrement": false
1238
+ },
1239
+ "last_full_sync_at": {
1240
+ "name": "last_full_sync_at",
1241
+ "type": "integer",
1242
+ "primaryKey": false,
1243
+ "notNull": false,
1244
+ "autoincrement": false
1245
+ },
1246
+ "last_incremental_sync_at": {
1247
+ "name": "last_incremental_sync_at",
1248
+ "type": "integer",
1249
+ "primaryKey": false,
1250
+ "notNull": false,
1251
+ "autoincrement": false
1252
+ },
1253
+ "last_sync_status": {
1254
+ "name": "last_sync_status",
1255
+ "type": "text",
1256
+ "primaryKey": false,
1257
+ "notNull": false,
1258
+ "autoincrement": false
1259
+ },
1260
+ "last_sync_error": {
1261
+ "name": "last_sync_error",
1262
+ "type": "text",
1263
+ "primaryKey": false,
1264
+ "notNull": false,
1265
+ "autoincrement": false
1266
+ }
1267
+ },
1268
+ "indexes": {},
1269
+ "foreignKeys": {
1270
+ "sync_state_repo_id_repos_id_fk": {
1271
+ "name": "sync_state_repo_id_repos_id_fk",
1272
+ "tableFrom": "sync_state",
1273
+ "tableTo": "repos",
1274
+ "columnsFrom": [
1275
+ "repo_id"
1276
+ ],
1277
+ "columnsTo": [
1278
+ "id"
1279
+ ],
1280
+ "onDelete": "no action",
1281
+ "onUpdate": "no action"
1282
+ }
1283
+ },
1284
+ "compositePrimaryKeys": {},
1285
+ "uniqueConstraints": {},
1286
+ "checkConstraints": {}
1287
+ },
1288
+ "users": {
1289
+ "name": "users",
1290
+ "columns": {
1291
+ "id": {
1292
+ "name": "id",
1293
+ "type": "integer",
1294
+ "primaryKey": true,
1295
+ "notNull": true,
1296
+ "autoincrement": true
1297
+ },
1298
+ "github_login": {
1299
+ "name": "github_login",
1300
+ "type": "text",
1301
+ "primaryKey": false,
1302
+ "notNull": true,
1303
+ "autoincrement": false
1304
+ },
1305
+ "github_node_id": {
1306
+ "name": "github_node_id",
1307
+ "type": "text",
1308
+ "primaryKey": false,
1309
+ "notNull": false,
1310
+ "autoincrement": false
1311
+ },
1312
+ "display_name": {
1313
+ "name": "display_name",
1314
+ "type": "text",
1315
+ "primaryKey": false,
1316
+ "notNull": false,
1317
+ "autoincrement": false
1318
+ },
1319
+ "avatar_url": {
1320
+ "name": "avatar_url",
1321
+ "type": "text",
1322
+ "primaryKey": false,
1323
+ "notNull": false,
1324
+ "autoincrement": false
1325
+ },
1326
+ "is_bot": {
1327
+ "name": "is_bot",
1328
+ "type": "integer",
1329
+ "primaryKey": false,
1330
+ "notNull": true,
1331
+ "autoincrement": false,
1332
+ "default": false
1333
+ },
1334
+ "is_bot_overridden": {
1335
+ "name": "is_bot_overridden",
1336
+ "type": "integer",
1337
+ "primaryKey": false,
1338
+ "notNull": true,
1339
+ "autoincrement": false,
1340
+ "default": false
1341
+ }
1342
+ },
1343
+ "indexes": {
1344
+ "users_github_login_unique": {
1345
+ "name": "users_github_login_unique",
1346
+ "columns": [
1347
+ "github_login"
1348
+ ],
1349
+ "isUnique": true
1350
+ },
1351
+ "users_github_node_id_unique": {
1352
+ "name": "users_github_node_id_unique",
1353
+ "columns": [
1354
+ "github_node_id"
1355
+ ],
1356
+ "isUnique": true
1357
+ }
1358
+ },
1359
+ "foreignKeys": {},
1360
+ "compositePrimaryKeys": {},
1361
+ "uniqueConstraints": {},
1362
+ "checkConstraints": {}
1363
+ }
1364
+ },
1365
+ "views": {},
1366
+ "enums": {},
1367
+ "_meta": {
1368
+ "schemas": {},
1369
+ "tables": {},
1370
+ "columns": {}
1371
+ },
1372
+ "internal": {
1373
+ "indexes": {}
1374
+ }
1375
+ }