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,1416 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "6ecab9a1-ac6c-48d2-b868-e88a1d076f11",
5
+ "prevId": "d251904c-1420-4247-9ef3-d03e0fcc82d2",
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
+ "database_id": {
428
+ "name": "database_id",
429
+ "type": "text",
430
+ "primaryKey": false,
431
+ "notNull": false,
432
+ "autoincrement": false
433
+ },
434
+ "created_at": {
435
+ "name": "created_at",
436
+ "type": "integer",
437
+ "primaryKey": false,
438
+ "notNull": true,
439
+ "autoincrement": false
440
+ }
441
+ },
442
+ "indexes": {
443
+ "pr_comments_github_node_id_unique": {
444
+ "name": "pr_comments_github_node_id_unique",
445
+ "columns": [
446
+ "github_node_id"
447
+ ],
448
+ "isUnique": true
449
+ },
450
+ "prc_pr_idx": {
451
+ "name": "prc_pr_idx",
452
+ "columns": [
453
+ "pr_id"
454
+ ],
455
+ "isUnique": false
456
+ }
457
+ },
458
+ "foreignKeys": {
459
+ "pr_comments_pr_id_pull_requests_id_fk": {
460
+ "name": "pr_comments_pr_id_pull_requests_id_fk",
461
+ "tableFrom": "pr_comments",
462
+ "tableTo": "pull_requests",
463
+ "columnsFrom": [
464
+ "pr_id"
465
+ ],
466
+ "columnsTo": [
467
+ "id"
468
+ ],
469
+ "onDelete": "no action",
470
+ "onUpdate": "no action"
471
+ },
472
+ "pr_comments_author_id_users_id_fk": {
473
+ "name": "pr_comments_author_id_users_id_fk",
474
+ "tableFrom": "pr_comments",
475
+ "tableTo": "users",
476
+ "columnsFrom": [
477
+ "author_id"
478
+ ],
479
+ "columnsTo": [
480
+ "id"
481
+ ],
482
+ "onDelete": "no action",
483
+ "onUpdate": "no action"
484
+ }
485
+ },
486
+ "compositePrimaryKeys": {},
487
+ "uniqueConstraints": {},
488
+ "checkConstraints": {}
489
+ },
490
+ "pr_views": {
491
+ "name": "pr_views",
492
+ "columns": {
493
+ "pr_id": {
494
+ "name": "pr_id",
495
+ "type": "integer",
496
+ "primaryKey": true,
497
+ "notNull": true,
498
+ "autoincrement": false
499
+ },
500
+ "last_viewed_sha": {
501
+ "name": "last_viewed_sha",
502
+ "type": "text",
503
+ "primaryKey": false,
504
+ "notNull": false,
505
+ "autoincrement": false
506
+ },
507
+ "last_viewed_at": {
508
+ "name": "last_viewed_at",
509
+ "type": "integer",
510
+ "primaryKey": false,
511
+ "notNull": true,
512
+ "autoincrement": false
513
+ }
514
+ },
515
+ "indexes": {},
516
+ "foreignKeys": {
517
+ "pr_views_pr_id_pull_requests_id_fk": {
518
+ "name": "pr_views_pr_id_pull_requests_id_fk",
519
+ "tableFrom": "pr_views",
520
+ "tableTo": "pull_requests",
521
+ "columnsFrom": [
522
+ "pr_id"
523
+ ],
524
+ "columnsTo": [
525
+ "id"
526
+ ],
527
+ "onDelete": "no action",
528
+ "onUpdate": "no action"
529
+ }
530
+ },
531
+ "compositePrimaryKeys": {},
532
+ "uniqueConstraints": {},
533
+ "checkConstraints": {}
534
+ },
535
+ "pull_requests": {
536
+ "name": "pull_requests",
537
+ "columns": {
538
+ "id": {
539
+ "name": "id",
540
+ "type": "integer",
541
+ "primaryKey": true,
542
+ "notNull": true,
543
+ "autoincrement": true
544
+ },
545
+ "github_node_id": {
546
+ "name": "github_node_id",
547
+ "type": "text",
548
+ "primaryKey": false,
549
+ "notNull": true,
550
+ "autoincrement": false
551
+ },
552
+ "repo_id": {
553
+ "name": "repo_id",
554
+ "type": "integer",
555
+ "primaryKey": false,
556
+ "notNull": true,
557
+ "autoincrement": false
558
+ },
559
+ "number": {
560
+ "name": "number",
561
+ "type": "integer",
562
+ "primaryKey": false,
563
+ "notNull": true,
564
+ "autoincrement": false
565
+ },
566
+ "title": {
567
+ "name": "title",
568
+ "type": "text",
569
+ "primaryKey": false,
570
+ "notNull": true,
571
+ "autoincrement": false
572
+ },
573
+ "body": {
574
+ "name": "body",
575
+ "type": "text",
576
+ "primaryKey": false,
577
+ "notNull": false,
578
+ "autoincrement": false
579
+ },
580
+ "author_id": {
581
+ "name": "author_id",
582
+ "type": "integer",
583
+ "primaryKey": false,
584
+ "notNull": false,
585
+ "autoincrement": false
586
+ },
587
+ "merged_by_id": {
588
+ "name": "merged_by_id",
589
+ "type": "integer",
590
+ "primaryKey": false,
591
+ "notNull": false,
592
+ "autoincrement": false
593
+ },
594
+ "state": {
595
+ "name": "state",
596
+ "type": "text",
597
+ "primaryKey": false,
598
+ "notNull": true,
599
+ "autoincrement": false
600
+ },
601
+ "is_draft": {
602
+ "name": "is_draft",
603
+ "type": "integer",
604
+ "primaryKey": false,
605
+ "notNull": true,
606
+ "autoincrement": false,
607
+ "default": false
608
+ },
609
+ "opened_at": {
610
+ "name": "opened_at",
611
+ "type": "integer",
612
+ "primaryKey": false,
613
+ "notNull": true,
614
+ "autoincrement": false
615
+ },
616
+ "first_review_at": {
617
+ "name": "first_review_at",
618
+ "type": "integer",
619
+ "primaryKey": false,
620
+ "notNull": false,
621
+ "autoincrement": false
622
+ },
623
+ "last_commit_at": {
624
+ "name": "last_commit_at",
625
+ "type": "integer",
626
+ "primaryKey": false,
627
+ "notNull": false,
628
+ "autoincrement": false
629
+ },
630
+ "merged_at": {
631
+ "name": "merged_at",
632
+ "type": "integer",
633
+ "primaryKey": false,
634
+ "notNull": false,
635
+ "autoincrement": false
636
+ },
637
+ "closed_at": {
638
+ "name": "closed_at",
639
+ "type": "integer",
640
+ "primaryKey": false,
641
+ "notNull": false,
642
+ "autoincrement": false
643
+ },
644
+ "updated_at": {
645
+ "name": "updated_at",
646
+ "type": "integer",
647
+ "primaryKey": false,
648
+ "notNull": true,
649
+ "autoincrement": false
650
+ },
651
+ "head_sha": {
652
+ "name": "head_sha",
653
+ "type": "text",
654
+ "primaryKey": false,
655
+ "notNull": false,
656
+ "autoincrement": false
657
+ },
658
+ "ci_status": {
659
+ "name": "ci_status",
660
+ "type": "text",
661
+ "primaryKey": false,
662
+ "notNull": false,
663
+ "autoincrement": false
664
+ },
665
+ "mergeable": {
666
+ "name": "mergeable",
667
+ "type": "text",
668
+ "primaryKey": false,
669
+ "notNull": false,
670
+ "autoincrement": false
671
+ },
672
+ "merge_state_status": {
673
+ "name": "merge_state_status",
674
+ "type": "text",
675
+ "primaryKey": false,
676
+ "notNull": false,
677
+ "autoincrement": false
678
+ },
679
+ "labels": {
680
+ "name": "labels",
681
+ "type": "text",
682
+ "primaryKey": false,
683
+ "notNull": false,
684
+ "autoincrement": false
685
+ },
686
+ "check_runs": {
687
+ "name": "check_runs",
688
+ "type": "text",
689
+ "primaryKey": false,
690
+ "notNull": false,
691
+ "autoincrement": false
692
+ }
693
+ },
694
+ "indexes": {
695
+ "pull_requests_github_node_id_unique": {
696
+ "name": "pull_requests_github_node_id_unique",
697
+ "columns": [
698
+ "github_node_id"
699
+ ],
700
+ "isUnique": true
701
+ },
702
+ "pr_repo_idx": {
703
+ "name": "pr_repo_idx",
704
+ "columns": [
705
+ "repo_id"
706
+ ],
707
+ "isUnique": false
708
+ },
709
+ "pr_opened_idx": {
710
+ "name": "pr_opened_idx",
711
+ "columns": [
712
+ "opened_at"
713
+ ],
714
+ "isUnique": false
715
+ }
716
+ },
717
+ "foreignKeys": {
718
+ "pull_requests_repo_id_repos_id_fk": {
719
+ "name": "pull_requests_repo_id_repos_id_fk",
720
+ "tableFrom": "pull_requests",
721
+ "tableTo": "repos",
722
+ "columnsFrom": [
723
+ "repo_id"
724
+ ],
725
+ "columnsTo": [
726
+ "id"
727
+ ],
728
+ "onDelete": "no action",
729
+ "onUpdate": "no action"
730
+ },
731
+ "pull_requests_author_id_users_id_fk": {
732
+ "name": "pull_requests_author_id_users_id_fk",
733
+ "tableFrom": "pull_requests",
734
+ "tableTo": "users",
735
+ "columnsFrom": [
736
+ "author_id"
737
+ ],
738
+ "columnsTo": [
739
+ "id"
740
+ ],
741
+ "onDelete": "no action",
742
+ "onUpdate": "no action"
743
+ },
744
+ "pull_requests_merged_by_id_users_id_fk": {
745
+ "name": "pull_requests_merged_by_id_users_id_fk",
746
+ "tableFrom": "pull_requests",
747
+ "tableTo": "users",
748
+ "columnsFrom": [
749
+ "merged_by_id"
750
+ ],
751
+ "columnsTo": [
752
+ "id"
753
+ ],
754
+ "onDelete": "no action",
755
+ "onUpdate": "no action"
756
+ }
757
+ },
758
+ "compositePrimaryKeys": {},
759
+ "uniqueConstraints": {},
760
+ "checkConstraints": {}
761
+ },
762
+ "repos": {
763
+ "name": "repos",
764
+ "columns": {
765
+ "id": {
766
+ "name": "id",
767
+ "type": "integer",
768
+ "primaryKey": true,
769
+ "notNull": true,
770
+ "autoincrement": true
771
+ },
772
+ "owner": {
773
+ "name": "owner",
774
+ "type": "text",
775
+ "primaryKey": false,
776
+ "notNull": true,
777
+ "autoincrement": false
778
+ },
779
+ "name": {
780
+ "name": "name",
781
+ "type": "text",
782
+ "primaryKey": false,
783
+ "notNull": true,
784
+ "autoincrement": false
785
+ },
786
+ "github_node_id": {
787
+ "name": "github_node_id",
788
+ "type": "text",
789
+ "primaryKey": false,
790
+ "notNull": true,
791
+ "autoincrement": false
792
+ },
793
+ "backfill_until": {
794
+ "name": "backfill_until",
795
+ "type": "integer",
796
+ "primaryKey": false,
797
+ "notNull": false,
798
+ "autoincrement": false
799
+ },
800
+ "created_at": {
801
+ "name": "created_at",
802
+ "type": "integer",
803
+ "primaryKey": false,
804
+ "notNull": true,
805
+ "autoincrement": false,
806
+ "default": "(unixepoch())"
807
+ }
808
+ },
809
+ "indexes": {
810
+ "repos_github_node_id_unique": {
811
+ "name": "repos_github_node_id_unique",
812
+ "columns": [
813
+ "github_node_id"
814
+ ],
815
+ "isUnique": true
816
+ },
817
+ "repos_owner_name": {
818
+ "name": "repos_owner_name",
819
+ "columns": [
820
+ "owner",
821
+ "name"
822
+ ],
823
+ "isUnique": true
824
+ }
825
+ },
826
+ "foreignKeys": {},
827
+ "compositePrimaryKeys": {},
828
+ "uniqueConstraints": {},
829
+ "checkConstraints": {}
830
+ },
831
+ "review_comments": {
832
+ "name": "review_comments",
833
+ "columns": {
834
+ "id": {
835
+ "name": "id",
836
+ "type": "integer",
837
+ "primaryKey": true,
838
+ "notNull": true,
839
+ "autoincrement": true
840
+ },
841
+ "github_node_id": {
842
+ "name": "github_node_id",
843
+ "type": "text",
844
+ "primaryKey": false,
845
+ "notNull": true,
846
+ "autoincrement": false
847
+ },
848
+ "thread_id": {
849
+ "name": "thread_id",
850
+ "type": "integer",
851
+ "primaryKey": false,
852
+ "notNull": true,
853
+ "autoincrement": false
854
+ },
855
+ "pr_id": {
856
+ "name": "pr_id",
857
+ "type": "integer",
858
+ "primaryKey": false,
859
+ "notNull": true,
860
+ "autoincrement": false
861
+ },
862
+ "author_id": {
863
+ "name": "author_id",
864
+ "type": "integer",
865
+ "primaryKey": false,
866
+ "notNull": false,
867
+ "autoincrement": false
868
+ },
869
+ "body": {
870
+ "name": "body",
871
+ "type": "text",
872
+ "primaryKey": false,
873
+ "notNull": true,
874
+ "autoincrement": false
875
+ },
876
+ "diff_hunk": {
877
+ "name": "diff_hunk",
878
+ "type": "text",
879
+ "primaryKey": false,
880
+ "notNull": false,
881
+ "autoincrement": false
882
+ },
883
+ "database_id": {
884
+ "name": "database_id",
885
+ "type": "text",
886
+ "primaryKey": false,
887
+ "notNull": false,
888
+ "autoincrement": false
889
+ },
890
+ "created_at": {
891
+ "name": "created_at",
892
+ "type": "integer",
893
+ "primaryKey": false,
894
+ "notNull": true,
895
+ "autoincrement": false
896
+ }
897
+ },
898
+ "indexes": {
899
+ "review_comments_github_node_id_unique": {
900
+ "name": "review_comments_github_node_id_unique",
901
+ "columns": [
902
+ "github_node_id"
903
+ ],
904
+ "isUnique": true
905
+ },
906
+ "rc_thread_idx": {
907
+ "name": "rc_thread_idx",
908
+ "columns": [
909
+ "thread_id"
910
+ ],
911
+ "isUnique": false
912
+ }
913
+ },
914
+ "foreignKeys": {
915
+ "review_comments_thread_id_review_threads_id_fk": {
916
+ "name": "review_comments_thread_id_review_threads_id_fk",
917
+ "tableFrom": "review_comments",
918
+ "tableTo": "review_threads",
919
+ "columnsFrom": [
920
+ "thread_id"
921
+ ],
922
+ "columnsTo": [
923
+ "id"
924
+ ],
925
+ "onDelete": "no action",
926
+ "onUpdate": "no action"
927
+ },
928
+ "review_comments_pr_id_pull_requests_id_fk": {
929
+ "name": "review_comments_pr_id_pull_requests_id_fk",
930
+ "tableFrom": "review_comments",
931
+ "tableTo": "pull_requests",
932
+ "columnsFrom": [
933
+ "pr_id"
934
+ ],
935
+ "columnsTo": [
936
+ "id"
937
+ ],
938
+ "onDelete": "no action",
939
+ "onUpdate": "no action"
940
+ },
941
+ "review_comments_author_id_users_id_fk": {
942
+ "name": "review_comments_author_id_users_id_fk",
943
+ "tableFrom": "review_comments",
944
+ "tableTo": "users",
945
+ "columnsFrom": [
946
+ "author_id"
947
+ ],
948
+ "columnsTo": [
949
+ "id"
950
+ ],
951
+ "onDelete": "no action",
952
+ "onUpdate": "no action"
953
+ }
954
+ },
955
+ "compositePrimaryKeys": {},
956
+ "uniqueConstraints": {},
957
+ "checkConstraints": {}
958
+ },
959
+ "review_requests": {
960
+ "name": "review_requests",
961
+ "columns": {
962
+ "id": {
963
+ "name": "id",
964
+ "type": "integer",
965
+ "primaryKey": true,
966
+ "notNull": true,
967
+ "autoincrement": true
968
+ },
969
+ "pr_id": {
970
+ "name": "pr_id",
971
+ "type": "integer",
972
+ "primaryKey": false,
973
+ "notNull": true,
974
+ "autoincrement": false
975
+ },
976
+ "user_id": {
977
+ "name": "user_id",
978
+ "type": "integer",
979
+ "primaryKey": false,
980
+ "notNull": false,
981
+ "autoincrement": false
982
+ },
983
+ "team_name": {
984
+ "name": "team_name",
985
+ "type": "text",
986
+ "primaryKey": false,
987
+ "notNull": false,
988
+ "autoincrement": false
989
+ }
990
+ },
991
+ "indexes": {
992
+ "rr_pr_idx": {
993
+ "name": "rr_pr_idx",
994
+ "columns": [
995
+ "pr_id"
996
+ ],
997
+ "isUnique": false
998
+ },
999
+ "rr_user_idx": {
1000
+ "name": "rr_user_idx",
1001
+ "columns": [
1002
+ "user_id"
1003
+ ],
1004
+ "isUnique": false
1005
+ }
1006
+ },
1007
+ "foreignKeys": {
1008
+ "review_requests_pr_id_pull_requests_id_fk": {
1009
+ "name": "review_requests_pr_id_pull_requests_id_fk",
1010
+ "tableFrom": "review_requests",
1011
+ "tableTo": "pull_requests",
1012
+ "columnsFrom": [
1013
+ "pr_id"
1014
+ ],
1015
+ "columnsTo": [
1016
+ "id"
1017
+ ],
1018
+ "onDelete": "no action",
1019
+ "onUpdate": "no action"
1020
+ },
1021
+ "review_requests_user_id_users_id_fk": {
1022
+ "name": "review_requests_user_id_users_id_fk",
1023
+ "tableFrom": "review_requests",
1024
+ "tableTo": "users",
1025
+ "columnsFrom": [
1026
+ "user_id"
1027
+ ],
1028
+ "columnsTo": [
1029
+ "id"
1030
+ ],
1031
+ "onDelete": "no action",
1032
+ "onUpdate": "no action"
1033
+ }
1034
+ },
1035
+ "compositePrimaryKeys": {},
1036
+ "uniqueConstraints": {},
1037
+ "checkConstraints": {}
1038
+ },
1039
+ "review_threads": {
1040
+ "name": "review_threads",
1041
+ "columns": {
1042
+ "id": {
1043
+ "name": "id",
1044
+ "type": "integer",
1045
+ "primaryKey": true,
1046
+ "notNull": true,
1047
+ "autoincrement": true
1048
+ },
1049
+ "github_node_id": {
1050
+ "name": "github_node_id",
1051
+ "type": "text",
1052
+ "primaryKey": false,
1053
+ "notNull": true,
1054
+ "autoincrement": false
1055
+ },
1056
+ "pr_id": {
1057
+ "name": "pr_id",
1058
+ "type": "integer",
1059
+ "primaryKey": false,
1060
+ "notNull": true,
1061
+ "autoincrement": false
1062
+ },
1063
+ "path": {
1064
+ "name": "path",
1065
+ "type": "text",
1066
+ "primaryKey": false,
1067
+ "notNull": true,
1068
+ "autoincrement": false
1069
+ },
1070
+ "line": {
1071
+ "name": "line",
1072
+ "type": "integer",
1073
+ "primaryKey": false,
1074
+ "notNull": false,
1075
+ "autoincrement": false
1076
+ },
1077
+ "is_resolved": {
1078
+ "name": "is_resolved",
1079
+ "type": "integer",
1080
+ "primaryKey": false,
1081
+ "notNull": true,
1082
+ "autoincrement": false
1083
+ },
1084
+ "is_outdated": {
1085
+ "name": "is_outdated",
1086
+ "type": "integer",
1087
+ "primaryKey": false,
1088
+ "notNull": true,
1089
+ "autoincrement": false,
1090
+ "default": false
1091
+ },
1092
+ "derived_state": {
1093
+ "name": "derived_state",
1094
+ "type": "text",
1095
+ "primaryKey": false,
1096
+ "notNull": true,
1097
+ "autoincrement": false
1098
+ },
1099
+ "original_commenter_id": {
1100
+ "name": "original_commenter_id",
1101
+ "type": "integer",
1102
+ "primaryKey": false,
1103
+ "notNull": false,
1104
+ "autoincrement": false
1105
+ },
1106
+ "created_at": {
1107
+ "name": "created_at",
1108
+ "type": "integer",
1109
+ "primaryKey": false,
1110
+ "notNull": true,
1111
+ "autoincrement": false
1112
+ }
1113
+ },
1114
+ "indexes": {
1115
+ "review_threads_github_node_id_unique": {
1116
+ "name": "review_threads_github_node_id_unique",
1117
+ "columns": [
1118
+ "github_node_id"
1119
+ ],
1120
+ "isUnique": true
1121
+ },
1122
+ "thread_pr_idx": {
1123
+ "name": "thread_pr_idx",
1124
+ "columns": [
1125
+ "pr_id"
1126
+ ],
1127
+ "isUnique": false
1128
+ }
1129
+ },
1130
+ "foreignKeys": {
1131
+ "review_threads_pr_id_pull_requests_id_fk": {
1132
+ "name": "review_threads_pr_id_pull_requests_id_fk",
1133
+ "tableFrom": "review_threads",
1134
+ "tableTo": "pull_requests",
1135
+ "columnsFrom": [
1136
+ "pr_id"
1137
+ ],
1138
+ "columnsTo": [
1139
+ "id"
1140
+ ],
1141
+ "onDelete": "no action",
1142
+ "onUpdate": "no action"
1143
+ },
1144
+ "review_threads_original_commenter_id_users_id_fk": {
1145
+ "name": "review_threads_original_commenter_id_users_id_fk",
1146
+ "tableFrom": "review_threads",
1147
+ "tableTo": "users",
1148
+ "columnsFrom": [
1149
+ "original_commenter_id"
1150
+ ],
1151
+ "columnsTo": [
1152
+ "id"
1153
+ ],
1154
+ "onDelete": "no action",
1155
+ "onUpdate": "no action"
1156
+ }
1157
+ },
1158
+ "compositePrimaryKeys": {},
1159
+ "uniqueConstraints": {},
1160
+ "checkConstraints": {}
1161
+ },
1162
+ "reviews": {
1163
+ "name": "reviews",
1164
+ "columns": {
1165
+ "id": {
1166
+ "name": "id",
1167
+ "type": "integer",
1168
+ "primaryKey": true,
1169
+ "notNull": true,
1170
+ "autoincrement": true
1171
+ },
1172
+ "github_node_id": {
1173
+ "name": "github_node_id",
1174
+ "type": "text",
1175
+ "primaryKey": false,
1176
+ "notNull": true,
1177
+ "autoincrement": false
1178
+ },
1179
+ "pr_id": {
1180
+ "name": "pr_id",
1181
+ "type": "integer",
1182
+ "primaryKey": false,
1183
+ "notNull": true,
1184
+ "autoincrement": false
1185
+ },
1186
+ "author_id": {
1187
+ "name": "author_id",
1188
+ "type": "integer",
1189
+ "primaryKey": false,
1190
+ "notNull": false,
1191
+ "autoincrement": false
1192
+ },
1193
+ "state": {
1194
+ "name": "state",
1195
+ "type": "text",
1196
+ "primaryKey": false,
1197
+ "notNull": true,
1198
+ "autoincrement": false
1199
+ },
1200
+ "body": {
1201
+ "name": "body",
1202
+ "type": "text",
1203
+ "primaryKey": false,
1204
+ "notNull": false,
1205
+ "autoincrement": false
1206
+ },
1207
+ "database_id": {
1208
+ "name": "database_id",
1209
+ "type": "text",
1210
+ "primaryKey": false,
1211
+ "notNull": false,
1212
+ "autoincrement": false
1213
+ },
1214
+ "submitted_at": {
1215
+ "name": "submitted_at",
1216
+ "type": "integer",
1217
+ "primaryKey": false,
1218
+ "notNull": true,
1219
+ "autoincrement": false
1220
+ }
1221
+ },
1222
+ "indexes": {
1223
+ "reviews_github_node_id_unique": {
1224
+ "name": "reviews_github_node_id_unique",
1225
+ "columns": [
1226
+ "github_node_id"
1227
+ ],
1228
+ "isUnique": true
1229
+ },
1230
+ "rv_pr_idx": {
1231
+ "name": "rv_pr_idx",
1232
+ "columns": [
1233
+ "pr_id"
1234
+ ],
1235
+ "isUnique": false
1236
+ }
1237
+ },
1238
+ "foreignKeys": {
1239
+ "reviews_pr_id_pull_requests_id_fk": {
1240
+ "name": "reviews_pr_id_pull_requests_id_fk",
1241
+ "tableFrom": "reviews",
1242
+ "tableTo": "pull_requests",
1243
+ "columnsFrom": [
1244
+ "pr_id"
1245
+ ],
1246
+ "columnsTo": [
1247
+ "id"
1248
+ ],
1249
+ "onDelete": "no action",
1250
+ "onUpdate": "no action"
1251
+ },
1252
+ "reviews_author_id_users_id_fk": {
1253
+ "name": "reviews_author_id_users_id_fk",
1254
+ "tableFrom": "reviews",
1255
+ "tableTo": "users",
1256
+ "columnsFrom": [
1257
+ "author_id"
1258
+ ],
1259
+ "columnsTo": [
1260
+ "id"
1261
+ ],
1262
+ "onDelete": "no action",
1263
+ "onUpdate": "no action"
1264
+ }
1265
+ },
1266
+ "compositePrimaryKeys": {},
1267
+ "uniqueConstraints": {},
1268
+ "checkConstraints": {}
1269
+ },
1270
+ "sync_state": {
1271
+ "name": "sync_state",
1272
+ "columns": {
1273
+ "repo_id": {
1274
+ "name": "repo_id",
1275
+ "type": "integer",
1276
+ "primaryKey": true,
1277
+ "notNull": true,
1278
+ "autoincrement": false
1279
+ },
1280
+ "last_full_sync_at": {
1281
+ "name": "last_full_sync_at",
1282
+ "type": "integer",
1283
+ "primaryKey": false,
1284
+ "notNull": false,
1285
+ "autoincrement": false
1286
+ },
1287
+ "last_incremental_sync_at": {
1288
+ "name": "last_incremental_sync_at",
1289
+ "type": "integer",
1290
+ "primaryKey": false,
1291
+ "notNull": false,
1292
+ "autoincrement": false
1293
+ },
1294
+ "last_sync_status": {
1295
+ "name": "last_sync_status",
1296
+ "type": "text",
1297
+ "primaryKey": false,
1298
+ "notNull": false,
1299
+ "autoincrement": false
1300
+ },
1301
+ "last_sync_error": {
1302
+ "name": "last_sync_error",
1303
+ "type": "text",
1304
+ "primaryKey": false,
1305
+ "notNull": false,
1306
+ "autoincrement": false
1307
+ }
1308
+ },
1309
+ "indexes": {},
1310
+ "foreignKeys": {
1311
+ "sync_state_repo_id_repos_id_fk": {
1312
+ "name": "sync_state_repo_id_repos_id_fk",
1313
+ "tableFrom": "sync_state",
1314
+ "tableTo": "repos",
1315
+ "columnsFrom": [
1316
+ "repo_id"
1317
+ ],
1318
+ "columnsTo": [
1319
+ "id"
1320
+ ],
1321
+ "onDelete": "no action",
1322
+ "onUpdate": "no action"
1323
+ }
1324
+ },
1325
+ "compositePrimaryKeys": {},
1326
+ "uniqueConstraints": {},
1327
+ "checkConstraints": {}
1328
+ },
1329
+ "users": {
1330
+ "name": "users",
1331
+ "columns": {
1332
+ "id": {
1333
+ "name": "id",
1334
+ "type": "integer",
1335
+ "primaryKey": true,
1336
+ "notNull": true,
1337
+ "autoincrement": true
1338
+ },
1339
+ "github_login": {
1340
+ "name": "github_login",
1341
+ "type": "text",
1342
+ "primaryKey": false,
1343
+ "notNull": true,
1344
+ "autoincrement": false
1345
+ },
1346
+ "github_node_id": {
1347
+ "name": "github_node_id",
1348
+ "type": "text",
1349
+ "primaryKey": false,
1350
+ "notNull": false,
1351
+ "autoincrement": false
1352
+ },
1353
+ "display_name": {
1354
+ "name": "display_name",
1355
+ "type": "text",
1356
+ "primaryKey": false,
1357
+ "notNull": false,
1358
+ "autoincrement": false
1359
+ },
1360
+ "avatar_url": {
1361
+ "name": "avatar_url",
1362
+ "type": "text",
1363
+ "primaryKey": false,
1364
+ "notNull": false,
1365
+ "autoincrement": false
1366
+ },
1367
+ "is_bot": {
1368
+ "name": "is_bot",
1369
+ "type": "integer",
1370
+ "primaryKey": false,
1371
+ "notNull": true,
1372
+ "autoincrement": false,
1373
+ "default": false
1374
+ },
1375
+ "is_bot_overridden": {
1376
+ "name": "is_bot_overridden",
1377
+ "type": "integer",
1378
+ "primaryKey": false,
1379
+ "notNull": true,
1380
+ "autoincrement": false,
1381
+ "default": false
1382
+ }
1383
+ },
1384
+ "indexes": {
1385
+ "users_github_login_unique": {
1386
+ "name": "users_github_login_unique",
1387
+ "columns": [
1388
+ "github_login"
1389
+ ],
1390
+ "isUnique": true
1391
+ },
1392
+ "users_github_node_id_unique": {
1393
+ "name": "users_github_node_id_unique",
1394
+ "columns": [
1395
+ "github_node_id"
1396
+ ],
1397
+ "isUnique": true
1398
+ }
1399
+ },
1400
+ "foreignKeys": {},
1401
+ "compositePrimaryKeys": {},
1402
+ "uniqueConstraints": {},
1403
+ "checkConstraints": {}
1404
+ }
1405
+ },
1406
+ "views": {},
1407
+ "enums": {},
1408
+ "_meta": {
1409
+ "schemas": {},
1410
+ "tables": {},
1411
+ "columns": {}
1412
+ },
1413
+ "internal": {
1414
+ "indexes": {}
1415
+ }
1416
+ }