@headless-lms/core 0.4.0 → 0.6.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.
- package/dist/assets/events.d.ts +15 -9
- package/dist/assets/file-urls.d.ts +14 -7
- package/dist/assets/file-urls.js +15 -4
- package/dist/assets/file-urls.js.map +1 -1
- package/dist/assets/index.d.ts +4 -4
- package/dist/assets/index.js +3 -3
- package/dist/assets/ports.d.ts +34 -15
- package/dist/assets/service.d.ts +30 -14
- package/dist/assets/service.js +233 -54
- package/dist/assets/service.js.map +1 -1
- package/dist/automations/actions.js.map +1 -1
- package/dist/automations/catalog.js +68 -3
- package/dist/automations/catalog.js.map +1 -1
- package/dist/automations/community-derivations.js +16 -16
- package/dist/automations/community-derivations.js.map +1 -1
- package/dist/automations/community-mail.d.ts +34 -4
- package/dist/automations/community-mail.js +32 -4
- package/dist/automations/community-mail.js.map +1 -1
- package/dist/automations/event-permissions.d.ts +12 -0
- package/dist/automations/event-permissions.js +38 -0
- package/dist/automations/event-permissions.js.map +1 -0
- package/dist/automations/index.d.ts +2 -1
- package/dist/automations/index.js +2 -1
- package/dist/automations/notifications/applicable.d.ts +8 -0
- package/dist/automations/notifications/applicable.js +12 -0
- package/dist/automations/notifications/applicable.js.map +1 -0
- package/dist/automations/notifications/debounce.js +1 -1
- package/dist/automations/notifications/debounce.js.map +1 -1
- package/dist/automations/notifications/defaults.js +33 -3
- package/dist/automations/notifications/defaults.js.map +1 -1
- package/dist/automations/notifications/processor.js +1 -1
- package/dist/automations/notifications/processor.js.map +1 -1
- package/dist/automations/notifications/rules/content.js +60 -3
- package/dist/automations/notifications/rules/content.js.map +1 -1
- package/dist/automations/notifications/rules/discussion.js +29 -29
- package/dist/automations/notifications/rules/discussion.js.map +1 -1
- package/dist/automations/notifications/rules/entitlements.js +36 -9
- package/dist/automations/notifications/rules/entitlements.js.map +1 -1
- package/dist/automations/notifications/rules/events.d.ts +9 -0
- package/dist/automations/notifications/rules/events.js +27 -0
- package/dist/automations/notifications/rules/events.js.map +1 -0
- package/dist/automations/notifications/rules/organizations.js +17 -10
- package/dist/automations/notifications/rules/organizations.js.map +1 -1
- package/dist/automations/notifications/rules/recipients.js +0 -1
- package/dist/automations/notifications/rules/recipients.js.map +1 -1
- package/dist/automations/notifications/service.d.ts +8 -6
- package/dist/automations/notifications/service.js +12 -12
- package/dist/automations/notifications/service.js.map +1 -1
- package/dist/automations/notifications/types.js +94 -7
- package/dist/automations/notifications/types.js.map +1 -1
- package/dist/automations/ports.d.ts +30 -31
- package/dist/automations/service.d.ts +20 -17
- package/dist/automations/service.js +90 -61
- package/dist/automations/service.js.map +1 -1
- package/dist/content/event-sight.d.ts +11 -0
- package/dist/content/event-sight.js +11 -0
- package/dist/content/event-sight.js.map +1 -0
- package/dist/content/events.d.ts +465 -88
- package/dist/content/events.js +34 -1
- package/dist/content/events.js.map +1 -1
- package/dist/content/index.d.ts +6 -4
- package/dist/content/index.js +3 -1
- package/dist/content/jobs.d.ts +16 -0
- package/dist/content/jobs.js +37 -0
- package/dist/content/jobs.js.map +1 -0
- package/dist/content/model.d.ts +2 -2
- package/dist/content/notification-categories.d.ts +5 -4
- package/dist/content/notification-categories.js +15 -6
- package/dist/content/notification-categories.js.map +1 -1
- package/dist/content/ports.d.ts +113 -68
- package/dist/content/service.d.ts +103 -67
- package/dist/content/service.js +739 -152
- package/dist/content/service.js.map +1 -1
- package/dist/content/titles.d.ts +6 -3
- package/dist/content/titles.js +37 -24
- package/dist/content/titles.js.map +1 -1
- package/dist/content/types.d.ts +2 -2
- package/dist/discussion/authors.d.ts +4 -2
- package/dist/discussion/authors.js +9 -5
- package/dist/discussion/authors.js.map +1 -1
- package/dist/discussion/chats.d.ts +56 -37
- package/dist/discussion/chats.js +392 -160
- package/dist/discussion/chats.js.map +1 -1
- package/dist/discussion/events.d.ts +85 -47
- package/dist/discussion/events.js +41 -3
- package/dist/discussion/events.js.map +1 -1
- package/dist/discussion/index.d.ts +8 -5
- package/dist/discussion/index.js +5 -3
- package/dist/discussion/live.d.ts +106 -0
- package/dist/discussion/live.js +642 -0
- package/dist/discussion/live.js.map +1 -0
- package/dist/discussion/mentions.js +2 -2
- package/dist/discussion/mentions.js.map +1 -1
- package/dist/discussion/ports.d.ts +182 -100
- package/dist/discussion/ports.js.map +1 -1
- package/dist/discussion/posts.d.ts +45 -39
- package/dist/discussion/posts.js +266 -152
- package/dist/discussion/posts.js.map +1 -1
- package/dist/discussion/rules.d.ts +18 -0
- package/dist/discussion/rules.js +22 -0
- package/dist/discussion/rules.js.map +1 -0
- package/dist/discussion/service.d.ts +37 -31
- package/dist/discussion/service.js +250 -186
- package/dist/discussion/service.js.map +1 -1
- package/dist/discussion/subscriptions.d.ts +8 -8
- package/dist/discussion/subscriptions.js +28 -12
- package/dist/discussion/subscriptions.js.map +1 -1
- package/dist/discussion/titles.d.ts +4 -2
- package/dist/discussion/titles.js +27 -13
- package/dist/discussion/titles.js.map +1 -1
- package/dist/entitlements/events.d.ts +58 -58
- package/dist/entitlements/index.d.ts +4 -4
- package/dist/entitlements/index.js +2 -2
- package/dist/entitlements/model.d.ts +2 -2
- package/dist/entitlements/ports.d.ts +65 -39
- package/dist/entitlements/rules.d.ts +3 -6
- package/dist/entitlements/rules.js +5 -10
- package/dist/entitlements/rules.js.map +1 -1
- package/dist/entitlements/service.d.ts +40 -28
- package/dist/entitlements/service.js +369 -162
- package/dist/entitlements/service.js.map +1 -1
- package/dist/identity/devices.d.ts +3 -3
- package/dist/identity/devices.js +6 -4
- package/dist/identity/devices.js.map +1 -1
- package/dist/identity/index.d.ts +2 -2
- package/dist/identity/index.js +2 -2
- package/dist/identity/notification-settings.d.ts +1 -1
- package/dist/identity/notification-settings.js +2 -1
- package/dist/identity/notification-settings.js.map +1 -1
- package/dist/identity/ports.d.ts +7 -7
- package/dist/identity/service.d.ts +8 -7
- package/dist/identity/service.js +16 -12
- package/dist/identity/service.js.map +1 -1
- package/dist/integrations/events.d.ts +3 -3
- package/dist/integrations/ports.d.ts +9 -8
- package/dist/integrations/service.d.ts +9 -8
- package/dist/integrations/service.js +31 -14
- package/dist/integrations/service.js.map +1 -1
- package/dist/organizations/default-roles.d.ts +22 -0
- package/dist/organizations/default-roles.js +89 -0
- package/dist/organizations/default-roles.js.map +1 -0
- package/dist/organizations/effective-permissions.d.ts +47 -0
- package/dist/organizations/effective-permissions.js +118 -0
- package/dist/organizations/effective-permissions.js.map +1 -0
- package/dist/organizations/events.d.ts +326 -181
- package/dist/organizations/events.js +90 -18
- package/dist/organizations/events.js.map +1 -1
- package/dist/organizations/index.d.ts +14 -10
- package/dist/organizations/index.js +7 -3
- package/dist/organizations/members.d.ts +66 -8
- package/dist/organizations/members.js.map +1 -1
- package/dist/organizations/model.d.ts +2 -2
- package/dist/organizations/notification-catalog.d.ts +31 -0
- package/dist/organizations/notification-catalog.js +32 -0
- package/dist/organizations/notification-catalog.js.map +1 -0
- package/dist/organizations/notification-categories.d.ts +6 -4
- package/dist/organizations/notification-categories.js +25 -10
- package/dist/organizations/notification-categories.js.map +1 -1
- package/dist/organizations/org-roles.d.ts +33 -0
- package/dist/organizations/org-roles.js +49 -0
- package/dist/organizations/org-roles.js.map +1 -0
- package/dist/organizations/permissions.d.ts +311 -0
- package/dist/organizations/permissions.js +327 -0
- package/dist/organizations/permissions.js.map +1 -0
- package/dist/organizations/ports.d.ts +187 -65
- package/dist/organizations/service.d.ts +102 -35
- package/dist/organizations/service.js +1254 -327
- package/dist/organizations/service.js.map +1 -1
- package/dist/organizations/testing.d.ts +18 -0
- package/dist/organizations/testing.js +37 -0
- package/dist/organizations/testing.js.map +1 -0
- package/dist/organizations/types.d.ts +5 -16
- package/dist/progress/events.d.ts +14 -14
- package/dist/progress/index.d.ts +2 -2
- package/dist/progress/ports.d.ts +11 -3
- package/dist/progress/service.d.ts +6 -5
- package/dist/progress/service.js +21 -6
- package/dist/progress/service.js.map +1 -1
- package/dist/reporting/admin/index.d.ts +6 -4
- package/dist/reporting/admin/model.d.ts +36 -3
- package/dist/reporting/admin/ports.d.ts +39 -14
- package/dist/reporting/admin/service.d.ts +32 -11
- package/dist/reporting/admin/service.js +102 -18
- package/dist/reporting/admin/service.js.map +1 -1
- package/dist/reporting/events/index.d.ts +27 -0
- package/dist/reporting/events/index.js +20 -0
- package/dist/reporting/events/index.js.map +1 -0
- package/dist/reporting/member/calendar.d.ts +11 -0
- package/dist/reporting/member/calendar.js +75 -0
- package/dist/reporting/member/calendar.js.map +1 -0
- package/dist/reporting/member/index.d.ts +3 -2
- package/dist/reporting/member/model.d.ts +29 -5
- package/dist/reporting/member/ports.d.ts +49 -29
- package/dist/reporting/member/service.d.ts +57 -29
- package/dist/reporting/member/service.js +345 -114
- package/dist/reporting/member/service.js.map +1 -1
- package/dist/shared/actor.d.ts +23 -3
- package/dist/shared/errors.d.ts +2 -1
- package/dist/shared/errors.js +3 -1
- package/dist/shared/errors.js.map +1 -1
- package/dist/shared/id.d.ts +4 -0
- package/dist/shared/id.js +4 -0
- package/dist/shared/id.js.map +1 -1
- package/dist/shared/logger.d.ts +2 -1
- package/dist/shared/logger.js +10 -1
- package/dist/shared/logger.js.map +1 -1
- package/dist/shared/ports.d.ts +25 -5
- package/dist/types/content.d.ts +2 -2
- package/dist/types/discussion.d.ts +4 -5
- package/dist/types/email-templates.d.ts +22 -3
- package/dist/types/entitlements.d.ts +2 -2
- package/dist/types/identity.d.ts +13 -16
- package/dist/types/index.d.ts +9 -9
- package/dist/types/index.js +2 -1
- package/dist/types/notifications.d.ts +4 -4
- package/dist/types/organizations.d.ts +3 -2
- package/dist/types/ports.d.ts +8 -1
- package/dist/types/ports.js +7 -1
- package/dist/types/ports.js.map +1 -0
- package/dist/types/schemas/assets.d.ts +5 -5
- package/dist/types/schemas/assets.js +4 -3
- package/dist/types/schemas/assets.js.map +1 -1
- package/dist/types/schemas/content.d.ts +599 -13
- package/dist/types/schemas/content.js +219 -8
- package/dist/types/schemas/content.js.map +1 -1
- package/dist/types/schemas/discussion.d.ts +280 -57
- package/dist/types/schemas/discussion.js +77 -3
- package/dist/types/schemas/discussion.js.map +1 -1
- package/dist/types/schemas/entitlements.d.ts +21 -8
- package/dist/types/schemas/entitlements.js +11 -4
- package/dist/types/schemas/entitlements.js.map +1 -1
- package/dist/types/schemas/index.d.ts +5 -5
- package/dist/types/schemas/index.js +5 -5
- package/dist/types/schemas/notifications.d.ts +11 -10
- package/dist/types/schemas/notifications.js +3 -2
- package/dist/types/schemas/notifications.js.map +1 -1
- package/dist/types/schemas/organizations.d.ts +99 -60
- package/dist/types/schemas/organizations.js +80 -27
- package/dist/types/schemas/organizations.js.map +1 -1
- package/dist/types/schemas/progress.d.ts +3 -4
- package/dist/types/schemas/progress.js +0 -1
- package/dist/types/schemas/progress.js.map +1 -1
- package/package.json +1 -1
- package/dist/organizations/access-scopes.d.ts +0 -19
- package/dist/organizations/access-scopes.js +0 -89
- package/dist/organizations/access-scopes.js.map +0 -1
- package/dist/organizations/roles.d.ts +0 -19
- package/dist/organizations/roles.js +0 -82
- package/dist/organizations/roles.js.map +0 -1
|
@@ -33,18 +33,18 @@ declare const discussionEvents: {
|
|
|
33
33
|
updatedAt: unknown;
|
|
34
34
|
mentionedOrgUserIds: string[];
|
|
35
35
|
}, z.ZodObject<{
|
|
36
|
-
id: z.ZodString;
|
|
37
36
|
orgId: z.ZodString;
|
|
38
|
-
|
|
39
|
-
createdAt: z.ZodCoercedDate<unknown>;
|
|
40
|
-
updatedAt: z.ZodCoercedDate<unknown>;
|
|
37
|
+
id: z.ZodString;
|
|
41
38
|
status: z.ZodEnum<{
|
|
42
39
|
pending: "pending";
|
|
43
40
|
published: "published";
|
|
44
41
|
removed: "removed";
|
|
45
42
|
}>;
|
|
43
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
44
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
46
45
|
activityId: z.ZodNullable<z.ZodString>;
|
|
47
46
|
communityId: z.ZodNullable<z.ZodString>;
|
|
47
|
+
orgUserId: z.ZodString;
|
|
48
48
|
postId: z.ZodNullable<z.ZodString>;
|
|
49
49
|
parentId: z.ZodNullable<z.ZodString>;
|
|
50
50
|
body: z.ZodString;
|
|
@@ -79,18 +79,18 @@ declare const discussionEvents: {
|
|
|
79
79
|
updatedAt: unknown;
|
|
80
80
|
mentionedOrgUserIds: string[];
|
|
81
81
|
}, z.ZodObject<{
|
|
82
|
-
id: z.ZodString;
|
|
83
82
|
orgId: z.ZodString;
|
|
84
|
-
|
|
85
|
-
createdAt: z.ZodCoercedDate<unknown>;
|
|
86
|
-
updatedAt: z.ZodCoercedDate<unknown>;
|
|
83
|
+
id: z.ZodString;
|
|
87
84
|
status: z.ZodEnum<{
|
|
88
85
|
pending: "pending";
|
|
89
86
|
published: "published";
|
|
90
87
|
removed: "removed";
|
|
91
88
|
}>;
|
|
89
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
90
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
92
91
|
activityId: z.ZodNullable<z.ZodString>;
|
|
93
92
|
communityId: z.ZodNullable<z.ZodString>;
|
|
93
|
+
orgUserId: z.ZodString;
|
|
94
94
|
postId: z.ZodNullable<z.ZodString>;
|
|
95
95
|
parentId: z.ZodNullable<z.ZodString>;
|
|
96
96
|
body: z.ZodString;
|
|
@@ -125,18 +125,18 @@ declare const discussionEvents: {
|
|
|
125
125
|
updatedAt: unknown;
|
|
126
126
|
mentionedOrgUserIds: string[];
|
|
127
127
|
}, z.ZodObject<{
|
|
128
|
-
id: z.ZodString;
|
|
129
128
|
orgId: z.ZodString;
|
|
130
|
-
|
|
131
|
-
createdAt: z.ZodCoercedDate<unknown>;
|
|
132
|
-
updatedAt: z.ZodCoercedDate<unknown>;
|
|
129
|
+
id: z.ZodString;
|
|
133
130
|
status: z.ZodEnum<{
|
|
134
131
|
pending: "pending";
|
|
135
132
|
published: "published";
|
|
136
133
|
removed: "removed";
|
|
137
134
|
}>;
|
|
135
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
136
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
138
137
|
activityId: z.ZodNullable<z.ZodString>;
|
|
139
138
|
communityId: z.ZodNullable<z.ZodString>;
|
|
139
|
+
orgUserId: z.ZodString;
|
|
140
140
|
postId: z.ZodNullable<z.ZodString>;
|
|
141
141
|
parentId: z.ZodNullable<z.ZodString>;
|
|
142
142
|
body: z.ZodString;
|
|
@@ -194,18 +194,18 @@ declare const discussionEvents: {
|
|
|
194
194
|
createdAt: unknown;
|
|
195
195
|
updatedAt: unknown;
|
|
196
196
|
}, z.ZodObject<{
|
|
197
|
-
id: z.ZodString;
|
|
198
197
|
orgId: z.ZodString;
|
|
199
|
-
|
|
200
|
-
createdAt: z.ZodCoercedDate<unknown>;
|
|
201
|
-
updatedAt: z.ZodCoercedDate<unknown>;
|
|
198
|
+
id: z.ZodString;
|
|
202
199
|
status: z.ZodEnum<{
|
|
203
200
|
pending: "pending";
|
|
204
201
|
published: "published";
|
|
205
202
|
removed: "removed";
|
|
206
203
|
}>;
|
|
204
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
205
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
207
206
|
activityId: z.ZodNullable<z.ZodString>;
|
|
208
207
|
communityId: z.ZodNullable<z.ZodString>;
|
|
208
|
+
orgUserId: z.ZodString;
|
|
209
209
|
postId: z.ZodNullable<z.ZodString>;
|
|
210
210
|
parentId: z.ZodNullable<z.ZodString>;
|
|
211
211
|
body: z.ZodString;
|
|
@@ -236,12 +236,12 @@ declare const discussionEvents: {
|
|
|
236
236
|
updatedAt: unknown;
|
|
237
237
|
communityId: string | null;
|
|
238
238
|
}, z.ZodObject<{
|
|
239
|
-
id: z.ZodString;
|
|
240
239
|
orgId: z.ZodString;
|
|
241
|
-
|
|
240
|
+
id: z.ZodString;
|
|
242
241
|
createdAt: z.ZodCoercedDate<unknown>;
|
|
243
242
|
updatedAt: z.ZodCoercedDate<unknown>;
|
|
244
243
|
communityId: z.ZodNullable<z.ZodString>;
|
|
244
|
+
orgUserId: z.ZodString;
|
|
245
245
|
commentId: z.ZodString;
|
|
246
246
|
reason: z.ZodString;
|
|
247
247
|
resolvedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
|
|
@@ -602,8 +602,8 @@ declare const discussionEvents: {
|
|
|
602
602
|
updatedAt: unknown;
|
|
603
603
|
participantIds: string[];
|
|
604
604
|
}, z.ZodObject<{
|
|
605
|
-
id: z.ZodString;
|
|
606
605
|
orgId: z.ZodString;
|
|
606
|
+
id: z.ZodString;
|
|
607
607
|
kind: z.ZodEnum<{
|
|
608
608
|
direct: "direct";
|
|
609
609
|
group: "group";
|
|
@@ -642,8 +642,8 @@ declare const discussionEvents: {
|
|
|
642
642
|
updatedAt: unknown;
|
|
643
643
|
participantIds: string[];
|
|
644
644
|
}, z.ZodObject<{
|
|
645
|
-
id: z.ZodString;
|
|
646
645
|
orgId: z.ZodString;
|
|
646
|
+
id: z.ZodString;
|
|
647
647
|
kind: z.ZodEnum<{
|
|
648
648
|
direct: "direct";
|
|
649
649
|
group: "group";
|
|
@@ -673,39 +673,61 @@ declare const discussionEvents: {
|
|
|
673
673
|
orgUserId: z.ZodString;
|
|
674
674
|
addedBy: z.ZodString;
|
|
675
675
|
}, z.core.$strict>>;
|
|
676
|
+
chatRead: RuntimeEventDefinition<VersionedDomainEvent<{
|
|
677
|
+
chatId: string;
|
|
678
|
+
communityId: string;
|
|
679
|
+
orgUserId: string;
|
|
680
|
+
lastReadMessageId: string;
|
|
681
|
+
}, "discussion.chat.read", 1>, {
|
|
682
|
+
chatId: string;
|
|
683
|
+
communityId: string;
|
|
684
|
+
orgUserId: string;
|
|
685
|
+
lastReadMessageId: string;
|
|
686
|
+
}, undefined>;
|
|
687
|
+
chatMuted: RuntimeEventDefinition<VersionedDomainEvent<{
|
|
688
|
+
chatId: string;
|
|
689
|
+
communityId: string;
|
|
690
|
+
orgUserId: string;
|
|
691
|
+
mutedUntil: Date | null;
|
|
692
|
+
}, "discussion.chat.muted", 1>, {
|
|
693
|
+
chatId: string;
|
|
694
|
+
communityId: string;
|
|
695
|
+
orgUserId: string;
|
|
696
|
+
mutedUntil: unknown;
|
|
697
|
+
}, undefined>;
|
|
676
698
|
messageSent: RuntimeEventDefinition<VersionedDomainEvent<{
|
|
677
699
|
orgId: string;
|
|
678
700
|
id: string;
|
|
701
|
+
createdAt: Date;
|
|
702
|
+
updatedAt: Date;
|
|
679
703
|
communityId: string;
|
|
680
|
-
chatId: string;
|
|
681
704
|
orgUserId: string;
|
|
682
705
|
body: string;
|
|
706
|
+
chatId: string;
|
|
683
707
|
replyToId: string | null;
|
|
684
708
|
editedAt: Date | null;
|
|
685
709
|
deletedAt: Date | null;
|
|
686
|
-
createdAt: Date;
|
|
687
|
-
updatedAt: Date;
|
|
688
710
|
mentionedOrgUserIds: string[];
|
|
689
711
|
}, "discussion.message.sent", 1>, {
|
|
690
712
|
orgId: string;
|
|
691
713
|
id: string;
|
|
714
|
+
createdAt: unknown;
|
|
715
|
+
updatedAt: unknown;
|
|
692
716
|
communityId: string;
|
|
693
|
-
chatId: string;
|
|
694
717
|
orgUserId: string;
|
|
695
718
|
body: string;
|
|
719
|
+
chatId: string;
|
|
696
720
|
replyToId: string | null;
|
|
697
721
|
editedAt: unknown;
|
|
698
722
|
deletedAt: unknown;
|
|
699
|
-
createdAt: unknown;
|
|
700
|
-
updatedAt: unknown;
|
|
701
723
|
mentionedOrgUserIds: string[];
|
|
702
724
|
}, z.ZodObject<{
|
|
703
|
-
id: z.ZodString;
|
|
704
725
|
orgId: z.ZodString;
|
|
705
|
-
|
|
726
|
+
id: z.ZodString;
|
|
706
727
|
createdAt: z.ZodCoercedDate<unknown>;
|
|
707
728
|
updatedAt: z.ZodCoercedDate<unknown>;
|
|
708
729
|
communityId: z.ZodString;
|
|
730
|
+
orgUserId: z.ZodString;
|
|
709
731
|
chatId: z.ZodString;
|
|
710
732
|
replyToId: z.ZodNullable<z.ZodString>;
|
|
711
733
|
editedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
|
|
@@ -714,36 +736,36 @@ declare const discussionEvents: {
|
|
|
714
736
|
messageUpdated: RuntimeEventDefinition<VersionedDomainEvent<{
|
|
715
737
|
orgId: string;
|
|
716
738
|
id: string;
|
|
739
|
+
createdAt: Date;
|
|
740
|
+
updatedAt: Date;
|
|
717
741
|
communityId: string;
|
|
718
|
-
chatId: string;
|
|
719
742
|
orgUserId: string;
|
|
720
743
|
body: string;
|
|
744
|
+
chatId: string;
|
|
721
745
|
replyToId: string | null;
|
|
722
746
|
editedAt: Date | null;
|
|
723
747
|
deletedAt: Date | null;
|
|
724
|
-
createdAt: Date;
|
|
725
|
-
updatedAt: Date;
|
|
726
748
|
mentionedOrgUserIds: string[];
|
|
727
749
|
}, "discussion.message.updated", 1>, {
|
|
728
750
|
orgId: string;
|
|
729
751
|
id: string;
|
|
752
|
+
createdAt: unknown;
|
|
753
|
+
updatedAt: unknown;
|
|
730
754
|
communityId: string;
|
|
731
|
-
chatId: string;
|
|
732
755
|
orgUserId: string;
|
|
733
756
|
body: string;
|
|
757
|
+
chatId: string;
|
|
734
758
|
replyToId: string | null;
|
|
735
759
|
editedAt: unknown;
|
|
736
760
|
deletedAt: unknown;
|
|
737
|
-
createdAt: unknown;
|
|
738
|
-
updatedAt: unknown;
|
|
739
761
|
mentionedOrgUserIds: string[];
|
|
740
762
|
}, z.ZodObject<{
|
|
741
|
-
id: z.ZodString;
|
|
742
763
|
orgId: z.ZodString;
|
|
743
|
-
|
|
764
|
+
id: z.ZodString;
|
|
744
765
|
createdAt: z.ZodCoercedDate<unknown>;
|
|
745
766
|
updatedAt: z.ZodCoercedDate<unknown>;
|
|
746
767
|
communityId: z.ZodString;
|
|
768
|
+
orgUserId: z.ZodString;
|
|
747
769
|
chatId: z.ZodString;
|
|
748
770
|
replyToId: z.ZodNullable<z.ZodString>;
|
|
749
771
|
editedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
|
|
@@ -768,37 +790,50 @@ declare const discussionEvents: {
|
|
|
768
790
|
orgUserId: z.ZodString;
|
|
769
791
|
reaction: z.ZodString;
|
|
770
792
|
}, z.core.$strict>>;
|
|
793
|
+
messageReactionsChanged: RuntimeEventDefinition<VersionedDomainEvent<{
|
|
794
|
+
messageId: string;
|
|
795
|
+
chatId: string;
|
|
796
|
+
communityId: string;
|
|
797
|
+
orgUserId: string;
|
|
798
|
+
reaction: string | null;
|
|
799
|
+
}, "discussion.message.reactions.changed", 1>, {
|
|
800
|
+
messageId: string;
|
|
801
|
+
chatId: string;
|
|
802
|
+
communityId: string;
|
|
803
|
+
orgUserId: string;
|
|
804
|
+
reaction: string | null;
|
|
805
|
+
}, undefined>;
|
|
771
806
|
messageDeleted: RuntimeEventDefinition<VersionedDomainEvent<{
|
|
772
807
|
orgId: string;
|
|
773
808
|
id: string;
|
|
809
|
+
createdAt: Date;
|
|
810
|
+
updatedAt: Date;
|
|
774
811
|
communityId: string;
|
|
775
|
-
chatId: string;
|
|
776
812
|
orgUserId: string;
|
|
777
813
|
body: string;
|
|
814
|
+
chatId: string;
|
|
778
815
|
replyToId: string | null;
|
|
779
816
|
editedAt: Date | null;
|
|
780
817
|
deletedAt: Date | null;
|
|
781
|
-
createdAt: Date;
|
|
782
|
-
updatedAt: Date;
|
|
783
818
|
}, "discussion.message.deleted", 1>, {
|
|
784
819
|
orgId: string;
|
|
785
820
|
id: string;
|
|
821
|
+
createdAt: unknown;
|
|
822
|
+
updatedAt: unknown;
|
|
786
823
|
communityId: string;
|
|
787
|
-
chatId: string;
|
|
788
824
|
orgUserId: string;
|
|
789
825
|
body: string;
|
|
826
|
+
chatId: string;
|
|
790
827
|
replyToId: string | null;
|
|
791
828
|
editedAt: unknown;
|
|
792
829
|
deletedAt: unknown;
|
|
793
|
-
createdAt: unknown;
|
|
794
|
-
updatedAt: unknown;
|
|
795
830
|
}, z.ZodObject<{
|
|
796
|
-
id: z.ZodString;
|
|
797
831
|
orgId: z.ZodString;
|
|
798
|
-
|
|
832
|
+
id: z.ZodString;
|
|
799
833
|
createdAt: z.ZodCoercedDate<unknown>;
|
|
800
834
|
updatedAt: z.ZodCoercedDate<unknown>;
|
|
801
835
|
communityId: z.ZodString;
|
|
836
|
+
orgUserId: z.ZodString;
|
|
802
837
|
chatId: z.ZodString;
|
|
803
838
|
replyToId: z.ZodNullable<z.ZodString>;
|
|
804
839
|
editedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
|
|
@@ -829,12 +864,12 @@ declare const discussionEvents: {
|
|
|
829
864
|
createdAt: unknown;
|
|
830
865
|
updatedAt: unknown;
|
|
831
866
|
}, z.ZodObject<{
|
|
832
|
-
id: z.ZodString;
|
|
833
867
|
orgId: z.ZodString;
|
|
834
|
-
|
|
868
|
+
id: z.ZodString;
|
|
835
869
|
createdAt: z.ZodCoercedDate<unknown>;
|
|
836
870
|
updatedAt: z.ZodCoercedDate<unknown>;
|
|
837
871
|
communityId: z.ZodString;
|
|
872
|
+
orgUserId: z.ZodString;
|
|
838
873
|
resolvedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
|
|
839
874
|
resolution: z.ZodNullable<z.ZodEnum<{
|
|
840
875
|
dismissed: "dismissed";
|
|
@@ -874,13 +909,16 @@ type PostReported = EventOf<typeof discussionEvents.postReported>;
|
|
|
874
909
|
type ChatCreated = EventOf<typeof discussionEvents.chatCreated>;
|
|
875
910
|
type ChatUpdated = EventOf<typeof discussionEvents.chatUpdated>;
|
|
876
911
|
type ChatParticipantAdded = EventOf<typeof discussionEvents.chatParticipantAdded>;
|
|
912
|
+
type ChatRead = EventOf<typeof discussionEvents.chatRead>;
|
|
913
|
+
type ChatMuted = EventOf<typeof discussionEvents.chatMuted>;
|
|
877
914
|
type MessageSent = EventOf<typeof discussionEvents.messageSent>;
|
|
878
915
|
type MessageUpdated = EventOf<typeof discussionEvents.messageUpdated>;
|
|
879
916
|
type MessageReactionAdded = EventOf<typeof discussionEvents.messageReactionAdded>;
|
|
917
|
+
type MessageReactionsChanged = EventOf<typeof discussionEvents.messageReactionsChanged>;
|
|
880
918
|
type MessageDeleted = EventOf<typeof discussionEvents.messageDeleted>;
|
|
881
919
|
type MessageReported = EventOf<typeof discussionEvents.messageReported>;
|
|
882
920
|
type DigestDue = EventOf<typeof discussionEvents.digestDue>;
|
|
883
921
|
type NewDiscussionEvent = NewDomainEvent<DiscussionEvent>;
|
|
884
922
|
//#endregion
|
|
885
|
-
export { ChatCreated, ChatParticipantAdded, ChatUpdated, CommentCreated, CommentPublished, CommentReactionAdded, CommentRemoved, CommentReported, CommentUpdated, DigestDue, DiscussionEvent, MessageDeleted, MessageReactionAdded, MessageReported, MessageSent, MessageUpdated, NewDiscussionEvent, PostCreated, PostPublished, PostReactionAdded, PostRemoved, PostReported, PostUpdated, discussionEvents };
|
|
923
|
+
export { ChatCreated, ChatMuted, ChatParticipantAdded, ChatRead, ChatUpdated, CommentCreated, CommentPublished, CommentReactionAdded, CommentRemoved, CommentReported, CommentUpdated, DigestDue, DiscussionEvent, MessageDeleted, MessageReactionAdded, MessageReactionsChanged, MessageReported, MessageSent, MessageUpdated, NewDiscussionEvent, PostCreated, PostPublished, PostReactionAdded, PostRemoved, PostReported, PostUpdated, discussionEvents };
|
|
886
924
|
//# sourceMappingURL=events.d.ts.map
|
|
@@ -7,7 +7,8 @@ const mentioned = { mentionedOrgUserIds: z.array(idSchema) };
|
|
|
7
7
|
const commentEventSchema = commentSchema.extend(mentioned);
|
|
8
8
|
const postEventSchema = postSchema.extend(mentioned);
|
|
9
9
|
const publicPost = postSchema.strip();
|
|
10
|
-
const
|
|
10
|
+
const eventMessageSchema = messageSchema.omit({ clientId: true });
|
|
11
|
+
const messageEventSchema = eventMessageSchema.extend(mentioned);
|
|
11
12
|
const publicComment = commentSchema.pick({
|
|
12
13
|
id: true,
|
|
13
14
|
orgId: true,
|
|
@@ -51,7 +52,10 @@ const participantAddedSchema = z.object({
|
|
|
51
52
|
orgUserId: idSchema,
|
|
52
53
|
addedBy: idSchema
|
|
53
54
|
}).strict();
|
|
54
|
-
const publicMessage = messageSchema.omit({
|
|
55
|
+
const publicMessage = messageSchema.omit({
|
|
56
|
+
body: true,
|
|
57
|
+
clientId: true
|
|
58
|
+
}).strip();
|
|
55
59
|
const postReactionAddedSchema = z.object({
|
|
56
60
|
postId: idSchema,
|
|
57
61
|
spaceId: idSchema,
|
|
@@ -75,6 +79,25 @@ const messageReactionAddedSchema = z.object({
|
|
|
75
79
|
orgUserId: idSchema,
|
|
76
80
|
reaction: reactionEmojiSchema
|
|
77
81
|
}).strict();
|
|
82
|
+
const messageReactionsChangedSchema = z.object({
|
|
83
|
+
messageId: idSchema,
|
|
84
|
+
chatId: idSchema,
|
|
85
|
+
communityId: idSchema,
|
|
86
|
+
orgUserId: idSchema,
|
|
87
|
+
reaction: reactionEmojiSchema.nullable()
|
|
88
|
+
}).strict();
|
|
89
|
+
const chatReadSchema = z.object({
|
|
90
|
+
chatId: idSchema,
|
|
91
|
+
communityId: idSchema,
|
|
92
|
+
orgUserId: idSchema,
|
|
93
|
+
lastReadMessageId: idSchema
|
|
94
|
+
}).strict();
|
|
95
|
+
const chatMutedSchema = z.object({
|
|
96
|
+
chatId: idSchema,
|
|
97
|
+
communityId: idSchema,
|
|
98
|
+
orgUserId: idSchema,
|
|
99
|
+
mutedUntil: z.coerce.date().nullable()
|
|
100
|
+
}).strict();
|
|
78
101
|
const digestDueSchema = z.object({
|
|
79
102
|
communityId: idSchema,
|
|
80
103
|
from: z.coerce.date(),
|
|
@@ -172,6 +195,16 @@ const discussionEvents = {
|
|
|
172
195
|
data: participantAddedSchema,
|
|
173
196
|
publicData: participantAddedSchema
|
|
174
197
|
}),
|
|
198
|
+
chatRead: defineEvent({
|
|
199
|
+
type: "discussion.chat.read",
|
|
200
|
+
version: 1,
|
|
201
|
+
data: chatReadSchema
|
|
202
|
+
}),
|
|
203
|
+
chatMuted: defineEvent({
|
|
204
|
+
type: "discussion.chat.muted",
|
|
205
|
+
version: 1,
|
|
206
|
+
data: chatMutedSchema
|
|
207
|
+
}),
|
|
175
208
|
messageSent: defineEvent({
|
|
176
209
|
type: "discussion.message.sent",
|
|
177
210
|
version: 1,
|
|
@@ -190,10 +223,15 @@ const discussionEvents = {
|
|
|
190
223
|
data: messageReactionAddedSchema,
|
|
191
224
|
publicData: messageReactionAddedSchema
|
|
192
225
|
}),
|
|
226
|
+
messageReactionsChanged: defineEvent({
|
|
227
|
+
type: "discussion.message.reactions.changed",
|
|
228
|
+
version: 1,
|
|
229
|
+
data: messageReactionsChangedSchema
|
|
230
|
+
}),
|
|
193
231
|
messageDeleted: defineEvent({
|
|
194
232
|
type: "discussion.message.deleted",
|
|
195
233
|
version: 1,
|
|
196
|
-
data:
|
|
234
|
+
data: eventMessageSchema,
|
|
197
235
|
publicData: publicMessage
|
|
198
236
|
}),
|
|
199
237
|
messageReported: defineEvent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","names":[],"sources":["../../src/discussion/events.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n chatSchema,\n commentReportSchema,\n commentSchema,\n idSchema,\n messageFlagSchema,\n messageSchema,\n postFlagSchema,\n postSchema,\n reactionEmojiSchema,\n} from '../types/schemas/index.js';\nimport {\n defineEvent,\n type EventOf,\n type EventOfValues,\n type NewDomainEvent,\n} from '../shared/ports.js';\n\nconst mentioned = { mentionedOrgUserIds: z.array(idSchema) };\nconst commentEventSchema = commentSchema.extend(mentioned);\nconst postEventSchema = postSchema.extend(mentioned);\nconst publicPost = postSchema.strip();\nconst messageEventSchema = messageSchema.extend(mentioned);\n\nconst publicComment = commentSchema\n .pick({\n id: true,\n orgId: true,\n activityId: true,\n postId: true,\n communityId: true,\n parentId: true,\n orgUserId: true,\n body: true,\n status: true,\n removedBy: true,\n createdAt: true,\n updatedAt: true,\n })\n .strip();\n\nconst reportedComment = commentReportSchema.extend({ communityId: idSchema.nullable() });\nconst publicCommentReport = reportedComment\n .pick({\n id: true,\n orgId: true,\n communityId: true,\n commentId: true,\n orgUserId: true,\n reason: true,\n resolvedAt: true,\n createdAt: true,\n updatedAt: true,\n })\n .strip();\nconst reportedPost = postFlagSchema.extend({ communityId: idSchema });\n\nconst chatEventSchema = chatSchema.extend({\n participantIds: z.array(idSchema),\n});\n\nconst publicChat = chatEventSchema\n .pick({\n id: true,\n orgId: true,\n communityId: true,\n kind: true,\n status: true,\n createdBy: true,\n participantIds: true,\n })\n .strip();\n\nconst participantAddedSchema = z\n .object({\n chatId: idSchema,\n communityId: idSchema,\n orgUserId: idSchema,\n addedBy: idSchema,\n })\n .strict();\n\nconst publicMessage = messageSchema.omit({ body: true }).strip();\n\nconst postReactionAddedSchema = z\n .object({\n postId: idSchema,\n spaceId: idSchema,\n communityId: idSchema,\n orgUserId: idSchema,\n reaction: reactionEmojiSchema,\n })\n .strict();\n\nconst commentReactionAddedSchema = z\n .object({\n commentId: idSchema,\n postId: idSchema.nullable(),\n activityId: idSchema.nullable(),\n spaceId: idSchema.nullable(),\n communityId: idSchema.nullable(),\n orgUserId: idSchema,\n reaction: reactionEmojiSchema,\n })\n .strict();\n\nconst messageReactionAddedSchema = z\n .object({\n messageId: idSchema,\n chatId: idSchema,\n communityId: idSchema,\n orgUserId: idSchema,\n reaction: reactionEmojiSchema,\n })\n .strict();\n\nconst digestDueSchema = z\n .object({ communityId: idSchema, from: z.coerce.date(), to: z.coerce.date() })\n .strict();\nconst publicMessageFlag = messageFlagSchema.omit({ reason: true }).strip();\n\nexport const discussionEvents = {\n commentCreated: defineEvent({\n type: 'discussion.comment.created',\n version: 1,\n data: commentEventSchema,\n publicData: publicComment,\n }),\n commentPublished: defineEvent({\n type: 'discussion.comment.published',\n version: 1,\n data: commentEventSchema,\n publicData: publicComment,\n }),\n commentUpdated: defineEvent({\n type: 'discussion.comment.updated',\n version: 1,\n data: commentEventSchema,\n publicData: publicComment,\n }),\n commentReactionAdded: defineEvent({\n type: 'discussion.comment.reaction.added',\n version: 1,\n data: commentReactionAddedSchema,\n publicData: commentReactionAddedSchema,\n }),\n commentRemoved: defineEvent({\n type: 'discussion.comment.removed',\n version: 1,\n data: commentSchema,\n publicData: publicComment,\n }),\n commentReported: defineEvent({\n type: 'discussion.comment.reported',\n version: 1,\n data: reportedComment,\n publicData: publicCommentReport,\n }),\n postCreated: defineEvent({\n type: 'discussion.post.created',\n version: 1,\n data: postSchema,\n publicData: postSchema,\n }),\n postUpdated: defineEvent({\n type: 'discussion.post.updated',\n version: 1,\n data: postEventSchema,\n publicData: publicPost,\n }),\n postPublished: defineEvent({\n type: 'discussion.post.published',\n version: 1,\n data: postEventSchema,\n publicData: publicPost,\n }),\n postReactionAdded: defineEvent({\n type: 'discussion.post.reaction.added',\n version: 1,\n data: postReactionAddedSchema,\n publicData: postReactionAddedSchema,\n }),\n postRemoved: defineEvent({\n type: 'discussion.post.removed',\n version: 1,\n data: postSchema,\n publicData: postSchema,\n }),\n postReported: defineEvent({\n type: 'discussion.post.reported',\n version: 1,\n data: reportedPost,\n publicData: reportedPost,\n }),\n chatCreated: defineEvent({\n type: 'discussion.chat.created',\n version: 1,\n data: chatEventSchema,\n publicData: publicChat,\n }),\n chatUpdated: defineEvent({\n type: 'discussion.chat.updated',\n version: 1,\n data: chatEventSchema,\n publicData: publicChat,\n }),\n chatParticipantAdded: defineEvent({\n type: 'discussion.chat.participant.added',\n version: 1,\n data: participantAddedSchema,\n publicData: participantAddedSchema,\n }),\n messageSent: defineEvent({\n type: 'discussion.message.sent',\n version: 1,\n data: messageEventSchema,\n publicData: publicMessage,\n }),\n messageUpdated: defineEvent({\n type: 'discussion.message.updated',\n version: 1,\n data: messageEventSchema,\n publicData: publicMessage,\n }),\n messageReactionAdded: defineEvent({\n type: 'discussion.message.reaction.added',\n version: 1,\n data: messageReactionAddedSchema,\n publicData: messageReactionAddedSchema,\n }),\n messageDeleted: defineEvent({\n type: 'discussion.message.deleted',\n version: 1,\n data: messageSchema,\n publicData: publicMessage,\n }),\n messageReported: defineEvent({\n type: 'discussion.message.reported',\n version: 1,\n data: messageFlagSchema,\n publicData: publicMessageFlag,\n }),\n digestDue: defineEvent({\n type: 'discussion.digest.due',\n version: 2,\n data: digestDueSchema,\n publicData: digestDueSchema,\n }),\n};\n\nexport type CommentCreated = EventOf<typeof discussionEvents.commentCreated>;\nexport type CommentPublished = EventOf<typeof discussionEvents.commentPublished>;\nexport type CommentUpdated = EventOf<typeof discussionEvents.commentUpdated>;\nexport type CommentReactionAdded = EventOf<typeof discussionEvents.commentReactionAdded>;\nexport type CommentRemoved = EventOf<typeof discussionEvents.commentRemoved>;\nexport type CommentReported = EventOf<typeof discussionEvents.commentReported>;\nexport type DiscussionEvent = EventOfValues<typeof discussionEvents>;\nexport type PostCreated = EventOf<typeof discussionEvents.postCreated>;\nexport type PostUpdated = EventOf<typeof discussionEvents.postUpdated>;\nexport type PostPublished = EventOf<typeof discussionEvents.postPublished>;\nexport type PostReactionAdded = EventOf<typeof discussionEvents.postReactionAdded>;\nexport type PostRemoved = EventOf<typeof discussionEvents.postRemoved>;\nexport type PostReported = EventOf<typeof discussionEvents.postReported>;\nexport type ChatCreated = EventOf<typeof discussionEvents.chatCreated>;\nexport type ChatUpdated = EventOf<typeof discussionEvents.chatUpdated>;\nexport type ChatParticipantAdded = EventOf<typeof discussionEvents.chatParticipantAdded>;\nexport type MessageSent = EventOf<typeof discussionEvents.messageSent>;\nexport type MessageUpdated = EventOf<typeof discussionEvents.messageUpdated>;\nexport type MessageReactionAdded = EventOf<typeof discussionEvents.messageReactionAdded>;\nexport type MessageDeleted = EventOf<typeof discussionEvents.messageDeleted>;\nexport type MessageReported = EventOf<typeof discussionEvents.messageReported>;\nexport type DigestDue = EventOf<typeof discussionEvents.digestDue>;\nexport type NewDiscussionEvent = NewDomainEvent<DiscussionEvent>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events.js","names":[],"sources":["../../src/discussion/events.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n chatSchema,\n commentReportSchema,\n commentSchema,\n idSchema,\n messageFlagSchema,\n messageSchema,\n postFlagSchema,\n postSchema,\n reactionEmojiSchema,\n} from '../types/schemas/index.js';\nimport {\n defineEvent,\n type EventOf,\n type EventOfValues,\n type NewDomainEvent,\n} from '../shared/ports.js';\n\nconst mentioned = { mentionedOrgUserIds: z.array(idSchema) };\nconst commentEventSchema = commentSchema.extend(mentioned);\nconst postEventSchema = postSchema.extend(mentioned);\nconst publicPost = postSchema.strip();\nconst eventMessageSchema = messageSchema.omit({ clientId: true });\nconst messageEventSchema = eventMessageSchema.extend(mentioned);\n\nconst publicComment = commentSchema\n .pick({\n id: true,\n orgId: true,\n activityId: true,\n postId: true,\n communityId: true,\n parentId: true,\n orgUserId: true,\n body: true,\n status: true,\n removedBy: true,\n createdAt: true,\n updatedAt: true,\n })\n .strip();\n\nconst reportedComment = commentReportSchema.extend({ communityId: idSchema.nullable() });\nconst publicCommentReport = reportedComment\n .pick({\n id: true,\n orgId: true,\n communityId: true,\n commentId: true,\n orgUserId: true,\n reason: true,\n resolvedAt: true,\n createdAt: true,\n updatedAt: true,\n })\n .strip();\nconst reportedPost = postFlagSchema.extend({ communityId: idSchema });\n\nconst chatEventSchema = chatSchema.extend({\n participantIds: z.array(idSchema),\n});\n\nconst publicChat = chatEventSchema\n .pick({\n id: true,\n orgId: true,\n communityId: true,\n kind: true,\n status: true,\n createdBy: true,\n participantIds: true,\n })\n .strip();\n\nconst participantAddedSchema = z\n .object({\n chatId: idSchema,\n communityId: idSchema,\n orgUserId: idSchema,\n addedBy: idSchema,\n })\n .strict();\n\nconst publicMessage = messageSchema.omit({ body: true, clientId: true }).strip();\n\nconst postReactionAddedSchema = z\n .object({\n postId: idSchema,\n spaceId: idSchema,\n communityId: idSchema,\n orgUserId: idSchema,\n reaction: reactionEmojiSchema,\n })\n .strict();\n\nconst commentReactionAddedSchema = z\n .object({\n commentId: idSchema,\n postId: idSchema.nullable(),\n activityId: idSchema.nullable(),\n spaceId: idSchema.nullable(),\n communityId: idSchema.nullable(),\n orgUserId: idSchema,\n reaction: reactionEmojiSchema,\n })\n .strict();\n\nconst messageReactionAddedSchema = z\n .object({\n messageId: idSchema,\n chatId: idSchema,\n communityId: idSchema,\n orgUserId: idSchema,\n reaction: reactionEmojiSchema,\n })\n .strict();\n\nconst messageReactionsChangedSchema = z\n .object({\n messageId: idSchema,\n chatId: idSchema,\n communityId: idSchema,\n orgUserId: idSchema,\n reaction: reactionEmojiSchema.nullable(),\n })\n .strict();\n\nconst chatReadSchema = z\n .object({\n chatId: idSchema,\n communityId: idSchema,\n orgUserId: idSchema,\n lastReadMessageId: idSchema,\n })\n .strict();\n\nconst chatMutedSchema = z\n .object({\n chatId: idSchema,\n communityId: idSchema,\n orgUserId: idSchema,\n mutedUntil: z.coerce.date().nullable(),\n })\n .strict();\n\nconst digestDueSchema = z\n .object({ communityId: idSchema, from: z.coerce.date(), to: z.coerce.date() })\n .strict();\nconst publicMessageFlag = messageFlagSchema.omit({ reason: true }).strip();\n\nexport const discussionEvents = {\n commentCreated: defineEvent({\n type: 'discussion.comment.created',\n version: 1,\n data: commentEventSchema,\n publicData: publicComment,\n }),\n commentPublished: defineEvent({\n type: 'discussion.comment.published',\n version: 1,\n data: commentEventSchema,\n publicData: publicComment,\n }),\n commentUpdated: defineEvent({\n type: 'discussion.comment.updated',\n version: 1,\n data: commentEventSchema,\n publicData: publicComment,\n }),\n commentReactionAdded: defineEvent({\n type: 'discussion.comment.reaction.added',\n version: 1,\n data: commentReactionAddedSchema,\n publicData: commentReactionAddedSchema,\n }),\n commentRemoved: defineEvent({\n type: 'discussion.comment.removed',\n version: 1,\n data: commentSchema,\n publicData: publicComment,\n }),\n commentReported: defineEvent({\n type: 'discussion.comment.reported',\n version: 1,\n data: reportedComment,\n publicData: publicCommentReport,\n }),\n postCreated: defineEvent({\n type: 'discussion.post.created',\n version: 1,\n data: postSchema,\n publicData: postSchema,\n }),\n postUpdated: defineEvent({\n type: 'discussion.post.updated',\n version: 1,\n data: postEventSchema,\n publicData: publicPost,\n }),\n postPublished: defineEvent({\n type: 'discussion.post.published',\n version: 1,\n data: postEventSchema,\n publicData: publicPost,\n }),\n postReactionAdded: defineEvent({\n type: 'discussion.post.reaction.added',\n version: 1,\n data: postReactionAddedSchema,\n publicData: postReactionAddedSchema,\n }),\n postRemoved: defineEvent({\n type: 'discussion.post.removed',\n version: 1,\n data: postSchema,\n publicData: postSchema,\n }),\n postReported: defineEvent({\n type: 'discussion.post.reported',\n version: 1,\n data: reportedPost,\n publicData: reportedPost,\n }),\n chatCreated: defineEvent({\n type: 'discussion.chat.created',\n version: 1,\n data: chatEventSchema,\n publicData: publicChat,\n }),\n chatUpdated: defineEvent({\n type: 'discussion.chat.updated',\n version: 1,\n data: chatEventSchema,\n publicData: publicChat,\n }),\n chatParticipantAdded: defineEvent({\n type: 'discussion.chat.participant.added',\n version: 1,\n data: participantAddedSchema,\n publicData: participantAddedSchema,\n }),\n chatRead: defineEvent({\n type: 'discussion.chat.read',\n version: 1,\n data: chatReadSchema,\n }),\n chatMuted: defineEvent({\n type: 'discussion.chat.muted',\n version: 1,\n data: chatMutedSchema,\n }),\n messageSent: defineEvent({\n type: 'discussion.message.sent',\n version: 1,\n data: messageEventSchema,\n publicData: publicMessage,\n }),\n messageUpdated: defineEvent({\n type: 'discussion.message.updated',\n version: 1,\n data: messageEventSchema,\n publicData: publicMessage,\n }),\n messageReactionAdded: defineEvent({\n type: 'discussion.message.reaction.added',\n version: 1,\n data: messageReactionAddedSchema,\n publicData: messageReactionAddedSchema,\n }),\n messageReactionsChanged: defineEvent({\n type: 'discussion.message.reactions.changed',\n version: 1,\n data: messageReactionsChangedSchema,\n }),\n messageDeleted: defineEvent({\n type: 'discussion.message.deleted',\n version: 1,\n data: eventMessageSchema,\n publicData: publicMessage,\n }),\n messageReported: defineEvent({\n type: 'discussion.message.reported',\n version: 1,\n data: messageFlagSchema,\n publicData: publicMessageFlag,\n }),\n digestDue: defineEvent({\n type: 'discussion.digest.due',\n version: 2,\n data: digestDueSchema,\n publicData: digestDueSchema,\n }),\n};\n\nexport type CommentCreated = EventOf<typeof discussionEvents.commentCreated>;\nexport type CommentPublished = EventOf<typeof discussionEvents.commentPublished>;\nexport type CommentUpdated = EventOf<typeof discussionEvents.commentUpdated>;\nexport type CommentReactionAdded = EventOf<typeof discussionEvents.commentReactionAdded>;\nexport type CommentRemoved = EventOf<typeof discussionEvents.commentRemoved>;\nexport type CommentReported = EventOf<typeof discussionEvents.commentReported>;\nexport type DiscussionEvent = EventOfValues<typeof discussionEvents>;\nexport type PostCreated = EventOf<typeof discussionEvents.postCreated>;\nexport type PostUpdated = EventOf<typeof discussionEvents.postUpdated>;\nexport type PostPublished = EventOf<typeof discussionEvents.postPublished>;\nexport type PostReactionAdded = EventOf<typeof discussionEvents.postReactionAdded>;\nexport type PostRemoved = EventOf<typeof discussionEvents.postRemoved>;\nexport type PostReported = EventOf<typeof discussionEvents.postReported>;\nexport type ChatCreated = EventOf<typeof discussionEvents.chatCreated>;\nexport type ChatUpdated = EventOf<typeof discussionEvents.chatUpdated>;\nexport type ChatParticipantAdded = EventOf<typeof discussionEvents.chatParticipantAdded>;\nexport type ChatRead = EventOf<typeof discussionEvents.chatRead>;\nexport type ChatMuted = EventOf<typeof discussionEvents.chatMuted>;\nexport type MessageSent = EventOf<typeof discussionEvents.messageSent>;\nexport type MessageUpdated = EventOf<typeof discussionEvents.messageUpdated>;\nexport type MessageReactionAdded = EventOf<typeof discussionEvents.messageReactionAdded>;\nexport type MessageReactionsChanged = EventOf<typeof discussionEvents.messageReactionsChanged>;\nexport type MessageDeleted = EventOf<typeof discussionEvents.messageDeleted>;\nexport type MessageReported = EventOf<typeof discussionEvents.messageReported>;\nexport type DigestDue = EventOf<typeof discussionEvents.digestDue>;\nexport type NewDiscussionEvent = NewDomainEvent<DiscussionEvent>;\n"],"mappings":"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"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import { CommentListItem, CommentReaction, CommentReportSummary, CommentSettings, CommentStatus, CommentView, CommentsConfig, ListCommentsQuery, ReactionCounts, ReactionEmoji } from "../types/schemas/discussion.js";
|
|
1
|
+
import { ChatLiveEvent, ChatUnreadSummary, CommentListItem, CommentReaction, CommentReportSummary, CommentSettings, CommentStatus, CommentView, CommentsConfig, ListCommentsQuery, LiveMessage, ReactionCounts, ReactionEmoji } from "../types/schemas/discussion.js";
|
|
2
2
|
import { Comment, CommentAuthor, CommentReport } from "../types/discussion.js";
|
|
3
|
+
import "../types/index.js";
|
|
3
4
|
import { Actor } from "../shared/actor.js";
|
|
4
5
|
import "./model.js";
|
|
5
6
|
import "./types.js";
|
|
6
|
-
import { ActivityComments, AuthorProfileReader, AuthorRecord,
|
|
7
|
-
import {
|
|
7
|
+
import { ActivityComments, ActivityGetter, AuthorPermissionReader, AuthorProfileReader, AuthorRecord, BookmarkQuery, ChatInboxRow, ChatListItem, ChatListQuery, ChatLiveReads, ChatMemberState, ChatMemberStates, ChatRepository, ChatService, ChatUnitOfWork, ChatUnread, ChatWriteScope, CommentReactions, CommentWithContext, CommentWithin, CommunityAccess, ContentAccessReader, CreatePostInput, DigestRunRepository, DigestScheduleReader, DigestService, DigestUnitOfWork, DigestWriteScope, DiscussionRepository, DiscussionService, DiscussionUnitOfWork, DiscussionWriteScope, FeedQuery, ItemTitle, ItemTitles, LiveChat, MentionsRepository, MessageQueue, MessageReactions, MuteInput, OpenableSpace, PageQuery, PostCommentInput, PostCommentReader, PostGuard, PostPatch, PostReactions, PostRepository, PostService, PostThreadsQuery, PostUnitOfWork, PostWriteScope, PublishedPost, ReactionChange, SendMessageInput, SpaceModerationQueue, SpaceReader, StartDirectInput, StartGroupInput, SubscriptionInput, SubscriptionService, SubscriptionUnitOfWork, SubscriptionWriteScope, SubscriptionsRepository, UpdatePostInput } from "./ports.js";
|
|
8
|
+
import { NO_BADGE, ReviewedItem, TeamBadge, isTeam, skipsReview, teamBadge } from "./rules.js";
|
|
9
|
+
import { authorName, authorView } from "./authors.js";
|
|
10
|
+
import { CHAT_CHANNEL, ChatChange, ChatHub, ChatHubOptions, ChatHubParams, ChatLiveForwarder, ChatLiveForwarderParams, LiveRegistration } from "./live.js";
|
|
8
11
|
import { ChatServiceImpl } from "./chats.js";
|
|
9
12
|
import { DigestServiceImpl, latestDueAt } from "./digests.js";
|
|
10
13
|
import { DiscussionEvent, discussionEvents } from "./events.js";
|
|
11
14
|
import { DEFAULT_SETTINGS, DiscussionServiceImpl } from "./service.js";
|
|
12
15
|
import { PostServiceImpl } from "./posts.js";
|
|
13
16
|
import { SubscriptionServiceImpl, activeSubscription } from "./subscriptions.js";
|
|
14
|
-
import { nameMentions } from "./mentions.js";
|
|
17
|
+
import { mentionTokens, nameMentions } from "./mentions.js";
|
|
15
18
|
import { DiscussionItemTitles } from "./titles.js";
|
|
16
19
|
import { DIGEST_OPEN_JOB, POST_PUBLISH_JOB, discussionJobs, discussionRecurringJobs } from "./jobs.js";
|
|
17
|
-
export { type ActivityComments, type Actor, type AuthorProfileReader, type AuthorRecord, type
|
|
20
|
+
export { type ActivityComments, type ActivityGetter, type Actor, type AuthorPermissionReader, type AuthorProfileReader, type AuthorRecord, type BookmarkQuery, CHAT_CHANNEL, type ChatChange, ChatHub, type ChatHubOptions, type ChatHubParams, type ChatInboxRow, type ChatListItem, type ChatListQuery, type ChatLiveEvent, ChatLiveForwarder, type ChatLiveForwarderParams, type ChatLiveReads, type ChatMemberState, type ChatMemberStates, type ChatRepository, type ChatService, ChatServiceImpl, type ChatUnitOfWork, type ChatUnread, type ChatUnreadSummary, type ChatWriteScope, type Comment, type CommentAuthor, type CommentListItem, type CommentReaction, type CommentReactions, type CommentReport, type CommentReportSummary, type CommentSettings, type CommentStatus, type CommentView, type CommentWithContext, type CommentWithin, type CommentsConfig, type CommunityAccess, type ContentAccessReader, type CreatePostInput, DEFAULT_SETTINGS, DIGEST_OPEN_JOB, type DigestRunRepository, type DigestScheduleReader, type DigestService, DigestServiceImpl, type DigestUnitOfWork, type DigestWriteScope, type DiscussionEvent, DiscussionItemTitles, type DiscussionRepository, type DiscussionService, DiscussionServiceImpl, type DiscussionUnitOfWork, type DiscussionWriteScope, type FeedQuery, type ItemTitle, type ItemTitles, type ListCommentsQuery, type LiveChat, type LiveMessage, type LiveRegistration, type MentionsRepository, type MessageQueue, type MessageReactions, type MuteInput, NO_BADGE, type OpenableSpace, POST_PUBLISH_JOB, type PageQuery, type PostCommentInput, type PostCommentReader, type PostGuard, type PostPatch, type PostReactions, type PostRepository, type PostService, PostServiceImpl, type PostThreadsQuery, type PostUnitOfWork, type PostWriteScope, type PublishedPost, type ReactionChange, type ReactionCounts, type ReactionEmoji, type ReviewedItem, type SendMessageInput, type SpaceModerationQueue, type SpaceReader, type StartDirectInput, type StartGroupInput, type SubscriptionInput, type SubscriptionService, SubscriptionServiceImpl, type SubscriptionUnitOfWork, type SubscriptionWriteScope, type SubscriptionsRepository, type TeamBadge, type UpdatePostInput, activeSubscription, authorName, authorView, discussionEvents, discussionJobs, discussionRecurringJobs, isTeam, latestDueAt, mentionTokens, nameMentions, skipsReview, teamBadge };
|
package/dist/discussion/index.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { discussionEvents } from "./events.js";
|
|
2
|
-
import { authorView } from "./authors.js";
|
|
3
|
-
import { nameMentions } from "./mentions.js";
|
|
2
|
+
import { authorName, authorView } from "./authors.js";
|
|
3
|
+
import { mentionTokens, nameMentions } from "./mentions.js";
|
|
4
|
+
import { NO_BADGE, isTeam, skipsReview, teamBadge } from "./rules.js";
|
|
4
5
|
import { DEFAULT_SETTINGS, DiscussionServiceImpl } from "./service.js";
|
|
5
6
|
import { DIGEST_OPEN_JOB, POST_PUBLISH_JOB, discussionJobs, discussionRecurringJobs } from "./jobs.js";
|
|
6
7
|
import { SubscriptionServiceImpl, activeSubscription } from "./subscriptions.js";
|
|
7
8
|
import { PostServiceImpl } from "./posts.js";
|
|
8
9
|
import { DigestServiceImpl, latestDueAt } from "./digests.js";
|
|
10
|
+
import { CHAT_CHANNEL, ChatHub, ChatLiveForwarder } from "./live.js";
|
|
9
11
|
import { ChatServiceImpl } from "./chats.js";
|
|
10
12
|
import { DiscussionItemTitles } from "./titles.js";
|
|
11
|
-
export { ChatServiceImpl, DEFAULT_SETTINGS, DIGEST_OPEN_JOB, DigestServiceImpl, DiscussionItemTitles, DiscussionServiceImpl, POST_PUBLISH_JOB, PostServiceImpl, SubscriptionServiceImpl, activeSubscription, authorView, discussionEvents, discussionJobs, discussionRecurringJobs, latestDueAt, nameMentions };
|
|
13
|
+
export { CHAT_CHANNEL, ChatHub, ChatLiveForwarder, ChatServiceImpl, DEFAULT_SETTINGS, DIGEST_OPEN_JOB, DigestServiceImpl, DiscussionItemTitles, DiscussionServiceImpl, NO_BADGE, POST_PUBLISH_JOB, PostServiceImpl, SubscriptionServiceImpl, activeSubscription, authorName, authorView, discussionEvents, discussionJobs, discussionRecurringJobs, isTeam, latestDueAt, mentionTokens, nameMentions, skipsReview, teamBadge };
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Logger } from "../types/ports.js";
|
|
2
|
+
import { ChatLiveEvent } from "../types/schemas/discussion.js";
|
|
3
|
+
import "../types/index.js";
|
|
4
|
+
import { Actor } from "../shared/actor.js";
|
|
5
|
+
import { EventBus, PubSub } from "../shared/ports.js";
|
|
6
|
+
import { ChatLiveReads } from "./ports.js";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
//#region src/discussion/live.d.ts
|
|
9
|
+
declare const CHAT_CHANNEL = "discussion.chats";
|
|
10
|
+
declare const TYPING = "typing";
|
|
11
|
+
declare const chatChangeSchema: z.ZodObject<{
|
|
12
|
+
event: z.ZodString;
|
|
13
|
+
orgId: z.ZodString;
|
|
14
|
+
communityId: z.ZodString;
|
|
15
|
+
chatId: z.ZodString;
|
|
16
|
+
messageId: z.ZodOptional<z.ZodString>;
|
|
17
|
+
orgUserId: z.ZodOptional<z.ZodString>;
|
|
18
|
+
members: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
19
|
+
reaction: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
20
|
+
until: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
/** One chat change on the `discussion.chats` channel. It never carries a body;
|
|
23
|
+
* every instance reads current state itself. */
|
|
24
|
+
type ChatChange = z.infer<typeof chatChangeSchema>;
|
|
25
|
+
/** Publishes a change, logging and dropping it when the publish fails or has
|
|
26
|
+
* not finished within 2 s. Never throws. */
|
|
27
|
+
declare function publishChange(pubsub: PubSub, change: ChatChange, logger: Logger, timeoutMs?: number): Promise<void>;
|
|
28
|
+
type ChatLiveForwarderParams = {
|
|
29
|
+
pubsub: PubSub;
|
|
30
|
+
logger?: Logger;
|
|
31
|
+
timeoutMs?: number;
|
|
32
|
+
};
|
|
33
|
+
/** Publishes every chat change committed through the outbox to every instance. */
|
|
34
|
+
declare class ChatLiveForwarder {
|
|
35
|
+
private readonly pubsub;
|
|
36
|
+
private readonly logger;
|
|
37
|
+
private readonly timeoutMs;
|
|
38
|
+
constructor(params: ChatLiveForwarderParams);
|
|
39
|
+
attach(bus: EventBus): void;
|
|
40
|
+
}
|
|
41
|
+
interface ChatHubOptions {
|
|
42
|
+
flushMs?: number;
|
|
43
|
+
closeTimeoutMs?: number;
|
|
44
|
+
}
|
|
45
|
+
type ChatHubParams = ChatHubOptions & {
|
|
46
|
+
pubsub: PubSub;
|
|
47
|
+
reads: ChatLiveReads;
|
|
48
|
+
logger?: Logger;
|
|
49
|
+
};
|
|
50
|
+
interface LiveRegistration {
|
|
51
|
+
communityId: string;
|
|
52
|
+
actor: Actor;
|
|
53
|
+
}
|
|
54
|
+
/** This process's open chat streams, and the live delivery of every chat
|
|
55
|
+
* change to them. */
|
|
56
|
+
declare class ChatHub {
|
|
57
|
+
private readonly pubsub;
|
|
58
|
+
private readonly reads;
|
|
59
|
+
private readonly logger;
|
|
60
|
+
private readonly flushMs;
|
|
61
|
+
private readonly closeTimeoutMs;
|
|
62
|
+
private readonly streams;
|
|
63
|
+
private readonly byMember;
|
|
64
|
+
private readonly byCommunity;
|
|
65
|
+
private readonly queues;
|
|
66
|
+
private ready;
|
|
67
|
+
private running;
|
|
68
|
+
private pending;
|
|
69
|
+
private dirty;
|
|
70
|
+
private flushing;
|
|
71
|
+
private flushAgain;
|
|
72
|
+
private closing;
|
|
73
|
+
private unsubscribe;
|
|
74
|
+
private flushTimer;
|
|
75
|
+
constructor(params: ChatHubParams);
|
|
76
|
+
start(): Promise<void>;
|
|
77
|
+
/** Ends every stream with `closed { reason: 'shutdown' }` and waits, up to
|
|
78
|
+
* 2 s in all, for each to be read to its end. */
|
|
79
|
+
close(): Promise<void>;
|
|
80
|
+
/** Registers one stream. It starts with `ready`, then the member's unread. */
|
|
81
|
+
open(registration: LiveRegistration): AsyncIterable<ChatLiveEvent>;
|
|
82
|
+
private index;
|
|
83
|
+
private unindex;
|
|
84
|
+
private unregister;
|
|
85
|
+
private streamsOf;
|
|
86
|
+
private communityStreams;
|
|
87
|
+
private receive;
|
|
88
|
+
private pump;
|
|
89
|
+
private overflow;
|
|
90
|
+
private reset;
|
|
91
|
+
private resync;
|
|
92
|
+
private handle;
|
|
93
|
+
private participantStreams;
|
|
94
|
+
private onMessage;
|
|
95
|
+
private onReactions;
|
|
96
|
+
private onChat;
|
|
97
|
+
private onTyping;
|
|
98
|
+
private markDirty;
|
|
99
|
+
/** Pushes the `chat.state` of every dirty member and chat and the `unread`
|
|
100
|
+
* of every dirty member, read now. One flush runs at a time. */
|
|
101
|
+
private flush;
|
|
102
|
+
private flushGroup;
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
105
|
+
export { CHAT_CHANNEL, ChatChange, ChatHub, ChatHubOptions, ChatHubParams, ChatLiveForwarder, ChatLiveForwarderParams, LiveRegistration, TYPING, publishChange };
|
|
106
|
+
//# sourceMappingURL=live.d.ts.map
|