@kernhq/module-quire 0.3.0 → 0.4.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 (58) hide show
  1. package/dist/contract/events.d.ts +5 -0
  2. package/dist/contract/events.d.ts.map +1 -1
  3. package/dist/contract/events.js +1 -0
  4. package/dist/contract/events.js.map +1 -1
  5. package/dist/contract/index.d.ts +1 -0
  6. package/dist/contract/index.d.ts.map +1 -1
  7. package/dist/contract/index.js +1 -0
  8. package/dist/contract/index.js.map +1 -1
  9. package/dist/contract/models.d.ts +82 -0
  10. package/dist/contract/models.d.ts.map +1 -1
  11. package/dist/contract/models.js +41 -0
  12. package/dist/contract/models.js.map +1 -1
  13. package/dist/contract/notifications.d.ts +9 -0
  14. package/dist/contract/notifications.d.ts.map +1 -0
  15. package/dist/contract/notifications.js +16 -0
  16. package/dist/contract/notifications.js.map +1 -0
  17. package/dist/contract/permissions.d.ts +7 -0
  18. package/dist/contract/permissions.d.ts.map +1 -1
  19. package/dist/contract/permissions.js +8 -0
  20. package/dist/contract/permissions.js.map +1 -1
  21. package/dist/contract/router.d.ts +270 -0
  22. package/dist/contract/router.d.ts.map +1 -1
  23. package/dist/contract/router.js +33 -1
  24. package/dist/contract/router.js.map +1 -1
  25. package/dist/server/_impl.d.ts +303 -0
  26. package/dist/server/_impl.d.ts.map +1 -1
  27. package/dist/server/_impl.js +55 -0
  28. package/dist/server/_impl.js.map +1 -1
  29. package/dist/server/index.d.ts.map +1 -1
  30. package/dist/server/index.js +132 -3
  31. package/dist/server/index.js.map +1 -1
  32. package/dist/server/schema.d.ts +335 -1
  33. package/dist/server/schema.d.ts.map +1 -1
  34. package/dist/server/schema.js +44 -2
  35. package/dist/server/schema.js.map +1 -1
  36. package/dist/server/services/comments.d.ts +172 -0
  37. package/dist/server/services/comments.d.ts.map +1 -0
  38. package/dist/server/services/comments.js +182 -0
  39. package/dist/server/services/comments.js.map +1 -0
  40. package/dist/server/services/index.d.ts +3 -0
  41. package/dist/server/services/index.d.ts.map +1 -1
  42. package/dist/server/services/index.js +3 -0
  43. package/dist/server/services/index.js.map +1 -1
  44. package/dist/server/services/notify.d.ts +24 -0
  45. package/dist/server/services/notify.d.ts.map +1 -0
  46. package/dist/server/services/notify.js +54 -0
  47. package/dist/server/services/notify.js.map +1 -0
  48. package/migrations/0003_comments.sql +30 -0
  49. package/migrations/meta/0003_snapshot.json +668 -0
  50. package/migrations/meta/_journal.json +7 -0
  51. package/package.json +1 -1
  52. package/src/client/index.ts +2 -0
  53. package/src/contract/events.ts +4 -0
  54. package/src/contract/index.ts +1 -0
  55. package/src/contract/models.ts +48 -0
  56. package/src/contract/notifications.ts +17 -0
  57. package/src/contract/permissions.ts +8 -0
  58. package/src/contract/router.ts +47 -1
