@headless-lms/adapter-db 0.3.0 → 0.5.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 (123) hide show
  1. package/dist/client.d.ts +8 -2
  2. package/dist/client.js +10 -2
  3. package/dist/client.js.map +1 -1
  4. package/dist/index.d.ts +10 -4
  5. package/dist/index.js +9 -3
  6. package/dist/repositories/admin.d.ts +12 -4
  7. package/dist/repositories/admin.js +165 -23
  8. package/dist/repositories/admin.js.map +1 -1
  9. package/dist/repositories/assets.d.ts +2 -2
  10. package/dist/repositories/assets.js +11 -5
  11. package/dist/repositories/assets.js.map +1 -1
  12. package/dist/repositories/automations.d.ts +0 -1
  13. package/dist/repositories/automations.js +2 -18
  14. package/dist/repositories/automations.js.map +1 -1
  15. package/dist/repositories/chats.d.ts +14 -5
  16. package/dist/repositories/chats.js +194 -85
  17. package/dist/repositories/chats.js.map +1 -1
  18. package/dist/repositories/content.d.ts +24 -7
  19. package/dist/repositories/content.js +229 -48
  20. package/dist/repositories/content.js.map +1 -1
  21. package/dist/repositories/credentials.js +1 -1
  22. package/dist/repositories/devices.d.ts +17 -0
  23. package/dist/repositories/devices.js +75 -0
  24. package/dist/repositories/devices.js.map +1 -0
  25. package/dist/repositories/digest-runs.d.ts +14 -0
  26. package/dist/repositories/digest-runs.js +39 -0
  27. package/dist/repositories/digest-runs.js.map +1 -0
  28. package/dist/repositories/discussion.d.ts +7 -2
  29. package/dist/repositories/discussion.js +18 -7
  30. package/dist/repositories/discussion.js.map +1 -1
  31. package/dist/repositories/entitlements.d.ts +11 -9
  32. package/dist/repositories/entitlements.js +56 -59
  33. package/dist/repositories/entitlements.js.map +1 -1
  34. package/dist/repositories/event-reports.d.ts +16 -0
  35. package/dist/repositories/event-reports.js +199 -0
  36. package/dist/repositories/event-reports.js.map +1 -0
  37. package/dist/repositories/grant-covers.d.ts +4 -3
  38. package/dist/repositories/grant-covers.js +7 -4
  39. package/dist/repositories/grant-covers.js.map +1 -1
  40. package/dist/repositories/identity.js +1 -1
  41. package/dist/repositories/inserted-row.d.ts +5 -0
  42. package/dist/repositories/inserted-row.js +7 -0
  43. package/dist/repositories/inserted-row.js.map +1 -0
  44. package/dist/repositories/integrations.js +1 -1
  45. package/dist/repositories/member.d.ts +12 -4
  46. package/dist/repositories/member.js +19 -7
  47. package/dist/repositories/member.js.map +1 -1
  48. package/dist/repositories/members.d.ts +2 -5
  49. package/dist/repositories/members.js +39 -94
  50. package/dist/repositories/members.js.map +1 -1
  51. package/dist/repositories/mentions.d.ts +17 -0
  52. package/dist/repositories/mentions.js +55 -0
  53. package/dist/repositories/mentions.js.map +1 -0
  54. package/dist/repositories/notification-settings.d.ts +19 -0
  55. package/dist/repositories/notification-settings.js +67 -0
  56. package/dist/repositories/notification-settings.js.map +1 -0
  57. package/dist/repositories/notifications.d.ts +23 -16
  58. package/dist/repositories/notifications.js +152 -44
  59. package/dist/repositories/notifications.js.map +1 -1
  60. package/dist/repositories/org-user-profile.d.ts +0 -17
  61. package/dist/repositories/org-user-profile.js +0 -1
  62. package/dist/repositories/org-user-profile.js.map +1 -1
  63. package/dist/repositories/organizations.d.ts +4 -4
  64. package/dist/repositories/organizations.js +25 -47
  65. package/dist/repositories/organizations.js.map +1 -1
  66. package/dist/repositories/outbox.d.ts +5 -1
  67. package/dist/repositories/outbox.js +12 -3
  68. package/dist/repositories/outbox.js.map +1 -1
  69. package/dist/repositories/posts.d.ts +4 -8
  70. package/dist/repositories/posts.js +26 -29
  71. package/dist/repositories/posts.js.map +1 -1
  72. package/dist/repositories/progress.js +1 -1
  73. package/dist/repositories/roles.d.ts +35 -0
  74. package/dist/repositories/roles.js +244 -0
  75. package/dist/repositories/roles.js.map +1 -0
  76. package/dist/repositories/settings.js +1 -1
  77. package/dist/repositories/subscriptions.d.ts +18 -0
  78. package/dist/repositories/subscriptions.js +72 -0
  79. package/dist/repositories/subscriptions.js.map +1 -0
  80. package/dist/schema/assets.d.ts +17 -0
  81. package/dist/schema/assets.js +1 -0
  82. package/dist/schema/assets.js.map +1 -1
  83. package/dist/schema/automations.d.ts +524 -19
  84. package/dist/schema/automations.js +73 -7
  85. package/dist/schema/automations.js.map +1 -1
  86. package/dist/schema/content.d.ts +437 -3
  87. package/dist/schema/content.js +70 -3
  88. package/dist/schema/content.js.map +1 -1
  89. package/dist/schema/discussion.d.ts +295 -128
  90. package/dist/schema/discussion.js +63 -26
  91. package/dist/schema/discussion.js.map +1 -1
  92. package/dist/schema/identity.d.ts +109 -109
  93. package/dist/schema/identity.js +28 -70
  94. package/dist/schema/identity.js.map +1 -1
  95. package/dist/schema/index.d.ts +7 -6
  96. package/dist/schema/index.js +16 -7
  97. package/dist/schema/index.js.map +1 -1
  98. package/dist/schema/organizations.d.ts +5 -22
  99. package/dist/schema/organizations.js +1 -13
  100. package/dist/schema/organizations.js.map +1 -1
  101. package/dist/schema/roles.d.ts +369 -0
  102. package/dist/schema/roles.js +71 -0
  103. package/dist/schema/roles.js.map +1 -0
  104. package/drizzle/0011_digest_runs.sql +8 -0
  105. package/drizzle/0012_subscriptions.sql +16 -0
  106. package/drizzle/0013_mentions.sql +10 -0
  107. package/drizzle/0014_notification_settings_devices.sql +36 -0
  108. package/drizzle/0015_automations_drop_source.sql +2 -0
  109. package/drizzle/0016_notifications_automations.sql +48 -0
  110. package/drizzle/0017_configurable_roles.sql +38 -0
  111. package/drizzle/0018_messages_client_id.sql +2 -0
  112. package/drizzle/0019_events.sql +44 -0
  113. package/drizzle/meta/0011_snapshot.json +8868 -0
  114. package/drizzle/meta/0012_snapshot.json +8873 -0
  115. package/drizzle/meta/0013_snapshot.json +8943 -0
  116. package/drizzle/meta/0014_snapshot.json +9305 -0
  117. package/drizzle/meta/0015_snapshot.json +9270 -0
  118. package/drizzle/meta/0016_snapshot.json +9230 -0
  119. package/drizzle/meta/0017_snapshot.json +9518 -0
  120. package/drizzle/meta/0018_snapshot.json +9557 -0
  121. package/drizzle/meta/0019_snapshot.json +9919 -0
  122. package/drizzle/meta/_journal.json +63 -0
  123. package/package.json +2 -2
