@storyshelf/db-postgres 0.6.2 → 0.8.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 (97) hide show
  1. package/README.md +56 -0
  2. package/dist/ddl.d.mts +1 -3
  3. package/dist/ddl.mjs +219 -16
  4. package/dist/ddl.mjs.map +1 -1
  5. package/dist/drizzle-factory-pg.mjs +9 -7
  6. package/dist/drizzle-factory-pg.mjs.map +1 -1
  7. package/dist/drizzle-factory.mjs +1 -2
  8. package/dist/index.d.mts +0 -2
  9. package/dist/index.mjs +2 -3
  10. package/dist/index.mjs.map +1 -1
  11. package/dist/migrate.mjs +115 -5
  12. package/dist/migrate.mjs.map +1 -1
  13. package/dist/neon-http.d.mts +0 -2
  14. package/dist/neon-http.mjs +2 -3
  15. package/dist/neon-http.mjs.map +1 -1
  16. package/dist/neon.d.mts +0 -2
  17. package/dist/neon.mjs +2 -3
  18. package/dist/neon.mjs.map +1 -1
  19. package/dist/pg.d.mts +0 -2
  20. package/dist/pg.mjs +2 -3
  21. package/dist/pg.mjs.map +1 -1
  22. package/dist/pglite.d.mts +0 -2
  23. package/dist/pglite.mjs +3 -4
  24. package/dist/pglite.mjs.map +1 -1
  25. package/dist/schema/baseline.d.mts +83 -13
  26. package/dist/schema/baseline.mjs +6 -3
  27. package/dist/schema/baseline.mjs.map +1 -1
  28. package/dist/schema/{status-config.d.mts → build-component.d.mts} +43 -38
  29. package/dist/schema/build-component.mjs +24 -0
  30. package/dist/schema/build-component.mjs.map +1 -0
  31. package/dist/schema/build-review.d.mts +116 -0
  32. package/dist/schema/build-review.mjs +22 -0
  33. package/dist/schema/build-review.mjs.map +1 -0
  34. package/dist/schema/build.d.mts +59 -25
  35. package/dist/schema/build.mjs +4 -2
  36. package/dist/schema/build.mjs.map +1 -1
  37. package/dist/schema/capture-attempt.d.mts +25 -27
  38. package/dist/schema/capture-attempt.mjs +1 -2
  39. package/dist/schema/capture-job.d.mts +328 -0
  40. package/dist/schema/capture-job.mjs +55 -0
  41. package/dist/schema/capture-job.mjs.map +1 -0
  42. package/dist/schema/capture-shard.d.mts +255 -0
  43. package/dist/schema/capture-shard.mjs +39 -0
  44. package/dist/schema/capture-shard.mjs.map +1 -0
  45. package/dist/schema/comment.d.mts +29 -13
  46. package/dist/schema/comment.mjs +4 -4
  47. package/dist/schema/comment.mjs.map +1 -1
  48. package/dist/schema/connection.d.mts +171 -0
  49. package/dist/schema/connection.mjs +34 -0
  50. package/dist/schema/connection.mjs.map +1 -0
  51. package/dist/schema/content-refs.d.mts +0 -2
  52. package/dist/schema/content-refs.mjs +1 -2
  53. package/dist/schema/design.d.mts +587 -0
  54. package/dist/schema/design.mjs +72 -0
  55. package/dist/schema/design.mjs.map +1 -0
  56. package/dist/schema/insight.d.mts +631 -0
  57. package/dist/schema/insight.mjs +67 -0
  58. package/dist/schema/insight.mjs.map +1 -0
  59. package/dist/schema/label.d.mts +15 -17
  60. package/dist/schema/label.mjs +1 -2
  61. package/dist/schema/member.d.mts +7 -9
  62. package/dist/schema/member.mjs +1 -2
  63. package/dist/schema/notification.d.mts +54 -20
  64. package/dist/schema/notification.mjs +6 -2
  65. package/dist/schema/notification.mjs.map +1 -1
  66. package/dist/schema/project-group-mapping.d.mts +6 -8
  67. package/dist/schema/project-group-mapping.mjs +1 -2
  68. package/dist/schema/project.d.mts +126 -2
  69. package/dist/schema/project.mjs +9 -3
  70. package/dist/schema/project.mjs.map +1 -1
  71. package/dist/schema/site-setting.d.mts +97 -0
  72. package/dist/schema/site-setting.mjs +22 -0
  73. package/dist/schema/site-setting.mjs.map +1 -0
  74. package/dist/schema/snapshot.d.mts +187 -27
  75. package/dist/schema/snapshot.mjs +15 -3
  76. package/dist/schema/snapshot.mjs.map +1 -1
  77. package/dist/schema/token.d.mts +8 -10
  78. package/dist/schema/token.mjs +1 -2
  79. package/dist/schema/usage.d.mts +265 -0
  80. package/dist/schema/usage.mjs +35 -0
  81. package/dist/schema/usage.mjs.map +1 -0
  82. package/dist/schema/user-invite.d.mts +7 -9
  83. package/dist/schema/user-invite.mjs +1 -2
  84. package/dist/schema/user.d.mts +74 -2
  85. package/dist/schema/user.mjs +7 -4
  86. package/dist/schema/user.mjs.map +1 -1
  87. package/dist/schema/webhook.d.mts +8 -10
  88. package/dist/schema/webhook.mjs +1 -2
  89. package/dist/schema.d.mts +24 -5
  90. package/dist/schema.mjs +26 -6
  91. package/dist/schema.mjs.map +1 -1
  92. package/dist/vercel.d.mts +0 -2
  93. package/dist/vercel.mjs +2 -3
  94. package/dist/vercel.mjs.map +1 -1
  95. package/package.json +7 -7
  96. package/dist/schema/status-config.mjs +0 -26
  97. package/dist/schema/status-config.mjs.map +0 -1