@@ -0,0 +1,668 @@
1
+ {
2
+ "id": "4d7bf60e-a6e2-4a4a-ba60-4ef95c8a4291",
3
+ "prevId": "09606cee-18e2-41eb-b1a6-44a2bf9856cb",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "mod_quire.comments": {
8
+ "name": "comments",
9
+ "schema": "mod_quire",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "uuid",
14
+ "primaryKey": true,
15
+ "notNull": true,
16
+ "default": "uuidv7()"
17
+ },
18
+ "workspace_id": {
19
+ "name": "workspace_id",
20
+ "type": "uuid",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "page_id": {
25
+ "name": "page_id",
26
+ "type": "uuid",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "parent_id": {
31
+ "name": "parent_id",
32
+ "type": "uuid",
33
+ "primaryKey": false,
34
+ "notNull": false
35
+ },
36
+ "thread_id": {
37
+ "name": "thread_id",
38
+ "type": "uuid",
39
+ "primaryKey": false,
40
+ "notNull": true
41
+ },
42
+ "author_id": {
43
+ "name": "author_id",
44
+ "type": "uuid",
45
+ "primaryKey": false,
46
+ "notNull": false
47
+ },
48
+ "body": {
49
+ "name": "body",
50
+ "type": "jsonb",
51
+ "primaryKey": false,
52
+ "notNull": true,
53
+ "default": "'{}'::jsonb"
54
+ },
55
+ "body_text": {
56
+ "name": "body_text",
57
+ "type": "text",
58
+ "primaryKey": false,
59
+ "notNull": true,
60
+ "default": "''"
61
+ },
62
+ "mention_ids": {
63
+ "name": "mention_ids",
64
+ "type": "uuid[]",
65
+ "primaryKey": false,
66
+ "notNull": true,
67
+ "default": "'{}'::uuid[]"
68
+ },
69
+ "anchor": {
70
+ "name": "anchor",
71
+ "type": "jsonb",
72
+ "primaryKey": false,
73
+ "notNull": false
74
+ },
75
+ "quoted_text": {
76
+ "name": "quoted_text",
77
+ "type": "text",
78
+ "primaryKey": false,
79
+ "notNull": true,
80
+ "default": "''"
81
+ },
82
+ "resolved_at": {
83
+ "name": "resolved_at",
84
+ "type": "timestamp with time zone",
85
+ "primaryKey": false,
86
+ "notNull": false
87
+ },
88
+ "resolved_by": {
89
+ "name": "resolved_by",
90
+ "type": "uuid",
91
+ "primaryKey": false,
92
+ "notNull": false
93
+ },
94
+ "edited_at": {
95
+ "name": "edited_at",
96
+ "type": "timestamp with time zone",
97
+ "primaryKey": false,
98
+ "notNull": false
99
+ },
100
+ "deleted_at": {
101
+ "name": "deleted_at",
102
+ "type": "timestamp with time zone",
103
+ "primaryKey": false,
104
+ "notNull": false
105
+ },
106
+ "created_at": {
107
+ "name": "created_at",
108
+ "type": "timestamp with time zone",
109
+ "primaryKey": false,
110
+ "notNull": true,
111
+ "default": "now()"
112
+ },
113
+ "updated_at": {
114
+ "name": "updated_at",
115
+ "type": "timestamp with time zone",
116
+ "primaryKey": false,
117
+ "notNull": true,
118
+ "default": "now()"
119
+ }
120
+ },
121
+ "indexes": {
122
+ "comments_ws_page_idx": {
123
+ "name": "comments_ws_page_idx",
124
+ "columns": [
125
+ {
126
+ "expression": "workspace_id",
127
+ "isExpression": false,
128
+ "asc": true,
129
+ "nulls": "last"
130
+ },
131
+ {
132
+ "expression": "page_id",
133
+ "isExpression": false,
134
+ "asc": true,
135
+ "nulls": "last"
136
+ },
137
+ {
138
+ "expression": "created_at",
139
+ "isExpression": false,
140
+ "asc": true,
141
+ "nulls": "last"
142
+ }
143
+ ],
144
+ "isUnique": false,
145
+ "concurrently": false,
146
+ "method": "btree",
147
+ "with": {}
148
+ },
149
+ "comments_ws_thread_idx": {
150
+ "name": "comments_ws_thread_idx",
151
+ "columns": [
152
+ {
153
+ "expression": "workspace_id",
154
+ "isExpression": false,
155
+ "asc": true,
156
+ "nulls": "last"
157
+ },
158
+ {
159
+ "expression": "thread_id",
160
+ "isExpression": false,
161
+ "asc": true,
162
+ "nulls": "last"
163
+ },
164
+ {
165
+ "expression": "created_at",
166
+ "isExpression": false,
167
+ "asc": true,
168
+ "nulls": "last"
169
+ }
170
+ ],
171
+ "isUnique": false,
172
+ "concurrently": false,
173
+ "method": "btree",
174
+ "with": {}
175
+ }
176
+ },
177
+ "foreignKeys": {},
178
+ "compositePrimaryKeys": {},
179
+ "uniqueConstraints": {},
180
+ "policies": {},
181
+ "checkConstraints": {},
182
+ "isRLSEnabled": false
183
+ },
184
+ "mod_quire.page_versions": {
185
+ "name": "page_versions",
186
+ "schema": "mod_quire",
187
+ "columns": {
188
+ "id": {
189
+ "name": "id",
190
+ "type": "uuid",
191
+ "primaryKey": true,
192
+ "notNull": true,
193
+ "default": "uuidv7()"
194
+ },
195
+ "workspace_id": {
196
+ "name": "workspace_id",
197
+ "type": "uuid",
198
+ "primaryKey": false,
199
+ "notNull": true
200
+ },
201
+ "page_id": {
202
+ "name": "page_id",
203
+ "type": "uuid",
204
+ "primaryKey": false,
205
+ "notNull": true
206
+ },
207
+ "kind": {
208
+ "name": "kind",
209
+ "type": "text",
210
+ "primaryKey": false,
211
+ "notNull": true,
212
+ "default": "'auto'"
213
+ },
214
+ "label": {
215
+ "name": "label",
216
+ "type": "text",
217
+ "primaryKey": false,
218
+ "notNull": false
219
+ },
220
+ "state": {
221
+ "name": "state",
222
+ "type": "bytea",
223
+ "primaryKey": false,
224
+ "notNull": true
225
+ },
226
+ "snapshot": {
227
+ "name": "snapshot",
228
+ "type": "bytea",
229
+ "primaryKey": false,
230
+ "notNull": false
231
+ },
232
+ "text": {
233
+ "name": "text",
234
+ "type": "text",
235
+ "primaryKey": false,
236
+ "notNull": true,
237
+ "default": "''"
238
+ },
239
+ "size": {
240
+ "name": "size",
241
+ "type": "integer",
242
+ "primaryKey": false,
243
+ "notNull": true,
244
+ "default": 0
245
+ },
246
+ "author_id": {
247
+ "name": "author_id",
248
+ "type": "uuid",
249
+ "primaryKey": false,
250
+ "notNull": false
251
+ },
252
+ "created_at": {
253
+ "name": "created_at",
254
+ "type": "timestamp with time zone",
255
+ "primaryKey": false,
256
+ "notNull": true,
257
+ "default": "now()"
258
+ }
259
+ },
260
+ "indexes": {
261
+ "page_versions_ws_page_idx": {
262
+ "name": "page_versions_ws_page_idx",
263
+ "columns": [
264
+ {
265
+ "expression": "workspace_id",
266
+ "isExpression": false,
267
+ "asc": true,
268
+ "nulls": "last"
269
+ },
270
+ {
271
+ "expression": "page_id",
272
+ "isExpression": false,
273
+ "asc": true,
274
+ "nulls": "last"
275
+ },
276
+ {
277
+ "expression": "created_at",
278
+ "isExpression": false,
279
+ "asc": true,
280
+ "nulls": "last"
281
+ }
282
+ ],
283
+ "isUnique": false,
284
+ "concurrently": false,
285
+ "method": "btree",
286
+ "with": {}
287
+ },
288
+ "page_versions_ws_created_idx": {
289
+ "name": "page_versions_ws_created_idx",
290
+ "columns": [
291
+ {
292
+ "expression": "workspace_id",
293
+ "isExpression": false,
294
+ "asc": true,
295
+ "nulls": "last"
296
+ },
297
+ {
298
+ "expression": "created_at",
299
+ "isExpression": false,
300
+ "asc": true,
301
+ "nulls": "last"
302
+ }
303
+ ],
304
+ "isUnique": false,
305
+ "concurrently": false,
306
+ "method": "btree",
307
+ "with": {}
308
+ }
309
+ },
310
+ "foreignKeys": {},
311
+ "compositePrimaryKeys": {},
312
+ "uniqueConstraints": {},
313
+ "policies": {},
314
+ "checkConstraints": {},
315
+ "isRLSEnabled": false
316
+ },
317
+ "mod_quire.pages": {
318
+ "name": "pages",
319
+ "schema": "mod_quire",
320
+ "columns": {
321
+ "id": {
322
+ "name": "id",
323
+ "type": "uuid",
324
+ "primaryKey": true,
325
+ "notNull": true,
326
+ "default": "uuidv7()"
327
+ },
328
+ "workspace_id": {
329
+ "name": "workspace_id",
330
+ "type": "uuid",
331
+ "primaryKey": false,
332
+ "notNull": true
333
+ },
334
+ "space_id": {
335
+ "name": "space_id",
336
+ "type": "uuid",
337
+ "primaryKey": false,
338
+ "notNull": true
339
+ },
340
+ "parent_id": {
341
+ "name": "parent_id",
342
+ "type": "uuid",
343
+ "primaryKey": false,
344
+ "notNull": false
345
+ },
346
+ "position": {
347
+ "name": "position",
348
+ "type": "text",
349
+ "primaryKey": false,
350
+ "notNull": true
351
+ },
352
+ "kind": {
353
+ "name": "kind",
354
+ "type": "text",
355
+ "primaryKey": false,
356
+ "notNull": true,
357
+ "default": "'page'"
358
+ },
359
+ "title": {
360
+ "name": "title",
361
+ "type": "text",
362
+ "primaryKey": false,
363
+ "notNull": true,
364
+ "default": "''"
365
+ },
366
+ "icon": {
367
+ "name": "icon",
368
+ "type": "text",
369
+ "primaryKey": false,
370
+ "notNull": false
371
+ },
372
+ "cover_url": {
373
+ "name": "cover_url",
374
+ "type": "text",
375
+ "primaryKey": false,
376
+ "notNull": false
377
+ },
378
+ "published_version_id": {
379
+ "name": "published_version_id",
380
+ "type": "uuid",
381
+ "primaryKey": false,
382
+ "notNull": false
383
+ },
384
+ "has_unpublished_changes": {
385
+ "name": "has_unpublished_changes",
386
+ "type": "boolean",
387
+ "primaryKey": false,
388
+ "notNull": true,
389
+ "default": false
390
+ },
391
+ "text": {
392
+ "name": "text",
393
+ "type": "text",
394
+ "primaryKey": false,
395
+ "notNull": true,
396
+ "default": "''"
397
+ },
398
+ "created_by": {
399
+ "name": "created_by",
400
+ "type": "uuid",
401
+ "primaryKey": false,
402
+ "notNull": false
403
+ },
404
+ "updated_by": {
405
+ "name": "updated_by",
406
+ "type": "uuid",
407
+ "primaryKey": false,
408
+ "notNull": false
409
+ },
410
+ "created_at": {
411
+ "name": "created_at",
412
+ "type": "timestamp with time zone",
413
+ "primaryKey": false,
414
+ "notNull": true,
415
+ "default": "now()"
416
+ },
417
+ "updated_at": {
418
+ "name": "updated_at",
419
+ "type": "timestamp with time zone",
420
+ "primaryKey": false,
421
+ "notNull": true,
422
+ "default": "now()"
423
+ },
424
+ "archived_at": {
425
+ "name": "archived_at",
426
+ "type": "timestamp with time zone",
427
+ "primaryKey": false,
428
+ "notNull": false
429
+ },
430
+ "deleted_at": {
431
+ "name": "deleted_at",
432
+ "type": "timestamp with time zone",
433
+ "primaryKey": false,
434
+ "notNull": false
435
+ }
436
+ },
437
+ "indexes": {
438
+ "pages_ws_space_idx": {
439
+ "name": "pages_ws_space_idx",
440
+ "columns": [
441
+ {
442
+ "expression": "workspace_id",
443
+ "isExpression": false,
444
+ "asc": true,
445
+ "nulls": "last"
446
+ },
447
+ {
448
+ "expression": "space_id",
449
+ "isExpression": false,
450
+ "asc": true,
451
+ "nulls": "last"
452
+ },
453
+ {
454
+ "expression": "position",
455
+ "isExpression": false,
456
+ "asc": true,
457
+ "nulls": "last"
458
+ }
459
+ ],
460
+ "isUnique": false,
461
+ "concurrently": false,
462
+ "method": "btree",
463
+ "with": {}
464
+ },
465
+ "pages_ws_parent_idx": {
466
+ "name": "pages_ws_parent_idx",
467
+ "columns": [
468
+ {
469
+ "expression": "workspace_id",
470
+ "isExpression": false,
471
+ "asc": true,
472
+ "nulls": "last"
473
+ },
474
+ {
475
+ "expression": "parent_id",
476
+ "isExpression": false,
477
+ "asc": true,
478
+ "nulls": "last"
479
+ },
480
+ {
481
+ "expression": "position",
482
+ "isExpression": false,
483
+ "asc": true,
484
+ "nulls": "last"
485
+ }
486
+ ],
487
+ "isUnique": false,
488
+ "concurrently": false,
489
+ "method": "btree",
490
+ "with": {}
491
+ },
492
+ "pages_ws_updated_idx": {
493
+ "name": "pages_ws_updated_idx",
494
+ "columns": [
495
+ {
496
+ "expression": "workspace_id",
497
+ "isExpression": false,
498
+ "asc": true,
499
+ "nulls": "last"
500
+ },
501
+ {
502
+ "expression": "updated_at",
503
+ "isExpression": false,
504
+ "asc": true,
505
+ "nulls": "last"
506
+ }
507
+ ],
508
+ "isUnique": false,
509
+ "concurrently": false,
510
+ "method": "btree",
511
+ "with": {}
512
+ }
513
+ },
514
+ "foreignKeys": {},
515
+ "compositePrimaryKeys": {},
516
+ "uniqueConstraints": {},
517
+ "policies": {},
518
+ "checkConstraints": {},
519
+ "isRLSEnabled": false
520
+ },
521
+ "mod_quire.spaces": {
522
+ "name": "spaces",
523
+ "schema": "mod_quire",
524
+ "columns": {
525
+ "id": {
526
+ "name": "id",
527
+ "type": "uuid",
528
+ "primaryKey": true,
529
+ "notNull": true,
530
+ "default": "uuidv7()"
531
+ },
532
+ "workspace_id": {
533
+ "name": "workspace_id",
534
+ "type": "uuid",
535
+ "primaryKey": false,
536
+ "notNull": true
537
+ },
538
+ "key": {
539
+ "name": "key",
540
+ "type": "text",
541
+ "primaryKey": false,
542
+ "notNull": true
543
+ },
544
+ "name": {
545
+ "name": "name",
546
+ "type": "text",
547
+ "primaryKey": false,
548
+ "notNull": true
549
+ },
550
+ "description": {
551
+ "name": "description",
552
+ "type": "text",
553
+ "primaryKey": false,
554
+ "notNull": true,
555
+ "default": "''"
556
+ },
557
+ "icon": {
558
+ "name": "icon",
559
+ "type": "text",
560
+ "primaryKey": false,
561
+ "notNull": false
562
+ },
563
+ "visibility": {
564
+ "name": "visibility",
565
+ "type": "text",
566
+ "primaryKey": false,
567
+ "notNull": true,
568
+ "default": "'open'"
569
+ },
570
+ "homepage_id": {
571
+ "name": "homepage_id",
572
+ "type": "uuid",
573
+ "primaryKey": false,
574
+ "notNull": false
575
+ },
576
+ "created_by": {
577
+ "name": "created_by",
578
+ "type": "uuid",
579
+ "primaryKey": false,
580
+ "notNull": false
581
+ },
582
+ "created_at": {
583
+ "name": "created_at",
584
+ "type": "timestamp with time zone",
585
+ "primaryKey": false,
586
+ "notNull": true,
587
+ "default": "now()"
588
+ },
589
+ "updated_at": {
590
+ "name": "updated_at",
591
+ "type": "timestamp with time zone",
592
+ "primaryKey": false,
593
+ "notNull": true,
594
+ "default": "now()"
595
+ },
596
+ "archived_at": {
597
+ "name": "archived_at",
598
+ "type": "timestamp with time zone",
599
+ "primaryKey": false,
600
+ "notNull": false
601
+ }
602
+ },
603
+ "indexes": {
604
+ "spaces_ws_key_uq": {
605
+ "name": "spaces_ws_key_uq",
606
+ "columns": [
607
+ {
608
+ "expression": "workspace_id",
609
+ "isExpression": false,
610
+ "asc": true,
611
+ "nulls": "last"
612
+ },
613
+ {
614
+ "expression": "key",
615
+ "isExpression": false,
616
+ "asc": true,
617
+ "nulls": "last"
618
+ }
619
+ ],
620
+ "isUnique": true,
621
+ "concurrently": false,
622
+ "method": "btree",
623
+ "with": {}
624
+ },
625
+ "spaces_ws_idx": {
626
+ "name": "spaces_ws_idx",
627
+ "columns": [
628
+ {
629
+ "expression": "workspace_id",
630
+ "isExpression": false,
631
+ "asc": true,
632
+ "nulls": "last"
633
+ },
634
+ {
635
+ "expression": "created_at",
636
+ "isExpression": false,
637
+ "asc": true,
638
+ "nulls": "last"
639
+ }
640
+ ],
641
+ "isUnique": false,
642
+ "concurrently": false,
643
+ "method": "btree",
644
+ "with": {}
645
+ }
646
+ },
647
+ "foreignKeys": {},
648
+ "compositePrimaryKeys": {},
649
+ "uniqueConstraints": {},
650
+ "policies": {},
651
+ "checkConstraints": {},
652
+ "isRLSEnabled": false
653
+ }
654
+ },
655
+ "enums": {},
656
+ "schemas": {
657
+ "mod_quire": "mod_quire"
658
+ },
659
+ "sequences": {},
660
+ "roles": {},
661
+ "policies": {},
662
+ "views": {},
663
+ "_meta": {
664
+ "columns": {},
665
+ "schemas": {},
666
+ "tables": {}
667
+ }
668
+ }
@@ -22,6 +22,13 @@
22
22
  "when": 1787572772745,
23
23
  "tag": "0002_page_versions",
24
24
  "breakpoints": true
25
+ },
26
+ {
27
+ "idx": 3,
28
+ "version": "7",
29
+ "when": 1787600694344,
30
+ "tag": "0003_comments",
31
+ "breakpoints": true
25
32
  }
26
33
  ]
27
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kernhq/module-quire",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Kern Quire: collaborative documents, spaces and page trees",
5
5
  "homepage": "https://kernaio.com",
6
6
  "license": "AGPL-3.0-only",
@@ -28,9 +28,11 @@ export {
28
28
  type Page,
29
29
  type PageKind,
30
30
  type PageNode,
31
+ type PageVersion,
31
32
  quirePermissions,
32
33
  type Space,
33
34
  type SpaceVisibility,
35
+ type VersionKind,
34
36
  } from '../contract/index.js'
35
37
  export * from './rank.js'
36
38