@@ -180,7 +180,7 @@ declare const posts: import("drizzle-orm/pg-core").PgTableWithColumns<{
180
180
  tableName: "posts";
181
181
  dataType: "string";
182
182
  columnType: "PgText";
183
- data: "pending" | "draft" | "published" | "scheduled" | "removed";
183
+ data: "pending" | "draft" | "scheduled" | "published" | "removed";
184
184
  driverParam: string;
185
185
  notNull: true;
186
186
  hasDefault: true;
@@ -440,98 +440,6 @@ declare const postReactions: import("drizzle-orm/pg-core").PgTableWithColumns<{
440
440
  };
441
441
  dialect: "pg";
442
442
  }>;
443
- declare const postFollows: import("drizzle-orm/pg-core").PgTableWithColumns<{
444
- name: "post_follows";
445
- schema: undefined;
446
- columns: {
447
- orgId: import("drizzle-orm/pg-core").PgColumn<{
448
- name: "org_id";
449
- tableName: "post_follows";
450
- dataType: "string";
451
- columnType: "PgText";
452
- data: string;
453
- driverParam: string;
454
- notNull: true;
455
- hasDefault: false;
456
- isPrimaryKey: false;
457
- isAutoincrement: false;
458
- hasRuntimeDefault: false;
459
- enumValues: [string, ...string[]];
460
- baseColumn: never;
461
- identity: undefined;
462
- generated: undefined;
463
- }, {}, {}>;
464
- postId: import("drizzle-orm/pg-core").PgColumn<{
465
- name: "post_id";
466
- tableName: "post_follows";
467
- dataType: "string";
468
- columnType: "PgText";
469
- data: string;
470
- driverParam: string;
471
- notNull: true;
472
- hasDefault: false;
473
- isPrimaryKey: false;
474
- isAutoincrement: false;
475
- hasRuntimeDefault: false;
476
- enumValues: [string, ...string[]];
477
- baseColumn: never;
478
- identity: undefined;
479
- generated: undefined;
480
- }, {}, {}>;
481
- orgUserId: import("drizzle-orm/pg-core").PgColumn<{
482
- name: "org_user_id";
483
- tableName: "post_follows";
484
- dataType: "string";
485
- columnType: "PgText";
486
- data: string;
487
- driverParam: string;
488
- notNull: true;
489
- hasDefault: false;
490
- isPrimaryKey: false;
491
- isAutoincrement: false;
492
- hasRuntimeDefault: false;
493
- enumValues: [string, ...string[]];
494
- baseColumn: never;
495
- identity: undefined;
496
- generated: undefined;
497
- }, {}, {}>;
498
- createdAt: import("drizzle-orm/pg-core").PgColumn<{
499
- name: "created_at";
500
- tableName: "post_follows";
501
- dataType: "date";
502
- columnType: "PgTimestamp";
503
- data: Date;
504
- driverParam: string;
505
- notNull: true;
506
- hasDefault: true;
507
- isPrimaryKey: false;
508
- isAutoincrement: false;
509
- hasRuntimeDefault: false;
510
- enumValues: undefined;
511
- baseColumn: never;
512
- identity: undefined;
513
- generated: undefined;
514
- }, {}, {}>;
515
- updatedAt: import("drizzle-orm/pg-core").PgColumn<{
516
- name: "updated_at";
517
- tableName: "post_follows";
518
- dataType: "date";
519
- columnType: "PgTimestamp";
520
- data: Date;
521
- driverParam: string;
522
- notNull: true;
523
- hasDefault: true;
524
- isPrimaryKey: false;
525
- isAutoincrement: false;
526
- hasRuntimeDefault: false;
527
- enumValues: undefined;
528
- baseColumn: never;
529
- identity: undefined;
530
- generated: undefined;
531
- }, {}, {}>;
532
- };
533
- dialect: "pg";
534
- }>;
535
443
  declare const postBookmarks: import("drizzle-orm/pg-core").PgTableWithColumns<{
536
444
  name: "post_bookmarks";
537
445
  schema: undefined;
@@ -1598,40 +1506,6 @@ declare const chatUsers: import("drizzle-orm/pg-core").PgTableWithColumns<{
1598
1506
  identity: undefined;
1599
1507
  generated: undefined;
1600
1508
  }, {}, {}>;
1601
- muted: import("drizzle-orm/pg-core").PgColumn<{
1602
- name: "muted";
1603
- tableName: "chat_users";
1604
- dataType: "boolean";
1605
- columnType: "PgBoolean";
1606
- data: boolean;
1607
- driverParam: boolean;
1608
- notNull: true;
1609
- hasDefault: true;
1610
- isPrimaryKey: false;
1611
- isAutoincrement: false;
1612
- hasRuntimeDefault: false;
1613
- enumValues: undefined;
1614
- baseColumn: never;
1615
- identity: undefined;
1616
- generated: undefined;
1617
- }, {}, {}>;
1618
- mutedUntil: import("drizzle-orm/pg-core").PgColumn<{
1619
- name: "muted_until";
1620
- tableName: "chat_users";
1621
- dataType: "date";
1622
- columnType: "PgTimestamp";
1623
- data: Date;
1624
- driverParam: string;
1625
- notNull: false;
1626
- hasDefault: false;
1627
- isPrimaryKey: false;
1628
- isAutoincrement: false;
1629
- hasRuntimeDefault: false;
1630
- enumValues: undefined;
1631
- baseColumn: never;
1632
- identity: undefined;
1633
- generated: undefined;
1634
- }, {}, {}>;
1635
1509
  createdAt: import("drizzle-orm/pg-core").PgColumn<{
1636
1510
  name: "created_at";
1637
1511
  tableName: "chat_users";
@@ -1792,6 +1666,23 @@ declare const messages: import("drizzle-orm/pg-core").PgTableWithColumns<{
1792
1666
  identity: undefined;
1793
1667
  generated: undefined;
1794
1668
  }, {}, {}>;
1669
+ clientId: import("drizzle-orm/pg-core").PgColumn<{
1670
+ name: "client_id";
1671
+ tableName: "messages";
1672
+ dataType: "string";
1673
+ columnType: "PgUUID";
1674
+ data: string;
1675
+ driverParam: string;
1676
+ notNull: false;
1677
+ hasDefault: false;
1678
+ isPrimaryKey: false;
1679
+ isAutoincrement: false;
1680
+ hasRuntimeDefault: false;
1681
+ enumValues: undefined;
1682
+ baseColumn: never;
1683
+ identity: undefined;
1684
+ generated: undefined;
1685
+ }, {}, {}>;
1795
1686
  editedAt: import("drizzle-orm/pg-core").PgColumn<{
1796
1687
  name: "edited_at";
1797
1688
  tableName: "messages";
@@ -2418,6 +2309,282 @@ declare const blockedUsers: import("drizzle-orm/pg-core").PgTableWithColumns<{
2418
2309
  };
2419
2310
  dialect: "pg";
2420
2311
  }>;
2312
+ declare const digestRuns: import("drizzle-orm/pg-core").PgTableWithColumns<{
2313
+ name: "digest_runs";
2314
+ schema: undefined;
2315
+ columns: {
2316
+ orgId: import("drizzle-orm/pg-core").PgColumn<{
2317
+ name: "org_id";
2318
+ tableName: "digest_runs";
2319
+ dataType: "string";
2320
+ columnType: "PgText";
2321
+ data: string;
2322
+ driverParam: string;
2323
+ notNull: true;
2324
+ hasDefault: false;
2325
+ isPrimaryKey: false;
2326
+ isAutoincrement: false;
2327
+ hasRuntimeDefault: false;
2328
+ enumValues: [string, ...string[]];
2329
+ baseColumn: never;
2330
+ identity: undefined;
2331
+ generated: undefined;
2332
+ }, {}, {}>;
2333
+ communityId: import("drizzle-orm/pg-core").PgColumn<{
2334
+ name: "community_id";
2335
+ tableName: "digest_runs";
2336
+ dataType: "string";
2337
+ columnType: "PgText";
2338
+ data: string;
2339
+ driverParam: string;
2340
+ notNull: true;
2341
+ hasDefault: false;
2342
+ isPrimaryKey: false;
2343
+ isAutoincrement: false;
2344
+ hasRuntimeDefault: false;
2345
+ enumValues: [string, ...string[]];
2346
+ baseColumn: never;
2347
+ identity: undefined;
2348
+ generated: undefined;
2349
+ }, {}, {}>;
2350
+ lastDueAt: import("drizzle-orm/pg-core").PgColumn<{
2351
+ name: "last_due_at";
2352
+ tableName: "digest_runs";
2353
+ dataType: "date";
2354
+ columnType: "PgTimestamp";
2355
+ data: Date;
2356
+ driverParam: string;
2357
+ notNull: true;
2358
+ hasDefault: false;
2359
+ isPrimaryKey: false;
2360
+ isAutoincrement: false;
2361
+ hasRuntimeDefault: false;
2362
+ enumValues: undefined;
2363
+ baseColumn: never;
2364
+ identity: undefined;
2365
+ generated: undefined;
2366
+ }, {}, {}>;
2367
+ };
2368
+ dialect: "pg";
2369
+ }>;
2370
+ declare const subscriptions: import("drizzle-orm/pg-core").PgTableWithColumns<{
2371
+ name: "subscriptions";
2372
+ schema: undefined;
2373
+ columns: {
2374
+ orgId: import("drizzle-orm/pg-core").PgColumn<{
2375
+ name: "org_id";
2376
+ tableName: "subscriptions";
2377
+ dataType: "string";
2378
+ columnType: "PgText";
2379
+ data: string;
2380
+ driverParam: string;
2381
+ notNull: true;
2382
+ hasDefault: false;
2383
+ isPrimaryKey: false;
2384
+ isAutoincrement: false;
2385
+ hasRuntimeDefault: false;
2386
+ enumValues: [string, ...string[]];
2387
+ baseColumn: never;
2388
+ identity: undefined;
2389
+ generated: undefined;
2390
+ }, {}, {}>;
2391
+ orgUserId: import("drizzle-orm/pg-core").PgColumn<{
2392
+ name: "org_user_id";
2393
+ tableName: "subscriptions";
2394
+ dataType: "string";
2395
+ columnType: "PgText";
2396
+ data: string;
2397
+ driverParam: string;
2398
+ notNull: true;
2399
+ hasDefault: false;
2400
+ isPrimaryKey: false;
2401
+ isAutoincrement: false;
2402
+ hasRuntimeDefault: false;
2403
+ enumValues: [string, ...string[]];
2404
+ baseColumn: never;
2405
+ identity: undefined;
2406
+ generated: undefined;
2407
+ }, {}, {}>;
2408
+ itemType: import("drizzle-orm/pg-core").PgColumn<{
2409
+ name: "item_type";
2410
+ tableName: "subscriptions";
2411
+ dataType: "string";
2412
+ columnType: "PgText";
2413
+ data: "space" | "post" | "chat";
2414
+ driverParam: string;
2415
+ notNull: true;
2416
+ hasDefault: false;
2417
+ isPrimaryKey: false;
2418
+ isAutoincrement: false;
2419
+ hasRuntimeDefault: false;
2420
+ enumValues: ["post", "space", "chat"];
2421
+ baseColumn: never;
2422
+ identity: undefined;
2423
+ generated: undefined;
2424
+ }, {}, {}>;
2425
+ itemId: import("drizzle-orm/pg-core").PgColumn<{
2426
+ name: "item_id";
2427
+ tableName: "subscriptions";
2428
+ dataType: "string";
2429
+ columnType: "PgText";
2430
+ data: string;
2431
+ driverParam: string;
2432
+ notNull: true;
2433
+ hasDefault: false;
2434
+ isPrimaryKey: false;
2435
+ isAutoincrement: false;
2436
+ hasRuntimeDefault: false;
2437
+ enumValues: [string, ...string[]];
2438
+ baseColumn: never;
2439
+ identity: undefined;
2440
+ generated: undefined;
2441
+ }, {}, {}>;
2442
+ state: import("drizzle-orm/pg-core").PgColumn<{
2443
+ name: "state";
2444
+ tableName: "subscriptions";
2445
+ dataType: "string";
2446
+ columnType: "PgText";
2447
+ data: "following" | "muted";
2448
+ driverParam: string;
2449
+ notNull: true;
2450
+ hasDefault: false;
2451
+ isPrimaryKey: false;
2452
+ isAutoincrement: false;
2453
+ hasRuntimeDefault: false;
2454
+ enumValues: ["following", "muted"];
2455
+ baseColumn: never;
2456
+ identity: undefined;
2457
+ generated: undefined;
2458
+ }, {}, {}>;
2459
+ mutedUntil: import("drizzle-orm/pg-core").PgColumn<{
2460
+ name: "muted_until";
2461
+ tableName: "subscriptions";
2462
+ dataType: "date";
2463
+ columnType: "PgTimestamp";
2464
+ data: Date;
2465
+ driverParam: string;
2466
+ notNull: false;
2467
+ hasDefault: false;
2468
+ isPrimaryKey: false;
2469
+ isAutoincrement: false;
2470
+ hasRuntimeDefault: false;
2471
+ enumValues: undefined;
2472
+ baseColumn: never;
2473
+ identity: undefined;
2474
+ generated: undefined;
2475
+ }, {}, {}>;
2476
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
2477
+ name: "created_at";
2478
+ tableName: "subscriptions";
2479
+ dataType: "date";
2480
+ columnType: "PgTimestamp";
2481
+ data: Date;
2482
+ driverParam: string;
2483
+ notNull: true;
2484
+ hasDefault: true;
2485
+ isPrimaryKey: false;
2486
+ isAutoincrement: false;
2487
+ hasRuntimeDefault: false;
2488
+ enumValues: undefined;
2489
+ baseColumn: never;
2490
+ identity: undefined;
2491
+ generated: undefined;
2492
+ }, {}, {}>;
2493
+ };
2494
+ dialect: "pg";
2495
+ }>;
2496
+ declare const mentions: import("drizzle-orm/pg-core").PgTableWithColumns<{
2497
+ name: "mentions";
2498
+ schema: undefined;
2499
+ columns: {
2500
+ orgId: import("drizzle-orm/pg-core").PgColumn<{
2501
+ name: "org_id";
2502
+ tableName: "mentions";
2503
+ dataType: "string";
2504
+ columnType: "PgText";
2505
+ data: string;
2506
+ driverParam: string;
2507
+ notNull: true;
2508
+ hasDefault: false;
2509
+ isPrimaryKey: false;
2510
+ isAutoincrement: false;
2511
+ hasRuntimeDefault: false;
2512
+ enumValues: [string, ...string[]];
2513
+ baseColumn: never;
2514
+ identity: undefined;
2515
+ generated: undefined;
2516
+ }, {}, {}>;
2517
+ itemType: import("drizzle-orm/pg-core").PgColumn<{
2518
+ name: "item_type";
2519
+ tableName: "mentions";
2520
+ dataType: "string";
2521
+ columnType: "PgText";
2522
+ data: "comment" | "post" | "message";
2523
+ driverParam: string;
2524
+ notNull: true;
2525
+ hasDefault: false;
2526
+ isPrimaryKey: false;
2527
+ isAutoincrement: false;
2528
+ hasRuntimeDefault: false;
2529
+ enumValues: ["post", "comment", "message"];
2530
+ baseColumn: never;
2531
+ identity: undefined;
2532
+ generated: undefined;
2533
+ }, {}, {}>;
2534
+ itemId: import("drizzle-orm/pg-core").PgColumn<{
2535
+ name: "item_id";
2536
+ tableName: "mentions";
2537
+ dataType: "string";
2538
+ columnType: "PgText";
2539
+ data: string;
2540
+ driverParam: string;
2541
+ notNull: true;
2542
+ hasDefault: false;
2543
+ isPrimaryKey: false;
2544
+ isAutoincrement: false;
2545
+ hasRuntimeDefault: false;
2546
+ enumValues: [string, ...string[]];
2547
+ baseColumn: never;
2548
+ identity: undefined;
2549
+ generated: undefined;
2550
+ }, {}, {}>;
2551
+ orgUserId: import("drizzle-orm/pg-core").PgColumn<{
2552
+ name: "org_user_id";
2553
+ tableName: "mentions";
2554
+ dataType: "string";
2555
+ columnType: "PgText";
2556
+ data: string;
2557
+ driverParam: string;
2558
+ notNull: true;
2559
+ hasDefault: false;
2560
+ isPrimaryKey: false;
2561
+ isAutoincrement: false;
2562
+ hasRuntimeDefault: false;
2563
+ enumValues: [string, ...string[]];
2564
+ baseColumn: never;
2565
+ identity: undefined;
2566
+ generated: undefined;
2567
+ }, {}, {}>;
2568
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
2569
+ name: "created_at";
2570
+ tableName: "mentions";
2571
+ dataType: "date";
2572
+ columnType: "PgTimestamp";
2573
+ data: Date;
2574
+ driverParam: string;
2575
+ notNull: true;
2576
+ hasDefault: true;
2577
+ isPrimaryKey: false;
2578
+ isAutoincrement: false;
2579
+ hasRuntimeDefault: false;
2580
+ enumValues: undefined;
2581
+ baseColumn: never;
2582
+ identity: undefined;
2583
+ generated: undefined;
2584
+ }, {}, {}>;
2585
+ };
2586
+ dialect: "pg";
2587
+ }>;
2421
2588
  //#endregion