@@ -0,0 +1,587 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
3
+ /** Narrow `design_links` table definition. */
4
+ declare const designLinks: import("drizzle-orm/pg-core/table.js").PgTableWithColumns<{
5
+ name: "design_links";
6
+ schema: undefined;
7
+ columns: {
8
+ id: import("drizzle-orm/pg-core/index.js").PgColumn<{
9
+ name: "id";
10
+ tableName: "design_links";
11
+ dataType: "string";
12
+ columnType: "PgText";
13
+ data: string;
14
+ driverParam: string;
15
+ notNull: true;
16
+ hasDefault: false;
17
+ isPrimaryKey: true;
18
+ isAutoincrement: false;
19
+ hasRuntimeDefault: false;
20
+ enumValues: [string, ...string[]];
21
+ baseColumn: never;
22
+ identity: undefined;
23
+ generated: undefined;
24
+ }, {}, {}>;
25
+ projectId: import("drizzle-orm/pg-core/index.js").PgColumn<{
26
+ name: "project_id";
27
+ tableName: "design_links";
28
+ dataType: "string";
29
+ columnType: "PgText";
30
+ data: string;
31
+ driverParam: string;
32
+ notNull: true;
33
+ hasDefault: false;
34
+ isPrimaryKey: false;
35
+ isAutoincrement: false;
36
+ hasRuntimeDefault: false;
37
+ enumValues: [string, ...string[]];
38
+ baseColumn: never;
39
+ identity: undefined;
40
+ generated: undefined;
41
+ }, {}, {}>;
42
+ importPath: import("drizzle-orm/pg-core/index.js").PgColumn<{
43
+ name: "import_path";
44
+ tableName: "design_links";
45
+ dataType: "string";
46
+ columnType: "PgText";
47
+ data: string;
48
+ driverParam: string;
49
+ notNull: false;
50
+ hasDefault: false;
51
+ isPrimaryKey: false;
52
+ isAutoincrement: false;
53
+ hasRuntimeDefault: false;
54
+ enumValues: [string, ...string[]];
55
+ baseColumn: never;
56
+ identity: undefined;
57
+ generated: undefined;
58
+ }, {}, {}>;
59
+ label: import("drizzle-orm/pg-core/index.js").PgColumn<{
60
+ name: "label";
61
+ tableName: "design_links";
62
+ dataType: "string";
63
+ columnType: "PgText";
64
+ data: string;
65
+ driverParam: string;
66
+ notNull: false;
67
+ hasDefault: false;
68
+ isPrimaryKey: false;
69
+ isAutoincrement: false;
70
+ hasRuntimeDefault: false;
71
+ enumValues: [string, ...string[]];
72
+ baseColumn: never;
73
+ identity: undefined;
74
+ generated: undefined;
75
+ }, {}, {}>;
76
+ url: import("drizzle-orm/pg-core/index.js").PgColumn<{
77
+ name: "url";
78
+ tableName: "design_links";
79
+ dataType: "string";
80
+ columnType: "PgText";
81
+ data: string;
82
+ driverParam: string;
83
+ notNull: true;
84
+ hasDefault: false;
85
+ isPrimaryKey: false;
86
+ isAutoincrement: false;
87
+ hasRuntimeDefault: false;
88
+ enumValues: [string, ...string[]];
89
+ baseColumn: never;
90
+ identity: undefined;
91
+ generated: undefined;
92
+ }, {}, {}>;
93
+ createdAt: import("drizzle-orm/pg-core/index.js").PgColumn<{
94
+ name: "created_at";
95
+ tableName: "design_links";
96
+ dataType: "string";
97
+ columnType: "PgTimestampString";
98
+ data: string;
99
+ driverParam: string;
100
+ notNull: true;
101
+ hasDefault: false;
102
+ isPrimaryKey: false;
103
+ isAutoincrement: false;
104
+ hasRuntimeDefault: false;
105
+ enumValues: undefined;
106
+ baseColumn: never;
107
+ identity: undefined;
108
+ generated: undefined;
109
+ }, {}, {}>;
110
+ updatedAt: import("drizzle-orm/pg-core/index.js").PgColumn<{
111
+ name: "updated_at";
112
+ tableName: "design_links";
113
+ dataType: "string";
114
+ columnType: "PgTimestampString";
115
+ data: string;
116
+ driverParam: string;
117
+ notNull: true;
118
+ hasDefault: false;
119
+ isPrimaryKey: false;
120
+ isAutoincrement: false;
121
+ hasRuntimeDefault: false;
122
+ enumValues: undefined;
123
+ baseColumn: never;
124
+ identity: undefined;
125
+ generated: undefined;
126
+ }, {}, {}>;
127
+ };
128
+ dialect: 'pg';
129
+ }>;
130
+ /** Narrow `design_credentials` table definition: the project-wide design-provider token. */
131
+ declare const designCredentials: import("drizzle-orm/pg-core/table.js").PgTableWithColumns<{
132
+ name: "design_credentials";
133
+ schema: undefined;
134
+ columns: {
135
+ id: import("drizzle-orm/pg-core/index.js").PgColumn<{
136
+ name: "id";
137
+ tableName: "design_credentials";
138
+ dataType: "string";
139
+ columnType: "PgText";
140
+ data: string;
141
+ driverParam: string;
142
+ notNull: true;
143
+ hasDefault: false;
144
+ isPrimaryKey: true;
145
+ isAutoincrement: false;
146
+ hasRuntimeDefault: false;
147
+ enumValues: [string, ...string[]];
148
+ baseColumn: never;
149
+ identity: undefined;
150
+ generated: undefined;
151
+ }, {}, {}>;
152
+ projectId: import("drizzle-orm/pg-core/index.js").PgColumn<{
153
+ name: "project_id";
154
+ tableName: "design_credentials";
155
+ dataType: "string";
156
+ columnType: "PgText";
157
+ data: string;
158
+ driverParam: string;
159
+ notNull: true;
160
+ hasDefault: false;
161
+ isPrimaryKey: false;
162
+ isAutoincrement: false;
163
+ hasRuntimeDefault: false;
164
+ enumValues: [string, ...string[]];
165
+ baseColumn: never;
166
+ identity: undefined;
167
+ generated: undefined;
168
+ }, {}, {}>;
169
+ provider: import("drizzle-orm/pg-core/index.js").PgColumn<{
170
+ name: "provider";
171
+ tableName: "design_credentials";
172
+ dataType: "string";
173
+ columnType: "PgText";
174
+ data: string;
175
+ driverParam: string;
176
+ notNull: true;
177
+ hasDefault: false;
178
+ isPrimaryKey: false;
179
+ isAutoincrement: false;
180
+ hasRuntimeDefault: false;
181
+ enumValues: [string, ...string[]];
182
+ baseColumn: never;
183
+ identity: undefined;
184
+ generated: undefined;
185
+ }, {}, {}>;
186
+ tokenEncrypted: import("drizzle-orm/pg-core/index.js").PgColumn<{
187
+ name: "token_encrypted";
188
+ tableName: "design_credentials";
189
+ dataType: "string";
190
+ columnType: "PgText";
191
+ data: string;
192
+ driverParam: string;
193
+ notNull: true;
194
+ hasDefault: false;
195
+ isPrimaryKey: false;
196
+ isAutoincrement: false;
197
+ hasRuntimeDefault: false;
198
+ enumValues: [string, ...string[]];
199
+ baseColumn: never;
200
+ identity: undefined;
201
+ generated: undefined;
202
+ }, {}, {}>;
203
+ status: import("drizzle-orm/pg-core/index.js").PgColumn<{
204
+ name: "status";
205
+ tableName: "design_credentials";
206
+ dataType: "string";
207
+ columnType: "PgText";
208
+ data: string;
209
+ driverParam: string;
210
+ notNull: true;
211
+ hasDefault: true;
212
+ isPrimaryKey: false;
213
+ isAutoincrement: false;
214
+ hasRuntimeDefault: false;
215
+ enumValues: [string, ...string[]];
216
+ baseColumn: never;
217
+ identity: undefined;
218
+ generated: undefined;
219
+ }, {}, {}>;
220
+ checkedAt: import("drizzle-orm/pg-core/index.js").PgColumn<{
221
+ name: "checked_at";
222
+ tableName: "design_credentials";
223
+ dataType: "string";
224
+ columnType: "PgTimestampString";
225
+ data: string;
226
+ driverParam: string;
227
+ notNull: false;
228
+ hasDefault: false;
229
+ isPrimaryKey: false;
230
+ isAutoincrement: false;
231
+ hasRuntimeDefault: false;
232
+ enumValues: undefined;
233
+ baseColumn: never;
234
+ identity: undefined;
235
+ generated: undefined;
236
+ }, {}, {}>;
237
+ createdAt: import("drizzle-orm/pg-core/index.js").PgColumn<{
238
+ name: "created_at";
239
+ tableName: "design_credentials";
240
+ dataType: "string";
241
+ columnType: "PgTimestampString";
242
+ data: string;
243
+ driverParam: string;
244
+ notNull: true;
245
+ hasDefault: false;
246
+ isPrimaryKey: false;
247
+ isAutoincrement: false;
248
+ hasRuntimeDefault: false;
249
+ enumValues: undefined;
250
+ baseColumn: never;
251
+ identity: undefined;
252
+ generated: undefined;
253
+ }, {}, {}>;
254
+ updatedAt: import("drizzle-orm/pg-core/index.js").PgColumn<{
255
+ name: "updated_at";
256
+ tableName: "design_credentials";
257
+ dataType: "string";
258
+ columnType: "PgTimestampString";
259
+ data: string;
260
+ driverParam: string;
261
+ notNull: true;
262
+ hasDefault: false;
263
+ isPrimaryKey: false;
264
+ isAutoincrement: false;
265
+ hasRuntimeDefault: false;
266
+ enumValues: undefined;
267
+ baseColumn: never;
268
+ identity: undefined;
269
+ generated: undefined;
270
+ }, {}, {}>;
271
+ };
272
+ dialect: 'pg';
273
+ }>;
274
+ /** Narrow `design_nodes` table definition (design metadata + render cache). */
275
+ declare const designNodes: import("drizzle-orm/pg-core/table.js").PgTableWithColumns<{
276
+ name: "design_nodes";
277
+ schema: undefined;
278
+ columns: {
279
+ id: import("drizzle-orm/pg-core/index.js").PgColumn<{
280
+ name: "id";
281
+ tableName: "design_nodes";
282
+ dataType: "string";
283
+ columnType: "PgText";
284
+ data: string;
285
+ driverParam: string;
286
+ notNull: true;
287
+ hasDefault: false;
288
+ isPrimaryKey: true;
289
+ isAutoincrement: false;
290
+ hasRuntimeDefault: false;
291
+ enumValues: [string, ...string[]];
292
+ baseColumn: never;
293
+ identity: undefined;
294
+ generated: undefined;
295
+ }, {}, {}>;
296
+ projectId: import("drizzle-orm/pg-core/index.js").PgColumn<{
297
+ name: "project_id";
298
+ tableName: "design_nodes";
299
+ dataType: "string";
300
+ columnType: "PgText";
301
+ data: string;
302
+ driverParam: string;
303
+ notNull: true;
304
+ hasDefault: false;
305
+ isPrimaryKey: false;
306
+ isAutoincrement: false;
307
+ hasRuntimeDefault: false;
308
+ enumValues: [string, ...string[]];
309
+ baseColumn: never;
310
+ identity: undefined;
311
+ generated: undefined;
312
+ }, {}, {}>;
313
+ provider: import("drizzle-orm/pg-core/index.js").PgColumn<{
314
+ name: "provider";
315
+ tableName: "design_nodes";
316
+ dataType: "string";
317
+ columnType: "PgText";
318
+ data: string;
319
+ driverParam: string;
320
+ notNull: true;
321
+ hasDefault: false;
322
+ isPrimaryKey: false;
323
+ isAutoincrement: false;
324
+ hasRuntimeDefault: false;
325
+ enumValues: [string, ...string[]];
326
+ baseColumn: never;
327
+ identity: undefined;
328
+ generated: undefined;
329
+ }, {}, {}>;
330
+ viewerId: import("drizzle-orm/pg-core/index.js").PgColumn<{
331
+ name: "viewer_id";
332
+ tableName: "design_nodes";
333
+ dataType: "string";
334
+ columnType: "PgText";
335
+ data: string;
336
+ driverParam: string;
337
+ notNull: true;
338
+ hasDefault: true;
339
+ isPrimaryKey: false;
340
+ isAutoincrement: false;
341
+ hasRuntimeDefault: false;
342
+ enumValues: [string, ...string[]];
343
+ baseColumn: never;
344
+ identity: undefined;
345
+ generated: undefined;
346
+ }, {}, {}>;
347
+ fileKey: import("drizzle-orm/pg-core/index.js").PgColumn<{
348
+ name: "file_key";
349
+ tableName: "design_nodes";
350
+ dataType: "string";
351
+ columnType: "PgText";
352
+ data: string;
353
+ driverParam: string;
354
+ notNull: true;
355
+ hasDefault: false;
356
+ isPrimaryKey: false;
357
+ isAutoincrement: false;
358
+ hasRuntimeDefault: false;
359
+ enumValues: [string, ...string[]];
360
+ baseColumn: never;
361
+ identity: undefined;
362
+ generated: undefined;
363
+ }, {}, {}>;
364
+ nodeId: import("drizzle-orm/pg-core/index.js").PgColumn<{
365
+ name: "node_id";
366
+ tableName: "design_nodes";
367
+ dataType: "string";
368
+ columnType: "PgText";
369
+ data: string;
370
+ driverParam: string;
371
+ notNull: true;
372
+ hasDefault: true;
373
+ isPrimaryKey: false;
374
+ isAutoincrement: false;
375
+ hasRuntimeDefault: false;
376
+ enumValues: [string, ...string[]];
377
+ baseColumn: never;
378
+ identity: undefined;
379
+ generated: undefined;
380
+ }, {}, {}>;
381
+ name: import("drizzle-orm/pg-core/index.js").PgColumn<{
382
+ name: "name";
383
+ tableName: "design_nodes";
384
+ dataType: "string";
385
+ columnType: "PgText";
386
+ data: string;
387
+ driverParam: string;
388
+ notNull: false;
389
+ hasDefault: false;
390
+ isPrimaryKey: false;
391
+ isAutoincrement: false;
392
+ hasRuntimeDefault: false;
393
+ enumValues: [string, ...string[]];
394
+ baseColumn: never;
395
+ identity: undefined;
396
+ generated: undefined;
397
+ }, {}, {}>;
398
+ version: import("drizzle-orm/pg-core/index.js").PgColumn<{
399
+ name: "version";
400
+ tableName: "design_nodes";
401
+ dataType: "string";
402
+ columnType: "PgText";
403
+ data: string;
404
+ driverParam: string;
405
+ notNull: false;
406
+ hasDefault: false;
407
+ isPrimaryKey: false;
408
+ isAutoincrement: false;
409
+ hasRuntimeDefault: false;
410
+ enumValues: [string, ...string[]];
411
+ baseColumn: never;
412
+ identity: undefined;
413
+ generated: undefined;
414
+ }, {}, {}>;
415
+ lastModified: import("drizzle-orm/pg-core/index.js").PgColumn<{
416
+ name: "last_modified";
417
+ tableName: "design_nodes";
418
+ dataType: "string";
419
+ columnType: "PgText";
420
+ data: string;
421
+ driverParam: string;
422
+ notNull: false;
423
+ hasDefault: false;
424
+ isPrimaryKey: false;
425
+ isAutoincrement: false;
426
+ hasRuntimeDefault: false;
427
+ enumValues: [string, ...string[]];
428
+ baseColumn: never;
429
+ identity: undefined;
430
+ generated: undefined;
431
+ }, {}, {}>;
432
+ state: import("drizzle-orm/pg-core/index.js").PgColumn<{
433
+ name: "state";
434
+ tableName: "design_nodes";
435
+ dataType: "string";
436
+ columnType: "PgText";
437
+ data: string;
438
+ driverParam: string;
439
+ notNull: true;
440
+ hasDefault: true;
441
+ isPrimaryKey: false;
442
+ isAutoincrement: false;
443
+ hasRuntimeDefault: false;
444
+ enumValues: [string, ...string[]];
445
+ baseColumn: never;
446
+ identity: undefined;
447
+ generated: undefined;
448
+ }, {}, {}>;
449
+ renderPath: import("drizzle-orm/pg-core/index.js").PgColumn<{
450
+ name: "render_path";
451
+ tableName: "design_nodes";
452
+ dataType: "string";
453
+ columnType: "PgText";
454
+ data: string;
455
+ driverParam: string;
456
+ notNull: false;
457
+ hasDefault: false;
458
+ isPrimaryKey: false;
459
+ isAutoincrement: false;
460
+ hasRuntimeDefault: false;
461
+ enumValues: [string, ...string[]];
462
+ baseColumn: never;
463
+ identity: undefined;
464
+ generated: undefined;
465
+ }, {}, {}>;
466
+ renderVersion: import("drizzle-orm/pg-core/index.js").PgColumn<{
467
+ name: "render_version";
468
+ tableName: "design_nodes";
469
+ dataType: "string";
470
+ columnType: "PgText";
471
+ data: string;
472
+ driverParam: string;
473
+ notNull: false;
474
+ hasDefault: false;
475
+ isPrimaryKey: false;
476
+ isAutoincrement: false;
477
+ hasRuntimeDefault: false;
478
+ enumValues: [string, ...string[]];
479
+ baseColumn: never;
480
+ identity: undefined;
481
+ generated: undefined;
482
+ }, {}, {}>;
483
+ fetchedAt: import("drizzle-orm/pg-core/index.js").PgColumn<{
484
+ name: "fetched_at";
485
+ tableName: "design_nodes";
486
+ dataType: "string";
487
+ columnType: "PgTimestampString";
488
+ data: string;
489
+ driverParam: string;
490
+ notNull: true;
491
+ hasDefault: false;
492
+ isPrimaryKey: false;
493
+ isAutoincrement: false;
494
+ hasRuntimeDefault: false;
495
+ enumValues: undefined;
496
+ baseColumn: never;
497
+ identity: undefined;
498
+ generated: undefined;
499
+ }, {}, {}>;
500
+ createdAt: import("drizzle-orm/pg-core/index.js").PgColumn<{
501
+ name: "created_at";
502
+ tableName: "design_nodes";
503
+ dataType: "string";
504
+ columnType: "PgTimestampString";
505
+ data: string;
506
+ driverParam: string;
507
+ notNull: true;
508
+ hasDefault: false;
509
+ isPrimaryKey: false;
510
+ isAutoincrement: false;
511
+ hasRuntimeDefault: false;
512
+ enumValues: undefined;
513
+ baseColumn: never;
514
+ identity: undefined;
515
+ generated: undefined;
516
+ }, {}, {}>;
517
+ updatedAt: import("drizzle-orm/pg-core/index.js").PgColumn<{
518
+ name: "updated_at";
519
+ tableName: "design_nodes";
520
+ dataType: "string";
521
+ columnType: "PgTimestampString";
522
+ data: string;
523
+ driverParam: string;
524
+ notNull: true;
525
+ hasDefault: false;
526
+ isPrimaryKey: false;
527
+ isAutoincrement: false;
528
+ hasRuntimeDefault: false;
529
+ enumValues: undefined;
530
+ baseColumn: never;
531
+ identity: undefined;
532
+ generated: undefined;
533
+ }, {}, {}>;
534
+ };
535
+ dialect: 'pg';
536
+ }>;
537
+ /** A design link: a project-level file link (`importPath` null) or a component mapping override. */
538
+ interface DesignLink {
539
+ id: string;
540
+ projectId: string;
541
+ /** Story file the URL is mapped to; null for a project-level design file link. */
542
+ importPath: string | null;
543
+ /** Display label of a project-level link. */
544
+ label: string | null;
545
+ url: string;
546
+ createdAt: string;
547
+ updatedAt: string;
548
+ }
549
+ /** The project-wide token of a design provider (an admin pastes it; encrypted at rest). */
550
+ interface DesignCredential {
551
+ id: string;
552
+ projectId: string;
553
+ /** Provider `metadata.kind`, e.g. `figma`. */
554
+ provider: string;
555
+ tokenEncrypted: string;
556
+ /** Last API outcome: `unknown` | `ok` | `unauthorized` | `forbidden`. */
557
+ status: string;
558
+ checkedAt: string | null;
559
+ /** When the credential was set or replaced; drives the rotation clock. */
560
+ createdAt: string;
561
+ updatedAt: string;
562
+ }
563
+ /** Cached design file/node metadata, keyed by project, provider, viewer, file key and node id. */
564
+ interface DesignNode {
565
+ id: string;
566
+ projectId: string;
567
+ provider: string;
568
+ /** Whose access fetched the entry: `""` for the project credential, else a user id. */
569
+ viewerId: string;
570
+ fileKey: string;
571
+ /** Provider node id; empty string for a whole-file link. */
572
+ nodeId: string;
573
+ name: string | null;
574
+ version: string | null;
575
+ lastModified: string | null;
576
+ /** `ok` | `deleted` | `unauthorized` | `forbidden`. */
577
+ state: string;
578
+ /** Storage path of the cached PNG render (node links only). */
579
+ renderPath: string | null;
580
+ /** File `version` the cached render was taken at. */
581
+ renderVersion: string | null;
582
+ fetchedAt: string;
583
+ createdAt: string;
584
+ updatedAt: string;
585
+ }
586
+ export { DesignCredential, DesignLink, DesignNode, designCredentials, designLinks, designNodes };
587
+ //# sourceMappingURL=design.d.mts.map
@@ -0,0 +1,72 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { projects } from "./project.mjs";
5
+ import { index, pgTable, text, timestamp, uniqueIndex } from "drizzle-orm/pg-core";
6
+ // src/schema/design.ts
7
+ /** Narrow `design_links` table definition. */
8
+ const designLinks = pgTable("design_links", {
9
+ id: text("id").primaryKey(),
10
+ projectId: text("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
11
+ importPath: text("import_path"),
12
+ label: text("label"),
13
+ url: text("url").notNull(),
14
+ createdAt: timestamp("created_at", {
15
+ withTimezone: true,
16
+ mode: "string"
17
+ }).notNull(),
18
+ updatedAt: timestamp("updated_at", {
19
+ withTimezone: true,
20
+ mode: "string"
21
+ }).notNull()
22
+ }, (t) => [index("design_links_project_id_idx").on(t.projectId), uniqueIndex("design_links_project_import_path_idx").on(t.projectId, t.importPath)]);
23
+ /** Narrow `design_credentials` table definition: the project-wide design-provider token. */
24
+ const designCredentials = pgTable("design_credentials", {
25
+ id: text("id").primaryKey(),
26
+ projectId: text("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
27
+ provider: text("provider").notNull(),
28
+ tokenEncrypted: text("token_encrypted").notNull(),
29
+ status: text("status").notNull().default("unknown"),
30
+ checkedAt: timestamp("checked_at", {
31
+ withTimezone: true,
32
+ mode: "string"
33
+ }),
34
+ createdAt: timestamp("created_at", {
35
+ withTimezone: true,
36
+ mode: "string"
37
+ }).notNull(),
38
+ updatedAt: timestamp("updated_at", {
39
+ withTimezone: true,
40
+ mode: "string"
41
+ }).notNull()
42
+ }, (t) => [uniqueIndex("design_credentials_project_provider_idx").on(t.projectId, t.provider)]);
43
+ /** Narrow `design_nodes` table definition (design metadata + render cache). */
44
+ const designNodes = pgTable("design_nodes", {
45
+ id: text("id").primaryKey(),
46
+ projectId: text("project_id").notNull().references(() => projects.id, { onDelete: "cascade" }),
47
+ provider: text("provider").notNull(),
48
+ viewerId: text("viewer_id").notNull().default(""),
49
+ fileKey: text("file_key").notNull(),
50
+ nodeId: text("node_id").notNull().default(""),
51
+ name: text("name"),
52
+ version: text("version"),
53
+ lastModified: text("last_modified"),
54
+ state: text("state").notNull().default("ok"),
55
+ renderPath: text("render_path"),
56
+ renderVersion: text("render_version"),
57
+ fetchedAt: timestamp("fetched_at", {
58
+ withTimezone: true,
59
+ mode: "string"
60
+ }).notNull(),
61
+ createdAt: timestamp("created_at", {
62
+ withTimezone: true,
63
+ mode: "string"
64
+ }).notNull(),
65
+ updatedAt: timestamp("updated_at", {
66
+ withTimezone: true,
67
+ mode: "string"
68
+ }).notNull()
69
+ }, (t) => [uniqueIndex("design_nodes_project_file_node_idx").on(t.projectId, t.provider, t.viewerId, t.fileKey, t.nodeId)]);
70
+ export { designCredentials, designLinks, designNodes };
71
+
72
+ //# sourceMappingURL=design.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design.mjs","names":[],"sources":["../../src/schema/design.ts"],"sourcesContent":["import { index, pgTable, text, timestamp, uniqueIndex } from \"drizzle-orm/pg-core\";\nimport { projects } from \"./project.ts\";\n\n/** Narrow `design_links` table definition. */\nexport const designLinks = pgTable(\n \"design_links\",\n {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n importPath: text(\"import_path\"),\n label: text(\"label\"),\n url: text(\"url\").notNull(),\n createdAt: timestamp(\"created_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n updatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n },\n (t) => [\n index(\"design_links_project_id_idx\").on(t.projectId),\n // One mapping per story file; project-level links (null import_path) never collide.\n uniqueIndex(\"design_links_project_import_path_idx\").on(t.projectId, t.importPath),\n ],\n);\n\n/** Narrow `design_credentials` table definition: the project-wide design-provider token. */\nexport const designCredentials = pgTable(\n \"design_credentials\",\n {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n provider: text(\"provider\").notNull(),\n tokenEncrypted: text(\"token_encrypted\").notNull(),\n status: text(\"status\").notNull().default(\"unknown\"),\n checkedAt: timestamp(\"checked_at\", { withTimezone: true, mode: \"string\" }),\n createdAt: timestamp(\"created_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n updatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n },\n (t) => [uniqueIndex(\"design_credentials_project_provider_idx\").on(t.projectId, t.provider)],\n);\n\n/** Narrow `design_nodes` table definition (design metadata + render cache). */\nexport const designNodes = pgTable(\n \"design_nodes\",\n {\n id: text(\"id\").primaryKey(),\n projectId: text(\"project_id\")\n .notNull()\n .references(() => projects.id, { onDelete: \"cascade\" }),\n provider: text(\"provider\").notNull(),\n viewerId: text(\"viewer_id\").notNull().default(\"\"),\n fileKey: text(\"file_key\").notNull(),\n nodeId: text(\"node_id\").notNull().default(\"\"),\n name: text(\"name\"),\n version: text(\"version\"),\n lastModified: text(\"last_modified\"),\n state: text(\"state\").notNull().default(\"ok\"),\n renderPath: text(\"render_path\"),\n renderVersion: text(\"render_version\"),\n fetchedAt: timestamp(\"fetched_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n createdAt: timestamp(\"created_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n updatedAt: timestamp(\"updated_at\", { withTimezone: true, mode: \"string\" }).notNull(),\n },\n (t) => [\n uniqueIndex(\"design_nodes_project_file_node_idx\").on(\n t.projectId,\n t.provider,\n t.viewerId,\n t.fileKey,\n t.nodeId,\n ),\n ],\n);\n\n/** A design link: a project-level file link (`importPath` null) or a component mapping override. */\nexport interface DesignLink {\n id: string;\n projectId: string;\n /** Story file the URL is mapped to; null for a project-level design file link. */\n importPath: string | null;\n /** Display label of a project-level link. */\n label: string | null;\n url: string;\n createdAt: string;\n updatedAt: string;\n}\n\n/** The project-wide token of a design provider (an admin pastes it; encrypted at rest). */\nexport interface DesignCredential {\n id: string;\n projectId: string;\n /** Provider `metadata.kind`, e.g. `figma`. */\n provider: string;\n tokenEncrypted: string;\n /** Last API outcome: `unknown` | `ok` | `unauthorized` | `forbidden`. */\n status: string;\n checkedAt: string | null;\n /** When the credential was set or replaced; drives the rotation clock. */\n createdAt: string;\n updatedAt: string;\n}\n\n/** Cached design file/node metadata, keyed by project, provider, viewer, file key and node id. */\nexport interface DesignNode {\n id: string;\n projectId: string;\n provider: string;\n /** Whose access fetched the entry: `\"\"` for the project credential, else a user id. */\n viewerId: string;\n fileKey: string;\n /** Provider node id; empty string for a whole-file link. */\n nodeId: string;\n name: string | null;\n version: string | null;\n lastModified: string | null;\n /** `ok` | `deleted` | `unauthorized` | `forbidden`. */\n state: string;\n /** Storage path of the cached PNG render (node links only). */\n renderPath: string | null;\n /** File `version` the cached render was taken at. */\n renderVersion: string | null;\n fetchedAt: string;\n createdAt: string;\n updatedAt: string;\n}\n"],"mappings":";;;;;;;AAIA,MAAa,cAAc,QACzB,gBACA;CACE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,YAAY,KAAK,aAAa;CAC9B,OAAO,KAAK,OAAO;CACnB,KAAK,KAAK,KAAK,CAAC,CAAC,QAAQ;CACzB,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;CACnF,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;AACrF,IACC,MAAM,CACL,MAAM,6BAA6B,CAAC,CAAC,GAAG,EAAE,SAAS,GAEnD,YAAY,sCAAsC,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,CAClF,CACF;;AAGA,MAAa,oBAAoB,QAC/B,sBACA;CACE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,UAAU,KAAK,UAAU,CAAC,CAAC,QAAQ;CACnC,gBAAgB,KAAK,iBAAiB,CAAC,CAAC,QAAQ;CAChD,QAAQ,KAAK,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,SAAS;CAClD,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC;CACzE,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;CACnF,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;AACrF,IACC,MAAM,CAAC,YAAY,yCAAyC,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,CAC5F;;AAGA,MAAa,cAAc,QACzB,gBACA;CACE,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW;CAC1B,WAAW,KAAK,YAAY,CAAC,CAC1B,QAAQ,CAAC,CACT,iBAAiB,SAAS,IAAI,EAAE,UAAU,UAAU,CAAC;CACxD,UAAU,KAAK,UAAU,CAAC,CAAC,QAAQ;CACnC,UAAU,KAAK,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;CAChD,SAAS,KAAK,UAAU,CAAC,CAAC,QAAQ;CAClC,QAAQ,KAAK,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;CAC5C,MAAM,KAAK,MAAM;CACjB,SAAS,KAAK,SAAS;CACvB,cAAc,KAAK,eAAe;CAClC,OAAO,KAAK,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,IAAI;CAC3C,YAAY,KAAK,aAAa;CAC9B,eAAe,KAAK,gBAAgB;CACpC,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;CACnF,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;CACnF,WAAW,UAAU,cAAc;EAAE,cAAc;EAAM,MAAM;CAAS,CAAC,CAAC,CAAC,QAAQ;AACrF,IACC,MAAM,CACL,YAAY,oCAAoC,CAAC,CAAC,GAChD,EAAE,WACF,EAAE,UACF,EAAE,UACF,EAAE,SACF,EAAE,MACJ,CACF,CACF"}