@better-forge/notify 0.0.0-stage → 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 (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -3
  3. package/dist/alertPolicy.d.ts +41 -0
  4. package/dist/alertPolicy.d.ts.map +1 -0
  5. package/dist/alertPolicy.js +137 -0
  6. package/dist/alertPolicy.js.map +1 -0
  7. package/dist/channelInput.d.ts +34 -0
  8. package/dist/channelInput.d.ts.map +1 -0
  9. package/dist/channelInput.js +156 -0
  10. package/dist/channelInput.js.map +1 -0
  11. package/dist/channelSecrets.d.ts +8 -0
  12. package/dist/channelSecrets.d.ts.map +1 -0
  13. package/dist/channelSecrets.js +17 -0
  14. package/dist/channelSecrets.js.map +1 -0
  15. package/dist/engine.d.ts +68 -0
  16. package/dist/engine.d.ts.map +1 -0
  17. package/dist/engine.js +314 -0
  18. package/dist/engine.js.map +1 -0
  19. package/dist/index.d.ts +12 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +12 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/migrations.d.ts +907 -0
  24. package/dist/migrations.d.ts.map +1 -0
  25. package/dist/migrations.js +86 -0
  26. package/dist/migrations.js.map +1 -0
  27. package/dist/notice.d.ts +55 -0
  28. package/dist/notice.d.ts.map +1 -0
  29. package/dist/notice.js +25 -0
  30. package/dist/notice.js.map +1 -0
  31. package/dist/routes.d.ts +74 -0
  32. package/dist/routes.d.ts.map +1 -0
  33. package/dist/routes.js +302 -0
  34. package/dist/routes.js.map +1 -0
  35. package/dist/tables.d.ts +919 -0
  36. package/dist/tables.d.ts.map +1 -0
  37. package/dist/tables.js +68 -0
  38. package/dist/tables.js.map +1 -0
  39. package/dist/template.d.ts +35 -0
  40. package/dist/template.d.ts.map +1 -0
  41. package/dist/template.js +72 -0
  42. package/dist/template.js.map +1 -0
  43. package/dist/transports.d.ts +50 -0
  44. package/dist/transports.d.ts.map +1 -0
  45. package/dist/transports.js +274 -0
  46. package/dist/transports.js.map +1 -0
  47. package/dist/worker.d.ts +25 -0
  48. package/dist/worker.d.ts.map +1 -0
  49. package/dist/worker.js +38 -0
  50. package/dist/worker.js.map +1 -0
  51. package/package.json +59 -6
  52. package/src/alertPolicy.ts +149 -0
  53. package/src/channelInput.ts +153 -0
  54. package/src/channelSecrets.ts +20 -0
  55. package/src/engine.ts +423 -0
  56. package/src/index.ts +16 -0
  57. package/src/migrations.ts +88 -0
  58. package/src/notice.ts +68 -0
  59. package/src/routes.ts +362 -0
  60. package/src/tables.ts +96 -0
  61. package/src/template.ts +76 -0
  62. package/src/transports.ts +351 -0
  63. package/src/worker.ts +58 -0
@@ -0,0 +1,919 @@
1
+ import { type SealedText } from '@better-forge/vault';
2
+ /**
3
+ * How the application names what the notification tables store about it. The tables of an existing installation keep
4
+ * the column names they were created with, so the names are passed in instead of being fixed here.
5
+ */
6
+ export interface NotifyTableOptions {
7
+ /** Column of a delivery that holds the id of the thing the notification is about (it may be empty). */
8
+ sourceIdColumn: string;
9
+ /** Column of a delivery that holds the name of that thing. */
10
+ sourceNameColumn: string;
11
+ /** Default sender name of the SMTP settings. */
12
+ smtpFromName: string;
13
+ /** Creates the stable `key` of a channel that is inserted without one. */
14
+ newKey: () => string;
15
+ /**
16
+ * The text columns that hold credentials: a channel's configuration (JSON) and the SMTP password. Build them with
17
+ * `sealedText` from the codecs that encrypt the secrets; without them the values are stored as they are.
18
+ */
19
+ sealed?: {
20
+ channelConfig: SealedText;
21
+ smtpPassword: SealedText;
22
+ };
23
+ }
24
+ export declare function defineNotifyTables(options: NotifyTableOptions): {
25
+ notificationChannels: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
26
+ name: "notification_channels";
27
+ schema: undefined;
28
+ columns: {
29
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
30
+ name: "id";
31
+ tableName: "notification_channels";
32
+ dataType: "number";
33
+ columnType: "SQLiteInteger";
34
+ data: number;
35
+ driverParam: number;
36
+ notNull: true;
37
+ hasDefault: true;
38
+ isPrimaryKey: true;
39
+ isAutoincrement: false;
40
+ hasRuntimeDefault: false;
41
+ enumValues: undefined;
42
+ baseColumn: never;
43
+ identity: undefined;
44
+ generated: undefined;
45
+ }, {}, {}>;
46
+ name: import("drizzle-orm/sqlite-core").SQLiteColumn<{
47
+ name: "name";
48
+ tableName: "notification_channels";
49
+ dataType: "string";
50
+ columnType: "SQLiteText";
51
+ data: string;
52
+ driverParam: string;
53
+ notNull: true;
54
+ hasDefault: false;
55
+ isPrimaryKey: false;
56
+ isAutoincrement: false;
57
+ hasRuntimeDefault: false;
58
+ enumValues: [string, ...string[]];
59
+ baseColumn: never;
60
+ identity: undefined;
61
+ generated: undefined;
62
+ }, {}, {
63
+ length: number | undefined;
64
+ }>;
65
+ type: import("drizzle-orm/sqlite-core").SQLiteColumn<{
66
+ name: "type";
67
+ tableName: "notification_channels";
68
+ dataType: "string";
69
+ columnType: "SQLiteText";
70
+ data: string;
71
+ driverParam: string;
72
+ notNull: true;
73
+ hasDefault: false;
74
+ isPrimaryKey: false;
75
+ isAutoincrement: false;
76
+ hasRuntimeDefault: false;
77
+ enumValues: [string, ...string[]];
78
+ baseColumn: never;
79
+ identity: undefined;
80
+ generated: undefined;
81
+ }, {}, {
82
+ length: number | undefined;
83
+ }>;
84
+ config: import("drizzle-orm/sqlite-core").SQLiteColumn<{
85
+ name: "config";
86
+ tableName: "notification_channels";
87
+ dataType: "custom";
88
+ columnType: "SQLiteCustomColumn";
89
+ data: string;
90
+ driverParam: string;
91
+ notNull: true;
92
+ hasDefault: true;
93
+ isPrimaryKey: false;
94
+ isAutoincrement: false;
95
+ hasRuntimeDefault: false;
96
+ enumValues: undefined;
97
+ baseColumn: never;
98
+ identity: undefined;
99
+ generated: undefined;
100
+ }, {}, {
101
+ sqliteColumnBuilderBrand: "SQLiteCustomColumnBuilderBrand";
102
+ }>;
103
+ enabled: import("drizzle-orm/sqlite-core").SQLiteColumn<{
104
+ name: "enabled";
105
+ tableName: "notification_channels";
106
+ dataType: "number";
107
+ columnType: "SQLiteInteger";
108
+ data: number;
109
+ driverParam: number;
110
+ notNull: true;
111
+ hasDefault: true;
112
+ isPrimaryKey: false;
113
+ isAutoincrement: false;
114
+ hasRuntimeDefault: false;
115
+ enumValues: undefined;
116
+ baseColumn: never;
117
+ identity: undefined;
118
+ generated: undefined;
119
+ }, {}, {}>;
120
+ notifyOnRecovery: import("drizzle-orm/sqlite-core").SQLiteColumn<{
121
+ name: "notify_on_recovery";
122
+ tableName: "notification_channels";
123
+ dataType: "number";
124
+ columnType: "SQLiteInteger";
125
+ data: number;
126
+ driverParam: number;
127
+ notNull: true;
128
+ hasDefault: true;
129
+ isPrimaryKey: false;
130
+ isAutoincrement: false;
131
+ hasRuntimeDefault: false;
132
+ enumValues: undefined;
133
+ baseColumn: never;
134
+ identity: undefined;
135
+ generated: undefined;
136
+ }, {}, {}>;
137
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
138
+ name: "created_at";
139
+ tableName: "notification_channels";
140
+ dataType: "number";
141
+ columnType: "SQLiteInteger";
142
+ data: number;
143
+ driverParam: number;
144
+ notNull: true;
145
+ hasDefault: false;
146
+ isPrimaryKey: false;
147
+ isAutoincrement: false;
148
+ hasRuntimeDefault: false;
149
+ enumValues: undefined;
150
+ baseColumn: never;
151
+ identity: undefined;
152
+ generated: undefined;
153
+ }, {}, {}>;
154
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
155
+ name: "updated_at";
156
+ tableName: "notification_channels";
157
+ dataType: "number";
158
+ columnType: "SQLiteInteger";
159
+ data: number;
160
+ driverParam: number;
161
+ notNull: true;
162
+ hasDefault: false;
163
+ isPrimaryKey: false;
164
+ isAutoincrement: false;
165
+ hasRuntimeDefault: false;
166
+ enumValues: undefined;
167
+ baseColumn: never;
168
+ identity: undefined;
169
+ generated: undefined;
170
+ }, {}, {}>;
171
+ alertPolicy: import("drizzle-orm/sqlite-core").SQLiteColumn<{
172
+ name: "alert_policy";
173
+ tableName: "notification_channels";
174
+ dataType: "string";
175
+ columnType: "SQLiteText";
176
+ data: string;
177
+ driverParam: string;
178
+ notNull: true;
179
+ hasDefault: true;
180
+ isPrimaryKey: false;
181
+ isAutoincrement: false;
182
+ hasRuntimeDefault: false;
183
+ enumValues: [string, ...string[]];
184
+ baseColumn: never;
185
+ identity: undefined;
186
+ generated: undefined;
187
+ }, {}, {
188
+ length: number | undefined;
189
+ }>;
190
+ key: import("drizzle-orm/sqlite-core").SQLiteColumn<{
191
+ name: "key";
192
+ tableName: "notification_channels";
193
+ dataType: "string";
194
+ columnType: "SQLiteText";
195
+ data: string;
196
+ driverParam: string;
197
+ notNull: true;
198
+ hasDefault: true;
199
+ isPrimaryKey: false;
200
+ isAutoincrement: false;
201
+ hasRuntimeDefault: true;
202
+ enumValues: [string, ...string[]];
203
+ baseColumn: never;
204
+ identity: undefined;
205
+ generated: undefined;
206
+ }, {}, {
207
+ length: number | undefined;
208
+ }>;
209
+ };
210
+ dialect: "sqlite";
211
+ }>;
212
+ notificationDeliveries: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
213
+ name: "notification_deliveries";
214
+ schema: undefined;
215
+ columns: {
216
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
217
+ name: "id";
218
+ tableName: "notification_deliveries";
219
+ dataType: "number";
220
+ columnType: "SQLiteInteger";
221
+ data: number;
222
+ driverParam: number;
223
+ notNull: true;
224
+ hasDefault: true;
225
+ isPrimaryKey: true;
226
+ isAutoincrement: false;
227
+ hasRuntimeDefault: false;
228
+ enumValues: undefined;
229
+ baseColumn: never;
230
+ identity: undefined;
231
+ generated: undefined;
232
+ }, {}, {}>;
233
+ channelId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
234
+ name: "channel_id";
235
+ tableName: "notification_deliveries";
236
+ dataType: "number";
237
+ columnType: "SQLiteInteger";
238
+ data: number;
239
+ driverParam: number;
240
+ notNull: true;
241
+ hasDefault: false;
242
+ isPrimaryKey: false;
243
+ isAutoincrement: false;
244
+ hasRuntimeDefault: false;
245
+ enumValues: undefined;
246
+ baseColumn: never;
247
+ identity: undefined;
248
+ generated: undefined;
249
+ }, {}, {}>;
250
+ channelName: import("drizzle-orm/sqlite-core").SQLiteColumn<{
251
+ name: "channel_name";
252
+ tableName: "notification_deliveries";
253
+ dataType: "string";
254
+ columnType: "SQLiteText";
255
+ data: string;
256
+ driverParam: string;
257
+ notNull: true;
258
+ hasDefault: false;
259
+ isPrimaryKey: false;
260
+ isAutoincrement: false;
261
+ hasRuntimeDefault: false;
262
+ enumValues: [string, ...string[]];
263
+ baseColumn: never;
264
+ identity: undefined;
265
+ generated: undefined;
266
+ }, {}, {
267
+ length: number | undefined;
268
+ }>;
269
+ channelType: import("drizzle-orm/sqlite-core").SQLiteColumn<{
270
+ name: "channel_type";
271
+ tableName: "notification_deliveries";
272
+ dataType: "string";
273
+ columnType: "SQLiteText";
274
+ data: string;
275
+ driverParam: string;
276
+ notNull: true;
277
+ hasDefault: false;
278
+ isPrimaryKey: false;
279
+ isAutoincrement: false;
280
+ hasRuntimeDefault: false;
281
+ enumValues: [string, ...string[]];
282
+ baseColumn: never;
283
+ identity: undefined;
284
+ generated: undefined;
285
+ }, {}, {
286
+ length: number | undefined;
287
+ }>;
288
+ sourceId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
289
+ name: string;
290
+ tableName: "notification_deliveries";
291
+ dataType: "number";
292
+ columnType: "SQLiteInteger";
293
+ data: number;
294
+ driverParam: number;
295
+ notNull: false;
296
+ hasDefault: false;
297
+ isPrimaryKey: false;
298
+ isAutoincrement: false;
299
+ hasRuntimeDefault: false;
300
+ enumValues: undefined;
301
+ baseColumn: never;
302
+ identity: undefined;
303
+ generated: undefined;
304
+ }, {}, {}>;
305
+ sourceName: import("drizzle-orm/sqlite-core").SQLiteColumn<{
306
+ name: string;
307
+ tableName: "notification_deliveries";
308
+ dataType: "string";
309
+ columnType: "SQLiteText";
310
+ data: string;
311
+ driverParam: string;
312
+ notNull: true;
313
+ hasDefault: false;
314
+ isPrimaryKey: false;
315
+ isAutoincrement: false;
316
+ hasRuntimeDefault: false;
317
+ enumValues: [string, ...string[]];
318
+ baseColumn: never;
319
+ identity: undefined;
320
+ generated: undefined;
321
+ }, {}, {
322
+ length: number | undefined;
323
+ }>;
324
+ eventType: import("drizzle-orm/sqlite-core").SQLiteColumn<{
325
+ name: "event_type";
326
+ tableName: "notification_deliveries";
327
+ dataType: "string";
328
+ columnType: "SQLiteText";
329
+ data: string;
330
+ driverParam: string;
331
+ notNull: true;
332
+ hasDefault: false;
333
+ isPrimaryKey: false;
334
+ isAutoincrement: false;
335
+ hasRuntimeDefault: false;
336
+ enumValues: [string, ...string[]];
337
+ baseColumn: never;
338
+ identity: undefined;
339
+ generated: undefined;
340
+ }, {}, {
341
+ length: number | undefined;
342
+ }>;
343
+ status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
344
+ name: "status";
345
+ tableName: "notification_deliveries";
346
+ dataType: "string";
347
+ columnType: "SQLiteText";
348
+ data: string;
349
+ driverParam: string;
350
+ notNull: true;
351
+ hasDefault: true;
352
+ isPrimaryKey: false;
353
+ isAutoincrement: false;
354
+ hasRuntimeDefault: false;
355
+ enumValues: [string, ...string[]];
356
+ baseColumn: never;
357
+ identity: undefined;
358
+ generated: undefined;
359
+ }, {}, {
360
+ length: number | undefined;
361
+ }>;
362
+ targetStatus: import("drizzle-orm/sqlite-core").SQLiteColumn<{
363
+ name: "target_status";
364
+ tableName: "notification_deliveries";
365
+ dataType: "string";
366
+ columnType: "SQLiteText";
367
+ data: string;
368
+ driverParam: string;
369
+ notNull: true;
370
+ hasDefault: false;
371
+ isPrimaryKey: false;
372
+ isAutoincrement: false;
373
+ hasRuntimeDefault: false;
374
+ enumValues: [string, ...string[]];
375
+ baseColumn: never;
376
+ identity: undefined;
377
+ generated: undefined;
378
+ }, {}, {
379
+ length: number | undefined;
380
+ }>;
381
+ previousStatus: import("drizzle-orm/sqlite-core").SQLiteColumn<{
382
+ name: "previous_status";
383
+ tableName: "notification_deliveries";
384
+ dataType: "string";
385
+ columnType: "SQLiteText";
386
+ data: string;
387
+ driverParam: string;
388
+ notNull: true;
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
+ length: number | undefined;
399
+ }>;
400
+ variables: import("drizzle-orm/sqlite-core").SQLiteColumn<{
401
+ name: "variables";
402
+ tableName: "notification_deliveries";
403
+ dataType: "string";
404
+ columnType: "SQLiteText";
405
+ data: string;
406
+ driverParam: string;
407
+ notNull: true;
408
+ hasDefault: false;
409
+ isPrimaryKey: false;
410
+ isAutoincrement: false;
411
+ hasRuntimeDefault: false;
412
+ enumValues: [string, ...string[]];
413
+ baseColumn: never;
414
+ identity: undefined;
415
+ generated: undefined;
416
+ }, {}, {
417
+ length: number | undefined;
418
+ }>;
419
+ attemptCount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
420
+ name: "attempt_count";
421
+ tableName: "notification_deliveries";
422
+ dataType: "number";
423
+ columnType: "SQLiteInteger";
424
+ data: number;
425
+ driverParam: number;
426
+ notNull: true;
427
+ hasDefault: true;
428
+ isPrimaryKey: false;
429
+ isAutoincrement: false;
430
+ hasRuntimeDefault: false;
431
+ enumValues: undefined;
432
+ baseColumn: never;
433
+ identity: undefined;
434
+ generated: undefined;
435
+ }, {}, {}>;
436
+ maxAttempts: import("drizzle-orm/sqlite-core").SQLiteColumn<{
437
+ name: "max_attempts";
438
+ tableName: "notification_deliveries";
439
+ dataType: "number";
440
+ columnType: "SQLiteInteger";
441
+ data: number;
442
+ driverParam: number;
443
+ notNull: true;
444
+ hasDefault: true;
445
+ isPrimaryKey: false;
446
+ isAutoincrement: false;
447
+ hasRuntimeDefault: false;
448
+ enumValues: undefined;
449
+ baseColumn: never;
450
+ identity: undefined;
451
+ generated: undefined;
452
+ }, {}, {}>;
453
+ nextAttemptAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
454
+ name: "next_attempt_at";
455
+ tableName: "notification_deliveries";
456
+ dataType: "number";
457
+ columnType: "SQLiteInteger";
458
+ data: number;
459
+ driverParam: number;
460
+ notNull: false;
461
+ hasDefault: false;
462
+ isPrimaryKey: false;
463
+ isAutoincrement: false;
464
+ hasRuntimeDefault: false;
465
+ enumValues: undefined;
466
+ baseColumn: never;
467
+ identity: undefined;
468
+ generated: undefined;
469
+ }, {}, {}>;
470
+ lastAttemptAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
471
+ name: "last_attempt_at";
472
+ tableName: "notification_deliveries";
473
+ dataType: "number";
474
+ columnType: "SQLiteInteger";
475
+ data: number;
476
+ driverParam: number;
477
+ notNull: false;
478
+ hasDefault: false;
479
+ isPrimaryKey: false;
480
+ isAutoincrement: false;
481
+ hasRuntimeDefault: false;
482
+ enumValues: undefined;
483
+ baseColumn: never;
484
+ identity: undefined;
485
+ generated: undefined;
486
+ }, {}, {}>;
487
+ deliveredAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
488
+ name: "delivered_at";
489
+ tableName: "notification_deliveries";
490
+ dataType: "number";
491
+ columnType: "SQLiteInteger";
492
+ data: number;
493
+ driverParam: number;
494
+ notNull: false;
495
+ hasDefault: false;
496
+ isPrimaryKey: false;
497
+ isAutoincrement: false;
498
+ hasRuntimeDefault: false;
499
+ enumValues: undefined;
500
+ baseColumn: never;
501
+ identity: undefined;
502
+ generated: undefined;
503
+ }, {}, {}>;
504
+ lastError: import("drizzle-orm/sqlite-core").SQLiteColumn<{
505
+ name: "last_error";
506
+ tableName: "notification_deliveries";
507
+ dataType: "string";
508
+ columnType: "SQLiteText";
509
+ data: string;
510
+ driverParam: string;
511
+ notNull: false;
512
+ hasDefault: false;
513
+ isPrimaryKey: false;
514
+ isAutoincrement: false;
515
+ hasRuntimeDefault: false;
516
+ enumValues: [string, ...string[]];
517
+ baseColumn: never;
518
+ identity: undefined;
519
+ generated: undefined;
520
+ }, {}, {
521
+ length: number | undefined;
522
+ }>;
523
+ createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
524
+ name: "created_at";
525
+ tableName: "notification_deliveries";
526
+ dataType: "number";
527
+ columnType: "SQLiteInteger";
528
+ data: number;
529
+ driverParam: number;
530
+ notNull: true;
531
+ hasDefault: false;
532
+ isPrimaryKey: false;
533
+ isAutoincrement: false;
534
+ hasRuntimeDefault: false;
535
+ enumValues: undefined;
536
+ baseColumn: never;
537
+ identity: undefined;
538
+ generated: undefined;
539
+ }, {}, {}>;
540
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
541
+ name: "updated_at";
542
+ tableName: "notification_deliveries";
543
+ dataType: "number";
544
+ columnType: "SQLiteInteger";
545
+ data: number;
546
+ driverParam: number;
547
+ notNull: true;
548
+ hasDefault: false;
549
+ isPrimaryKey: false;
550
+ isAutoincrement: false;
551
+ hasRuntimeDefault: false;
552
+ enumValues: undefined;
553
+ baseColumn: never;
554
+ identity: undefined;
555
+ generated: undefined;
556
+ }, {}, {}>;
557
+ suppressionReason: import("drizzle-orm/sqlite-core").SQLiteColumn<{
558
+ name: "suppression_reason";
559
+ tableName: "notification_deliveries";
560
+ dataType: "string";
561
+ columnType: "SQLiteText";
562
+ data: string;
563
+ driverParam: string;
564
+ notNull: false;
565
+ hasDefault: false;
566
+ isPrimaryKey: false;
567
+ isAutoincrement: false;
568
+ hasRuntimeDefault: false;
569
+ enumValues: [string, ...string[]];
570
+ baseColumn: never;
571
+ identity: undefined;
572
+ generated: undefined;
573
+ }, {}, {
574
+ length: number | undefined;
575
+ }>;
576
+ groupKey: import("drizzle-orm/sqlite-core").SQLiteColumn<{
577
+ name: "group_key";
578
+ tableName: "notification_deliveries";
579
+ dataType: "string";
580
+ columnType: "SQLiteText";
581
+ data: string;
582
+ driverParam: string;
583
+ notNull: false;
584
+ hasDefault: false;
585
+ isPrimaryKey: false;
586
+ isAutoincrement: false;
587
+ hasRuntimeDefault: false;
588
+ enumValues: [string, ...string[]];
589
+ baseColumn: never;
590
+ identity: undefined;
591
+ generated: undefined;
592
+ }, {}, {
593
+ length: number | undefined;
594
+ }>;
595
+ };
596
+ dialect: "sqlite";
597
+ }>;
598
+ notificationDeliveryAttempts: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
599
+ name: "notification_delivery_attempts";
600
+ schema: undefined;
601
+ columns: {
602
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
603
+ name: "id";
604
+ tableName: "notification_delivery_attempts";
605
+ dataType: "number";
606
+ columnType: "SQLiteInteger";
607
+ data: number;
608
+ driverParam: number;
609
+ notNull: true;
610
+ hasDefault: true;
611
+ isPrimaryKey: true;
612
+ isAutoincrement: false;
613
+ hasRuntimeDefault: false;
614
+ enumValues: undefined;
615
+ baseColumn: never;
616
+ identity: undefined;
617
+ generated: undefined;
618
+ }, {}, {}>;
619
+ deliveryId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
620
+ name: "delivery_id";
621
+ tableName: "notification_delivery_attempts";
622
+ dataType: "number";
623
+ columnType: "SQLiteInteger";
624
+ data: number;
625
+ driverParam: number;
626
+ notNull: true;
627
+ hasDefault: false;
628
+ isPrimaryKey: false;
629
+ isAutoincrement: false;
630
+ hasRuntimeDefault: false;
631
+ enumValues: undefined;
632
+ baseColumn: never;
633
+ identity: undefined;
634
+ generated: undefined;
635
+ }, {}, {}>;
636
+ attemptNumber: import("drizzle-orm/sqlite-core").SQLiteColumn<{
637
+ name: "attempt_number";
638
+ tableName: "notification_delivery_attempts";
639
+ dataType: "number";
640
+ columnType: "SQLiteInteger";
641
+ data: number;
642
+ driverParam: number;
643
+ notNull: true;
644
+ hasDefault: false;
645
+ isPrimaryKey: false;
646
+ isAutoincrement: false;
647
+ hasRuntimeDefault: false;
648
+ enumValues: undefined;
649
+ baseColumn: never;
650
+ identity: undefined;
651
+ generated: undefined;
652
+ }, {}, {}>;
653
+ status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
654
+ name: "status";
655
+ tableName: "notification_delivery_attempts";
656
+ dataType: "string";
657
+ columnType: "SQLiteText";
658
+ data: string;
659
+ driverParam: string;
660
+ notNull: true;
661
+ hasDefault: false;
662
+ isPrimaryKey: false;
663
+ isAutoincrement: false;
664
+ hasRuntimeDefault: false;
665
+ enumValues: [string, ...string[]];
666
+ baseColumn: never;
667
+ identity: undefined;
668
+ generated: undefined;
669
+ }, {}, {
670
+ length: number | undefined;
671
+ }>;
672
+ error: import("drizzle-orm/sqlite-core").SQLiteColumn<{
673
+ name: "error";
674
+ tableName: "notification_delivery_attempts";
675
+ dataType: "string";
676
+ columnType: "SQLiteText";
677
+ data: string;
678
+ driverParam: string;
679
+ notNull: false;
680
+ hasDefault: false;
681
+ isPrimaryKey: false;
682
+ isAutoincrement: false;
683
+ hasRuntimeDefault: false;
684
+ enumValues: [string, ...string[]];
685
+ baseColumn: never;
686
+ identity: undefined;
687
+ generated: undefined;
688
+ }, {}, {
689
+ length: number | undefined;
690
+ }>;
691
+ startedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
692
+ name: "started_at";
693
+ tableName: "notification_delivery_attempts";
694
+ dataType: "number";
695
+ columnType: "SQLiteInteger";
696
+ data: number;
697
+ driverParam: number;
698
+ notNull: true;
699
+ hasDefault: false;
700
+ isPrimaryKey: false;
701
+ isAutoincrement: false;
702
+ hasRuntimeDefault: false;
703
+ enumValues: undefined;
704
+ baseColumn: never;
705
+ identity: undefined;
706
+ generated: undefined;
707
+ }, {}, {}>;
708
+ completedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
709
+ name: "completed_at";
710
+ tableName: "notification_delivery_attempts";
711
+ dataType: "number";
712
+ columnType: "SQLiteInteger";
713
+ data: number;
714
+ driverParam: number;
715
+ notNull: true;
716
+ hasDefault: false;
717
+ isPrimaryKey: false;
718
+ isAutoincrement: false;
719
+ hasRuntimeDefault: false;
720
+ enumValues: undefined;
721
+ baseColumn: never;
722
+ identity: undefined;
723
+ generated: undefined;
724
+ }, {}, {}>;
725
+ };
726
+ dialect: "sqlite";
727
+ }>;
728
+ smtpSettings: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
729
+ name: "smtp_settings";
730
+ schema: undefined;
731
+ columns: {
732
+ id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
733
+ name: "id";
734
+ tableName: "smtp_settings";
735
+ dataType: "number";
736
+ columnType: "SQLiteInteger";
737
+ data: number;
738
+ driverParam: number;
739
+ notNull: true;
740
+ hasDefault: true;
741
+ isPrimaryKey: true;
742
+ isAutoincrement: false;
743
+ hasRuntimeDefault: false;
744
+ enumValues: undefined;
745
+ baseColumn: never;
746
+ identity: undefined;
747
+ generated: undefined;
748
+ }, {}, {}>;
749
+ host: import("drizzle-orm/sqlite-core").SQLiteColumn<{
750
+ name: "host";
751
+ tableName: "smtp_settings";
752
+ dataType: "string";
753
+ columnType: "SQLiteText";
754
+ data: string;
755
+ driverParam: string;
756
+ notNull: true;
757
+ hasDefault: true;
758
+ isPrimaryKey: false;
759
+ isAutoincrement: false;
760
+ hasRuntimeDefault: false;
761
+ enumValues: [string, ...string[]];
762
+ baseColumn: never;
763
+ identity: undefined;
764
+ generated: undefined;
765
+ }, {}, {
766
+ length: number | undefined;
767
+ }>;
768
+ port: import("drizzle-orm/sqlite-core").SQLiteColumn<{
769
+ name: "port";
770
+ tableName: "smtp_settings";
771
+ dataType: "number";
772
+ columnType: "SQLiteInteger";
773
+ data: number;
774
+ driverParam: number;
775
+ notNull: true;
776
+ hasDefault: true;
777
+ isPrimaryKey: false;
778
+ isAutoincrement: false;
779
+ hasRuntimeDefault: false;
780
+ enumValues: undefined;
781
+ baseColumn: never;
782
+ identity: undefined;
783
+ generated: undefined;
784
+ }, {}, {}>;
785
+ secure: import("drizzle-orm/sqlite-core").SQLiteColumn<{
786
+ name: "secure";
787
+ tableName: "smtp_settings";
788
+ dataType: "number";
789
+ columnType: "SQLiteInteger";
790
+ data: number;
791
+ driverParam: number;
792
+ notNull: true;
793
+ hasDefault: true;
794
+ isPrimaryKey: false;
795
+ isAutoincrement: false;
796
+ hasRuntimeDefault: false;
797
+ enumValues: undefined;
798
+ baseColumn: never;
799
+ identity: undefined;
800
+ generated: undefined;
801
+ }, {}, {}>;
802
+ user: import("drizzle-orm/sqlite-core").SQLiteColumn<{
803
+ name: "user";
804
+ tableName: "smtp_settings";
805
+ dataType: "string";
806
+ columnType: "SQLiteText";
807
+ data: string;
808
+ driverParam: string;
809
+ notNull: true;
810
+ hasDefault: true;
811
+ isPrimaryKey: false;
812
+ isAutoincrement: false;
813
+ hasRuntimeDefault: false;
814
+ enumValues: [string, ...string[]];
815
+ baseColumn: never;
816
+ identity: undefined;
817
+ generated: undefined;
818
+ }, {}, {
819
+ length: number | undefined;
820
+ }>;
821
+ password: import("drizzle-orm/sqlite-core").SQLiteColumn<{
822
+ name: "password";
823
+ tableName: "smtp_settings";
824
+ dataType: "custom";
825
+ columnType: "SQLiteCustomColumn";
826
+ data: string;
827
+ driverParam: string;
828
+ notNull: true;
829
+ hasDefault: true;
830
+ isPrimaryKey: false;
831
+ isAutoincrement: false;
832
+ hasRuntimeDefault: false;
833
+ enumValues: undefined;
834
+ baseColumn: never;
835
+ identity: undefined;
836
+ generated: undefined;
837
+ }, {}, {
838
+ sqliteColumnBuilderBrand: "SQLiteCustomColumnBuilderBrand";
839
+ }>;
840
+ fromAddress: import("drizzle-orm/sqlite-core").SQLiteColumn<{
841
+ name: "from_address";
842
+ tableName: "smtp_settings";
843
+ dataType: "string";
844
+ columnType: "SQLiteText";
845
+ data: string;
846
+ driverParam: string;
847
+ notNull: true;
848
+ hasDefault: true;
849
+ isPrimaryKey: false;
850
+ isAutoincrement: false;
851
+ hasRuntimeDefault: false;
852
+ enumValues: [string, ...string[]];
853
+ baseColumn: never;
854
+ identity: undefined;
855
+ generated: undefined;
856
+ }, {}, {
857
+ length: number | undefined;
858
+ }>;
859
+ fromName: import("drizzle-orm/sqlite-core").SQLiteColumn<{
860
+ name: "from_name";
861
+ tableName: "smtp_settings";
862
+ dataType: "string";
863
+ columnType: "SQLiteText";
864
+ data: string;
865
+ driverParam: string;
866
+ notNull: true;
867
+ hasDefault: true;
868
+ isPrimaryKey: false;
869
+ isAutoincrement: false;
870
+ hasRuntimeDefault: false;
871
+ enumValues: [string, ...string[]];
872
+ baseColumn: never;
873
+ identity: undefined;
874
+ generated: undefined;
875
+ }, {}, {
876
+ length: number | undefined;
877
+ }>;
878
+ updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
879
+ name: "updated_at";
880
+ tableName: "smtp_settings";
881
+ dataType: "number";
882
+ columnType: "SQLiteInteger";
883
+ data: number;
884
+ driverParam: number;
885
+ notNull: true;
886
+ hasDefault: false;
887
+ isPrimaryKey: false;
888
+ isAutoincrement: false;
889
+ hasRuntimeDefault: false;
890
+ enumValues: undefined;
891
+ baseColumn: never;
892
+ identity: undefined;
893
+ generated: undefined;
894
+ }, {}, {}>;
895
+ vaultConfig: import("drizzle-orm/sqlite-core").SQLiteColumn<{
896
+ name: "vault_config";
897
+ tableName: "smtp_settings";
898
+ dataType: "string";
899
+ columnType: "SQLiteText";
900
+ data: string;
901
+ driverParam: string;
902
+ notNull: false;
903
+ hasDefault: false;
904
+ isPrimaryKey: false;
905
+ isAutoincrement: false;
906
+ hasRuntimeDefault: false;
907
+ enumValues: [string, ...string[]];
908
+ baseColumn: never;
909
+ identity: undefined;
910
+ generated: undefined;
911
+ }, {}, {
912
+ length: number | undefined;
913
+ }>;
914
+ };
915
+ dialect: "sqlite";
916
+ }>;
917
+ };
918
+ export type NotifyTables = ReturnType<typeof defineNotifyTables>;
919
+ //# sourceMappingURL=tables.d.ts.map