2422
- export { blockedUsers, chatUsers, chats, commentFlags, commentReactions, comments, messageAttachments, messageFlags, messageReactions, messages, postBookmarks, postFlags, postFollows, postReactions, posts };
2589
+ export { blockedUsers, chatUsers, chats, commentFlags, commentReactions, comments, digestRuns, mentions, messageAttachments, messageFlags, messageReactions, messages, postBookmarks, postFlags, postReactions, posts, subscriptions };
2423
2590
  //# sourceMappingURL=discussion.d.ts.map
@@ -2,7 +2,7 @@ import { assets } from "./assets.js";
2
2
  import { activities, communities, spaceTopics, spaces } from "./content.js";
3
3
  import { orgUsers, organizations } from "./organizations.js";
4
4
  import { desc, sql } from "drizzle-orm";
5
- import { boolean, check, foreignKey, index, integer, jsonb, pgTable, primaryKey, text, timestamp, unique } from "drizzle-orm/pg-core";
5
+ import { boolean, check, foreignKey, index, integer, jsonb, pgTable, primaryKey, text, timestamp, unique, uniqueIndex, uuid } from "drizzle-orm/pg-core";
6
6
  import { genId } from "@headless-lms/core/shared/id";
7
7
  //#region src/schema/discussion.ts
8
8
  const posts = pgTable("posts", {
@@ -98,27 +98,6 @@ const postReactions = pgTable("post_reactions", {
98
98
  foreignColumns: [orgUsers.orgId, orgUsers.id]
99
99
  }).onDelete("cascade")
100
100
  }));
101
- const postFollows = pgTable("post_follows", {
102
- orgId: text("org_id").notNull().references(() => organizations.id),
103
- postId: text("post_id").notNull(),
104
- orgUserId: text("org_user_id").notNull(),
105
- createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
106
- updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow().$onUpdate(() => /* @__PURE__ */ new Date())
107
- }, (t) => ({
108
- pk: primaryKey({ columns: [
109
- t.orgId,
110
- t.postId,
111
- t.orgUserId
112
- ] }),
113
- postFk: foreignKey({
114
- columns: [t.orgId, t.postId],
115
- foreignColumns: [posts.orgId, posts.id]
116
- }).onDelete("cascade"),
117
- orgUserFk: foreignKey({
118
- columns: [t.orgId, t.orgUserId],
119
- foreignColumns: [orgUsers.orgId, orgUsers.id]
120
- }).onDelete("cascade")
121
- }));
122
101
  const postBookmarks = pgTable("post_bookmarks", {
123
102
  orgId: text("org_id").notNull().references(() => organizations.id),
124
103
  postId: text("post_id").notNull(),
@@ -305,8 +284,6 @@ const chatUsers = pgTable("chat_users", {
305
284
  joinedAt: timestamp("joined_at", { withTimezone: true }).notNull().defaultNow(),
306
285
  leftAt: timestamp("left_at", { withTimezone: true }),
307
286
  lastReadMessageId: text("last_read_message_id"),
308
- muted: boolean("muted").notNull().default(false),
309
- mutedUntil: timestamp("muted_until", { withTimezone: true }),
310
287
  createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
311
288
  updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow().$onUpdate(() => /* @__PURE__ */ new Date())
312
289
  }, (t) => ({
@@ -341,6 +318,7 @@ const messages = pgTable("messages", {
341
318
  orgUserId: text("org_user_id").notNull(),
342
319
  body: text("body").notNull(),
343
320
  replyToId: text("reply_to_id"),
321
+ clientId: uuid("client_id"),
344
322
  editedAt: timestamp("edited_at", { withTimezone: true }),
345
323
  deletedAt: timestamp("deleted_at", { withTimezone: true }),
346
324
  createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
@@ -369,7 +347,8 @@ const messages = pgTable("messages", {
369
347
  foreignColumns: [t.orgId, t.id]
370
348
  }),
371
349
  chatIdx: index("messages_chat_idx").on(t.orgId, t.chatId, t.createdAt),
372
- replyIdx: index("messages_reply_idx").on(t.orgId, t.replyToId)
350
+ replyIdx: index("messages_reply_idx").on(t.orgId, t.replyToId),
351
+ clientUq: uniqueIndex("messages_client_id_uq").on(t.orgId, t.chatId, t.orgUserId, t.clientId)
373
352
  }));
374
353
  const messageAttachments = pgTable("message_attachments", {
375
354
  orgId: text("org_id").notNull().references(() => organizations.id),
@@ -500,7 +479,65 @@ const blockedUsers = pgTable("blocked_users", {
500
479
  }).onDelete("cascade"),
501
480
  blockedIdx: index("blocked_users_blocked_idx").on(t.orgId, t.communityId, t.blockedOrgUserId)
502
481
  }));
482
+ const digestRuns = pgTable("digest_runs", {
483
+ orgId: text("org_id").notNull(),
484
+ communityId: text("community_id").notNull(),
485
+ lastDueAt: timestamp("last_due_at", { withTimezone: true }).notNull()
486
+ }, (t) => ({
487
+ pk: primaryKey({ columns: [t.orgId, t.communityId] }),
488
+ communityFk: foreignKey({
489
+ columns: [t.orgId, t.communityId],
490
+ foreignColumns: [communities.orgId, communities.id]
491
+ }).onDelete("cascade")
492
+ }));
493
+ const subscriptions = pgTable("subscriptions", {
494
+ orgId: text("org_id").notNull(),
495
+ orgUserId: text("org_user_id").notNull(),
496
+ itemType: text("item_type", { enum: [
497
+ "post",
498
+ "space",
499
+ "chat"
500
+ ] }).notNull(),
501
+ itemId: text("item_id").notNull(),
502
+ state: text("state", { enum: ["following", "muted"] }).notNull(),
503
+ mutedUntil: timestamp("muted_until", { withTimezone: true }),
504
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow()
505
+ }, (t) => ({
506
+ pk: primaryKey({ columns: [
507
+ t.orgId,
508
+ t.orgUserId,
509
+ t.itemType,
510
+ t.itemId
511
+ ] }),
512
+ orgUserFk: foreignKey({
513
+ columns: [t.orgId, t.orgUserId],
514
+ foreignColumns: [orgUsers.orgId, orgUsers.id]
515
+ }).onDelete("cascade"),
516
+ itemIdx: index("subscriptions_item_idx").on(t.orgId, t.itemType, t.itemId, t.state)
517
+ }));
518
+ const mentions = pgTable("mentions", {
519
+ orgId: text("org_id").notNull(),
520
+ itemType: text("item_type", { enum: [
521
+ "post",
522
+ "comment",
523
+ "message"
524
+ ] }).notNull(),
525
+ itemId: text("item_id").notNull(),
526
+ orgUserId: text("org_user_id").notNull(),
527
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow()
528
+ }, (t) => ({
529
+ pk: primaryKey({ columns: [
530
+ t.orgId,
531
+ t.itemType,
532
+ t.itemId,
533
+ t.orgUserId
534
+ ] }),
535
+ orgUserFk: foreignKey({
536
+ columns: [t.orgId, t.orgUserId],
537
+ foreignColumns: [orgUsers.orgId, orgUsers.id]
538
+ }).onDelete("cascade")
539
+ }));
503
540
  //#endregion
504
- export { blockedUsers, chatUsers, chats, commentFlags, commentReactions, comments, messageAttachments, messageFlags, messageReactions, messages, postBookmarks, postFlags, postFollows, postReactions, posts };
541
+ export { blockedUsers, chatUsers, chats, commentFlags, commentReactions, comments, digestRuns, mentions, messageAttachments, messageFlags, messageReactions, messages, postBookmarks, postFlags, postReactions, posts, subscriptions };
505
542
 
506
543
  //# sourceMappingURL=discussion.js.map