@acorex-platform/module-communication-management-client 0.0.30 → 0.0.33

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 (43) hide show
  1. package/fesm2022/{acorex-platform-module-communication-management-client-acorex-platform-module-communication-management-client-09UhY2Rc.mjs → acorex-platform-module-communication-management-client-acorex-platform-module-communication-management-client-G4wzzccx.mjs} +357 -121
  2. package/fesm2022/acorex-platform-module-communication-management-client-acorex-platform-module-communication-management-client-G4wzzccx.mjs.map +1 -0
  3. package/fesm2022/{acorex-platform-module-communication-management-client-communication-email-send.command-wuqLiY8s.mjs → acorex-platform-module-communication-management-client-communication-email-send.command-De8K6vIB.mjs} +2 -2
  4. package/fesm2022/{acorex-platform-module-communication-management-client-communication-email-send.command-wuqLiY8s.mjs.map → acorex-platform-module-communication-management-client-communication-email-send.command-De8K6vIB.mjs.map} +1 -1
  5. package/fesm2022/{acorex-platform-module-communication-management-client-communication-email-show-dialog.command-CP0zAEe4.mjs → acorex-platform-module-communication-management-client-communication-email-show-dialog.command-NuJLiYs_.mjs} +5 -9
  6. package/fesm2022/acorex-platform-module-communication-management-client-communication-email-show-dialog.command-NuJLiYs_.mjs.map +1 -0
  7. package/fesm2022/{acorex-platform-module-communication-management-client-communication-in-app-inbox-page.component-b7ZqkMTt.mjs → acorex-platform-module-communication-management-client-communication-in-app-inbox-page.component-BjJjqWja.mjs} +2 -2
  8. package/fesm2022/{acorex-platform-module-communication-management-client-communication-in-app-inbox-page.component-b7ZqkMTt.mjs.map → acorex-platform-module-communication-management-client-communication-in-app-inbox-page.component-BjJjqWja.mjs.map} +1 -1
  9. package/fesm2022/{acorex-platform-module-communication-management-client-communication-send.command-D7_MmGQe.mjs → acorex-platform-module-communication-management-client-communication-send.command-NEXrsogP.mjs} +3 -2
  10. package/fesm2022/acorex-platform-module-communication-management-client-communication-send.command-NEXrsogP.mjs.map +1 -0
  11. package/fesm2022/{acorex-platform-module-communication-management-client-communication-show-sent-message.command-D8125Jxi.mjs → acorex-platform-module-communication-management-client-communication-show-sent-message.command-D9KRxkdp.mjs} +21 -13
  12. package/fesm2022/acorex-platform-module-communication-management-client-communication-show-sent-message.command-D9KRxkdp.mjs.map +1 -0
  13. package/fesm2022/{acorex-platform-module-communication-management-client-communication-test-smtp.command-BySmN1Lz.mjs → acorex-platform-module-communication-management-client-communication-test-smtp.command-Cp5fHOh4.mjs} +2 -2
  14. package/fesm2022/{acorex-platform-module-communication-management-client-communication-test-smtp.command-BySmN1Lz.mjs.map → acorex-platform-module-communication-management-client-communication-test-smtp.command-Cp5fHOh4.mjs.map} +1 -1
  15. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entities-communication-delivery.mjs +235 -0
  16. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entities-communication-delivery.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entities-communication.mjs +254 -0
  18. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entities-communication.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entity-catalog-acorex-platform-module-communication-management-client-contracts-entity-catalog-BvLoGDK5.mjs +60 -0
  20. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entity-catalog-acorex-platform-module-communication-management-client-contracts-entity-catalog-BvLoGDK5.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entity-catalog-communication-delivery.entity-DPCU8P32.mjs +183 -0
  22. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entity-catalog-communication-delivery.entity-DPCU8P32.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entity-catalog-communication.entity-DGj9OD3Z.mjs +202 -0
  24. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entity-catalog-communication.entity-DGj9OD3Z.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entity-catalog-status.keys-JESc4HlO.mjs +15 -0
  26. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entity-catalog-status.keys-JESc4HlO.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entity-catalog.mjs +2 -0
  28. package/fesm2022/acorex-platform-module-communication-management-client-contracts-entity-catalog.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-communication-management-client-contracts.mjs.map +1 -1
  30. package/fesm2022/acorex-platform-module-communication-management-client-local-entities.mjs +30 -0
  31. package/fesm2022/acorex-platform-module-communication-management-client-local-entities.mjs.map +1 -0
  32. package/fesm2022/acorex-platform-module-communication-management-client.mjs +1 -1
  33. package/package.json +19 -3
  34. package/types/acorex-platform-module-communication-management-client-contracts-entities-communication-delivery.d.ts +5 -0
  35. package/types/acorex-platform-module-communication-management-client-contracts-entities-communication.d.ts +5 -0
  36. package/types/acorex-platform-module-communication-management-client-contracts-entity-catalog.d.ts +10 -0
  37. package/types/acorex-platform-module-communication-management-client-contracts.d.ts +6 -1
  38. package/types/acorex-platform-module-communication-management-client-local-entities.d.ts +12 -0
  39. package/types/acorex-platform-module-communication-management-client.d.ts +102 -1
  40. package/fesm2022/acorex-platform-module-communication-management-client-acorex-platform-module-communication-management-client-09UhY2Rc.mjs.map +0 -1
  41. package/fesm2022/acorex-platform-module-communication-management-client-communication-email-show-dialog.command-CP0zAEe4.mjs.map +0 -1
  42. package/fesm2022/acorex-platform-module-communication-management-client-communication-send.command-D7_MmGQe.mjs.map +0 -1
  43. package/fesm2022/acorex-platform-module-communication-management-client-communication-show-sent-message.command-D8125Jxi.mjs.map +0 -1
@@ -0,0 +1,183 @@
1
+ import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions } from '@acorex-platform/framework-shared/entity';
3
+ import { a as AXP_COMMUNICATION_DELIVERY_STATUS_DEFINITION_KEY } from './acorex-platform-module-communication-management-client-contracts-entity-catalog-status.keys-JESc4HlO.mjs';
4
+ import { R as RootConfig } from './acorex-platform-module-communication-management-client-contracts-entity-catalog-acorex-platform-module-communication-management-client-contracts-entity-catalog-BvLoGDK5.mjs';
5
+
6
+ const listOptions = {
7
+ filter: { inline: { enabled: true }, advance: { enabled: true } },
8
+ sort: { enabled: true },
9
+ };
10
+ async function communicationDeliveryEntityFactory() {
11
+ const i18n = RootConfig.config.i18n;
12
+ return {
13
+ module: RootConfig.module.name,
14
+ name: RootConfig.entities.communicationDelivery.name,
15
+ title: RootConfig.entities.communicationDelivery.title,
16
+ icon: RootConfig.entities.communicationDelivery.icon,
17
+ plugins: [
18
+ {
19
+ name: 'status',
20
+ options: {
21
+ field: 'status',
22
+ definition: AXP_COMMUNICATION_DELIVERY_STATUS_DEFINITION_KEY,
23
+ showInCreate: false,
24
+ readonly: true,
25
+ generate: { views: { enabled: true } },
26
+ },
27
+ },
28
+ ],
29
+ formats: {
30
+ individual: RootConfig.entities.communicationDelivery.title,
31
+ plural: RootConfig.entities.communicationDelivery.titlePlural,
32
+ searchResult: {
33
+ title: '{{ channel }} — {{ recipientAddress }}',
34
+ description: '{{ status }}',
35
+ },
36
+ },
37
+ columns: [
38
+ { name: 'communicationId', options: { width: '180px' } },
39
+ { name: 'channel', options: { width: '120px' } },
40
+ { name: 'recipientAddress', options: { width: '200px' } },
41
+ { name: 'sentAt', options: { width: '170px' } },
42
+ { name: 'deliveredAt', options: { width: '170px' } },
43
+ ],
44
+ groups: [
45
+ { id: 'general', title: '@general:terms.interface.basic-info' },
46
+ { id: 'tracking', title: `@${i18n}:entities.communication-delivery.groups.tracking` },
47
+ { id: 'timeline', title: `@${i18n}:entities.communication-delivery.groups.timeline` },
48
+ ],
49
+ properties: [
50
+ {
51
+ name: 'communicationId',
52
+ title: `@${i18n}:entities.communication-delivery.fields.communication-id`,
53
+ groupId: 'general',
54
+ options: listOptions,
55
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
56
+ },
57
+ {
58
+ name: 'channel',
59
+ title: `@${i18n}:entities.communication-delivery.fields.channel`,
60
+ groupId: 'general',
61
+ options: listOptions,
62
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
63
+ },
64
+ {
65
+ name: 'providerKey',
66
+ title: `@${i18n}:entities.communication-delivery.fields.provider-key`,
67
+ groupId: 'general',
68
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
69
+ },
70
+ {
71
+ name: 'recipientUserId',
72
+ title: `@${i18n}:entities.communication-delivery.fields.recipient-user-id`,
73
+ groupId: 'general',
74
+ options: listOptions,
75
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
76
+ },
77
+ {
78
+ name: 'recipientAddress',
79
+ title: `@${i18n}:entities.communication-delivery.fields.recipient-address`,
80
+ groupId: 'general',
81
+ options: listOptions,
82
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
83
+ },
84
+ {
85
+ name: 'providerMessageId',
86
+ title: `@${i18n}:entities.communication-delivery.fields.provider-message-id`,
87
+ groupId: 'tracking',
88
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
89
+ },
90
+ {
91
+ name: 'sentAt',
92
+ title: `@${i18n}:entities.communication-delivery.fields.sent-at`,
93
+ groupId: 'tracking',
94
+ options: listOptions,
95
+ schema: { dataType: 'date', readonly: true, interface: { type: AXPWidgetsCatalog.dateTime } },
96
+ },
97
+ {
98
+ name: 'deliveredAt',
99
+ title: `@${i18n}:entities.communication-delivery.fields.delivered-at`,
100
+ groupId: 'tracking',
101
+ schema: { dataType: 'date', readonly: true, interface: { type: AXPWidgetsCatalog.dateTime } },
102
+ },
103
+ {
104
+ name: 'seenAt',
105
+ title: `@${i18n}:entities.communication-delivery.fields.seen-at`,
106
+ groupId: 'tracking',
107
+ schema: { dataType: 'date', readonly: true, interface: { type: AXPWidgetsCatalog.dateTime } },
108
+ },
109
+ {
110
+ name: 'readAt',
111
+ title: `@${i18n}:entities.communication-delivery.fields.read-at`,
112
+ groupId: 'tracking',
113
+ schema: { dataType: 'date', readonly: true, interface: { type: AXPWidgetsCatalog.dateTime } },
114
+ },
115
+ {
116
+ name: 'isPinned',
117
+ title: `@${i18n}:entities.communication-delivery.fields.is-pinned`,
118
+ groupId: 'tracking',
119
+ schema: { dataType: 'boolean', readonly: true, interface: { type: AXPWidgetsCatalog.toggle } },
120
+ },
121
+ {
122
+ name: 'archivedAt',
123
+ title: `@${i18n}:entities.communication-delivery.fields.archived-at`,
124
+ groupId: 'tracking',
125
+ schema: { dataType: 'date', readonly: true, interface: { type: AXPWidgetsCatalog.dateTime } },
126
+ },
127
+ {
128
+ name: 'repliedAt',
129
+ title: `@${i18n}:entities.communication-delivery.fields.replied-at`,
130
+ groupId: 'tracking',
131
+ schema: { dataType: 'date', readonly: true, interface: { type: AXPWidgetsCatalog.dateTime } },
132
+ },
133
+ {
134
+ name: 'timelineSummary',
135
+ title: `@${i18n}:entities.communication-delivery.fields.timeline-summary`,
136
+ groupId: 'timeline',
137
+ schema: {
138
+ dataType: 'string',
139
+ readonly: true,
140
+ interface: { type: AXPWidgetsCatalog.largeText },
141
+ },
142
+ },
143
+ ],
144
+ interfaces: {
145
+ master: {
146
+ // Empty create/update keeps deliveries view-only (engine creates records).
147
+ create: {
148
+ sections: [],
149
+ properties: [],
150
+ },
151
+ update: {
152
+ sections: [],
153
+ properties: [],
154
+ },
155
+ single: {
156
+ title: '{{ channel }} — {{ recipientAddress }}',
157
+ sections: [{ id: 'general' }, { id: 'tracking' }, { id: 'timeline' }],
158
+ properties: [
159
+ { name: 'communicationId' },
160
+ { name: 'channel' },
161
+ { name: 'providerKey' },
162
+ { name: 'recipientAddress' },
163
+ { name: 'providerMessageId' },
164
+ { name: 'sentAt' },
165
+ { name: 'deliveredAt' },
166
+ { name: 'seenAt' },
167
+ { name: 'readAt' },
168
+ { name: 'repliedAt' },
169
+ { name: 'timelineSummary' },
170
+ ],
171
+ actions: [],
172
+ },
173
+ list: {
174
+ actions: [...entityMasterCrudActions({ create: false, delete: false, edit: false, view: true })],
175
+ views: [createAllQueryView()],
176
+ },
177
+ },
178
+ },
179
+ };
180
+ }
181
+
182
+ export { communicationDeliveryEntityFactory };
183
+ //# sourceMappingURL=acorex-platform-module-communication-management-client-contracts-entity-catalog-communication-delivery.entity-DPCU8P32.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-communication-management-client-contracts-entity-catalog-communication-delivery.entity-DPCU8P32.mjs","sources":["../../../../libs/modules/communication-management/contracts/src/entities/communication-delivery/communication-delivery.entity.ts"],"sourcesContent":["import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n createAllQueryView,\n entityMasterCrudActions,\n} from '@acorex-platform/framework-shared/entity';\nimport { AXP_COMMUNICATION_DELIVERY_STATUS_DEFINITION_KEY } from '../../status.keys';\nimport { RootConfig } from '../../root-config';\n\nconst listOptions = {\n filter: { inline: { enabled: true }, advance: { enabled: true } },\n sort: { enabled: true },\n};\n\nexport async function communicationDeliveryEntityFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n return {\n module: RootConfig.module.name,\n name: RootConfig.entities.communicationDelivery.name,\n title: RootConfig.entities.communicationDelivery.title,\n icon: RootConfig.entities.communicationDelivery.icon,\n plugins: [\n {\n name: 'status',\n options: {\n field: 'status',\n definition: AXP_COMMUNICATION_DELIVERY_STATUS_DEFINITION_KEY,\n showInCreate: false,\n readonly: true,\n generate: { views: { enabled: true } },\n },\n },\n ],\n formats: {\n individual: RootConfig.entities.communicationDelivery.title,\n plural: RootConfig.entities.communicationDelivery.titlePlural,\n searchResult: {\n title: '{{ channel }} — {{ recipientAddress }}',\n description: '{{ status }}',\n },\n },\n columns: [\n { name: 'communicationId', options: { width: '180px' } },\n { name: 'channel', options: { width: '120px' } },\n { name: 'recipientAddress', options: { width: '200px' } },\n { name: 'sentAt', options: { width: '170px' } },\n { name: 'deliveredAt', options: { width: '170px' } },\n ],\n groups: [\n { id: 'general', title: '@general:terms.interface.basic-info' },\n { id: 'tracking', title: `@${i18n}:entities.communication-delivery.groups.tracking` },\n { id: 'timeline', title: `@${i18n}:entities.communication-delivery.groups.timeline` },\n ],\n properties: [\n {\n name: 'communicationId',\n title: `@${i18n}:entities.communication-delivery.fields.communication-id`,\n groupId: 'general',\n options: listOptions,\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'channel',\n title: `@${i18n}:entities.communication-delivery.fields.channel`,\n groupId: 'general',\n options: listOptions,\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'providerKey',\n title: `@${i18n}:entities.communication-delivery.fields.provider-key`,\n groupId: 'general',\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'recipientUserId',\n title: `@${i18n}:entities.communication-delivery.fields.recipient-user-id`,\n groupId: 'general',\n options: listOptions,\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'recipientAddress',\n title: `@${i18n}:entities.communication-delivery.fields.recipient-address`,\n groupId: 'general',\n options: listOptions,\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'providerMessageId',\n title: `@${i18n}:entities.communication-delivery.fields.provider-message-id`,\n groupId: 'tracking',\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'sentAt',\n title: `@${i18n}:entities.communication-delivery.fields.sent-at`,\n groupId: 'tracking',\n options: listOptions,\n schema: { dataType: 'date', readonly: true, interface: { type: AXPWidgetsCatalog.dateTime } },\n },\n {\n name: 'deliveredAt',\n title: `@${i18n}:entities.communication-delivery.fields.delivered-at`,\n groupId: 'tracking',\n schema: { dataType: 'date', readonly: true, interface: { type: AXPWidgetsCatalog.dateTime } },\n },\n {\n name: 'seenAt',\n title: `@${i18n}:entities.communication-delivery.fields.seen-at`,\n groupId: 'tracking',\n schema: { dataType: 'date', readonly: true, interface: { type: AXPWidgetsCatalog.dateTime } },\n },\n {\n name: 'readAt',\n title: `@${i18n}:entities.communication-delivery.fields.read-at`,\n groupId: 'tracking',\n schema: { dataType: 'date', readonly: true, interface: { type: AXPWidgetsCatalog.dateTime } },\n },\n {\n name: 'isPinned',\n title: `@${i18n}:entities.communication-delivery.fields.is-pinned`,\n groupId: 'tracking',\n schema: { dataType: 'boolean', readonly: true, interface: { type: AXPWidgetsCatalog.toggle } },\n },\n {\n name: 'archivedAt',\n title: `@${i18n}:entities.communication-delivery.fields.archived-at`,\n groupId: 'tracking',\n schema: { dataType: 'date', readonly: true, interface: { type: AXPWidgetsCatalog.dateTime } },\n },\n {\n name: 'repliedAt',\n title: `@${i18n}:entities.communication-delivery.fields.replied-at`,\n groupId: 'tracking',\n schema: { dataType: 'date', readonly: true, interface: { type: AXPWidgetsCatalog.dateTime } },\n },\n {\n name: 'timelineSummary',\n title: `@${i18n}:entities.communication-delivery.fields.timeline-summary`,\n groupId: 'timeline',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: { type: AXPWidgetsCatalog.largeText },\n },\n },\n ],\n interfaces: {\n master: {\n // Empty create/update keeps deliveries view-only (engine creates records).\n create: {\n sections: [],\n properties: [],\n },\n update: {\n sections: [],\n properties: [],\n },\n single: {\n title: '{{ channel }} — {{ recipientAddress }}',\n sections: [{ id: 'general' }, { id: 'tracking' }, { id: 'timeline' }],\n properties: [\n { name: 'communicationId' },\n { name: 'channel' },\n { name: 'providerKey' },\n { name: 'recipientAddress' },\n { name: 'providerMessageId' },\n { name: 'sentAt' },\n { name: 'deliveredAt' },\n { name: 'seenAt' },\n { name: 'readAt' },\n { name: 'repliedAt' },\n { name: 'timelineSummary' },\n ],\n actions: [],\n },\n list: {\n actions: [...entityMasterCrudActions({ create: false, delete: false, edit: false, view: true })],\n views: [createAllQueryView()],\n },\n },\n },\n };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,202 @@
1
+ import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { AXPEntityCommandScope, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions, entityDetailsCrudActions, entityDetailsSimpleCondition } from '@acorex-platform/framework-shared/entity';
3
+ import { A as AXP_COMMUNICATION_STATUS_DEFINITION_KEY } from './acorex-platform-module-communication-management-client-contracts-entity-catalog-status.keys-JESc4HlO.mjs';
4
+ import { R as RootConfig } from './acorex-platform-module-communication-management-client-contracts-entity-catalog-acorex-platform-module-communication-management-client-contracts-entity-catalog-BvLoGDK5.mjs';
5
+
6
+ //#region ---- Client command keys ----
7
+ const AXMCommunicationManagementCommandKeys = {
8
+ Send: 'CommunicationManagement:Communication:Send',
9
+ TestSmtp: 'CommunicationManagement:Communication:TestSmtp',
10
+ EmailShowDialog: 'CommunicationManagement:Email:ShowDialog',
11
+ EmailSend: 'CommunicationManagement:Email:Send',
12
+ ShowSentMessage: 'CommunicationManagement:Communication:ShowSentMessage',
13
+ };
14
+ //#endregion
15
+
16
+ const listOptions = {
17
+ filter: { inline: { enabled: true }, advance: { enabled: true } },
18
+ sort: { enabled: true },
19
+ };
20
+ const previewMessageAction = (i18n) => ({
21
+ title: `@${i18n}:entities.communication.actions.preview.title`,
22
+ name: 'preview-message',
23
+ icon: 'fa-light fa-envelope-open-text',
24
+ command: {
25
+ name: AXMCommunicationManagementCommandKeys.ShowSentMessage,
26
+ options: {
27
+ communicationId: '{{ context.eval("id") }}',
28
+ },
29
+ },
30
+ priority: 'primary',
31
+ type: 'execute',
32
+ scope: AXPEntityCommandScope.Individual,
33
+ });
34
+ async function communicationEntityFactory() {
35
+ const i18n = RootConfig.config.i18n;
36
+ return {
37
+ module: RootConfig.module.name,
38
+ name: RootConfig.entities.communication.name,
39
+ title: RootConfig.entities.communication.title,
40
+ icon: RootConfig.entities.communication.icon,
41
+ plugins: [
42
+ {
43
+ name: 'status',
44
+ options: {
45
+ field: 'status',
46
+ definition: AXP_COMMUNICATION_STATUS_DEFINITION_KEY,
47
+ showInCreate: false,
48
+ readonly: true,
49
+ generate: { views: { enabled: true } },
50
+ },
51
+ },
52
+ ],
53
+ formats: {
54
+ individual: RootConfig.entities.communication.title,
55
+ plural: RootConfig.entities.communication.titlePlural,
56
+ searchResult: {
57
+ title: '{{ title }}',
58
+ description: '{{ message.subject }}',
59
+ },
60
+ },
61
+ columns: [
62
+ { name: 'title', options: { width: '220px' } },
63
+ { name: 'primaryChannel', options: { width: '140px' } },
64
+ { name: 'recipientSummary', options: { width: '200px' } },
65
+ ],
66
+ relatedEntities: [
67
+ {
68
+ entity: `${RootConfig.module.name}.${RootConfig.entities.communicationDelivery.name}`,
69
+ title: RootConfig.entities.communicationDelivery.titlePlural,
70
+ columns: ['channel', 'status', 'recipientAddress', 'sentAt', 'deliveredAt'],
71
+ conditions: [entityDetailsSimpleCondition('communicationId')],
72
+ persistence: { foreignKeyField: 'communicationId' },
73
+ excludeProperties: ['communicationId'],
74
+ actions: [
75
+ ...entityDetailsCrudActions('communicationId', {
76
+ create: false,
77
+ edit: false,
78
+ delete: false,
79
+ view: true,
80
+ }),
81
+ ],
82
+ layout: { type: 'page-list', position: 'after', order: 1 },
83
+ },
84
+ ],
85
+ groups: [
86
+ { id: 'general', title: '@general:terms.interface.basic-info' },
87
+ { id: 'routing', title: `@${i18n}:entities.communication.groups.routing` },
88
+ ],
89
+ properties: [
90
+ {
91
+ name: 'title',
92
+ title: '@general:terms.common.title',
93
+ groupId: 'general',
94
+ options: listOptions,
95
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
96
+ },
97
+ {
98
+ name: 'message.subject',
99
+ title: `@${i18n}:entities.communication.fields.message-subject`,
100
+ groupId: 'general',
101
+ options: listOptions,
102
+ schema: {
103
+ dataType: 'string',
104
+ visible: false,
105
+ readonly: true,
106
+ interface: { type: AXPWidgetsCatalog.text },
107
+ },
108
+ },
109
+ {
110
+ name: 'message.body',
111
+ title: `@${i18n}:entities.communication.fields.message-body`,
112
+ groupId: 'general',
113
+ schema: {
114
+ dataType: 'string',
115
+ visible: false,
116
+ readonly: true,
117
+ interface: { type: AXPWidgetsCatalog.largeText },
118
+ },
119
+ },
120
+ {
121
+ name: 'primaryChannel',
122
+ title: `@${i18n}:entities.communication.fields.primary-channel`,
123
+ groupId: 'routing',
124
+ options: listOptions,
125
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
126
+ },
127
+ {
128
+ name: 'recipientSummary',
129
+ title: `@${i18n}:entities.communication.fields.recipient-summary`,
130
+ groupId: 'routing',
131
+ options: listOptions,
132
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
133
+ },
134
+ {
135
+ name: 'definitionKey',
136
+ title: `@${i18n}:entities.communication.fields.definition-key`,
137
+ groupId: 'routing',
138
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
139
+ },
140
+ {
141
+ name: 'priority',
142
+ title: `@${i18n}:entities.communication.fields.priority`,
143
+ groupId: 'routing',
144
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
145
+ },
146
+ {
147
+ name: 'correlationId',
148
+ title: `@${i18n}:entities.communication.fields.correlation-id`,
149
+ groupId: 'routing',
150
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
151
+ },
152
+ {
153
+ name: 'idempotencyKey',
154
+ title: `@${i18n}:entities.communication.fields.idempotency-key`,
155
+ groupId: 'routing',
156
+ schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
157
+ },
158
+ {
159
+ name: 'actions',
160
+ title: `@${i18n}:entities.communication.fields.actions`,
161
+ groupId: 'routing',
162
+ schema: { dataType: 'object', readonly: true, interface: { type: AXPWidgetsCatalog.text } },
163
+ },
164
+ ],
165
+ interfaces: {
166
+ master: {
167
+ // Empty create/update keeps the entity view-only (send API creates records).
168
+ create: {
169
+ sections: [],
170
+ properties: [],
171
+ },
172
+ update: {
173
+ sections: [],
174
+ properties: [],
175
+ },
176
+ single: {
177
+ title: '{{ title }}',
178
+ sections: [{ id: 'general' }, { id: 'routing' }],
179
+ properties: [
180
+ { name: 'title' },
181
+ { name: 'primaryChannel' },
182
+ { name: 'recipientSummary' },
183
+ { name: 'definitionKey' },
184
+ { name: 'correlationId' },
185
+ { name: 'idempotencyKey' },
186
+ ],
187
+ actions: [previewMessageAction(i18n), ...entityMasterRecordActions()],
188
+ },
189
+ list: {
190
+ actions: [
191
+ ...entityMasterCrudActions({ create: false, edit: false, view: true, delete: true }),
192
+ previewMessageAction(i18n),
193
+ ],
194
+ views: [createAllQueryView()],
195
+ },
196
+ },
197
+ },
198
+ };
199
+ }
200
+
201
+ export { communicationEntityFactory };
202
+ //# sourceMappingURL=acorex-platform-module-communication-management-client-contracts-entity-catalog-communication.entity-DGj9OD3Z.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-communication-management-client-contracts-entity-catalog-communication.entity-DGj9OD3Z.mjs","sources":["../../../../libs/modules/communication-management/contracts/src/commands.keys.ts","../../../../libs/modules/communication-management/contracts/src/entities/communication/communication.entity.ts"],"sourcesContent":["//#region ---- Client command keys ----\n\nexport const AXMCommunicationManagementCommandKeys = {\n Send: 'CommunicationManagement:Communication:Send',\n TestSmtp: 'CommunicationManagement:Communication:TestSmtp',\n EmailShowDialog: 'CommunicationManagement:Email:ShowDialog',\n EmailSend: 'CommunicationManagement:Email:Send',\n ShowSentMessage: 'CommunicationManagement:Communication:ShowSentMessage',\n} as const;\n\n//#endregion\n","import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n AXPEntityAction,\n AXPEntityCommandScope,\n createAllQueryView,\n entityDetailsCrudActions,\n entityDetailsSimpleCondition,\n entityMasterCrudActions,\n entityMasterRecordActions,\n} from '@acorex-platform/framework-shared/entity';\nimport { AXMCommunicationManagementCommandKeys } from '../../commands.keys';\nimport { AXP_COMMUNICATION_STATUS_DEFINITION_KEY } from '../../status.keys';\nimport { RootConfig } from '../../root-config';\n\nconst listOptions = {\n filter: { inline: { enabled: true }, advance: { enabled: true } },\n sort: { enabled: true },\n};\n\nconst previewMessageAction = (i18n: string): AXPEntityAction =>\n ({\n title: `@${i18n}:entities.communication.actions.preview.title`,\n name: 'preview-message',\n icon: 'fa-light fa-envelope-open-text',\n command: {\n name: AXMCommunicationManagementCommandKeys.ShowSentMessage,\n options: {\n communicationId: '{{ context.eval(\"id\") }}',\n },\n },\n priority: 'primary',\n type: 'execute',\n scope: AXPEntityCommandScope.Individual,\n }) as AXPEntityAction;\n\nexport async function communicationEntityFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n return {\n module: RootConfig.module.name,\n name: RootConfig.entities.communication.name,\n title: RootConfig.entities.communication.title,\n icon: RootConfig.entities.communication.icon,\n plugins: [\n {\n name: 'status',\n options: {\n field: 'status',\n definition: AXP_COMMUNICATION_STATUS_DEFINITION_KEY,\n showInCreate: false,\n readonly: true,\n generate: { views: { enabled: true } },\n },\n },\n ],\n formats: {\n individual: RootConfig.entities.communication.title,\n plural: RootConfig.entities.communication.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ message.subject }}',\n },\n },\n columns: [\n { name: 'title', options: { width: '220px' } },\n { name: 'primaryChannel', options: { width: '140px' } },\n { name: 'recipientSummary', options: { width: '200px' } },\n ],\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.communicationDelivery.name}`,\n title: RootConfig.entities.communicationDelivery.titlePlural,\n columns: ['channel', 'status', 'recipientAddress', 'sentAt', 'deliveredAt'],\n conditions: [entityDetailsSimpleCondition('communicationId')],\n persistence: { foreignKeyField: 'communicationId' },\n excludeProperties: ['communicationId'],\n actions: [\n ...entityDetailsCrudActions('communicationId', {\n create: false,\n edit: false,\n delete: false,\n view: true,\n }),\n ],\n layout: { type: 'page-list', position: 'after', order: 1 },\n },\n ],\n\n groups: [\n { id: 'general', title: '@general:terms.interface.basic-info' },\n { id: 'routing', title: `@${i18n}:entities.communication.groups.routing` },\n ],\n properties: [\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'general',\n options: listOptions,\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'message.subject',\n title: `@${i18n}:entities.communication.fields.message-subject`,\n groupId: 'general',\n options: listOptions,\n schema: {\n dataType: 'string',\n visible: false,\n readonly: true,\n interface: { type: AXPWidgetsCatalog.text },\n },\n },\n {\n name: 'message.body',\n title: `@${i18n}:entities.communication.fields.message-body`,\n groupId: 'general',\n schema: {\n dataType: 'string',\n visible: false,\n readonly: true,\n interface: { type: AXPWidgetsCatalog.largeText },\n },\n },\n {\n name: 'primaryChannel',\n title: `@${i18n}:entities.communication.fields.primary-channel`,\n groupId: 'routing',\n options: listOptions,\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'recipientSummary',\n title: `@${i18n}:entities.communication.fields.recipient-summary`,\n groupId: 'routing',\n options: listOptions,\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'definitionKey',\n title: `@${i18n}:entities.communication.fields.definition-key`,\n groupId: 'routing',\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'priority',\n title: `@${i18n}:entities.communication.fields.priority`,\n groupId: 'routing',\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'correlationId',\n title: `@${i18n}:entities.communication.fields.correlation-id`,\n groupId: 'routing',\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'idempotencyKey',\n title: `@${i18n}:entities.communication.fields.idempotency-key`,\n groupId: 'routing',\n schema: { dataType: 'string', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n {\n name: 'actions',\n title: `@${i18n}:entities.communication.fields.actions`,\n groupId: 'routing',\n schema: { dataType: 'object', readonly: true, interface: { type: AXPWidgetsCatalog.text } },\n },\n ],\n interfaces: {\n master: {\n // Empty create/update keeps the entity view-only (send API creates records).\n create: {\n sections: [],\n properties: [],\n },\n update: {\n sections: [],\n properties: [],\n },\n single: {\n title: '{{ title }}',\n sections: [{ id: 'general' }, { id: 'routing' }],\n properties: [\n { name: 'title' },\n { name: 'primaryChannel' },\n { name: 'recipientSummary' },\n { name: 'definitionKey' },\n { name: 'correlationId' },\n { name: 'idempotencyKey' },\n ],\n actions: [previewMessageAction(i18n), ...entityMasterRecordActions()],\n },\n list: {\n actions: [\n ...entityMasterCrudActions({ create: false, edit: false, view: true, delete: true }),\n previewMessageAction(i18n),\n ],\n views: [createAllQueryView()],\n },\n },\n },\n };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ //#region ---- Status definition keys ----
2
+ /** Registered client status provider key for logical communications. */
3
+ const AXP_COMMUNICATION_STATUS_DEFINITION_KEY = 'communication-management.status.communication';
4
+ /** Registered client status provider key for communication deliveries. */
5
+ const AXP_COMMUNICATION_DELIVERY_STATUS_DEFINITION_KEY = 'communication-management.status.communication-delivery';
6
+ const AXP_COMMUNICATION_STATUS_PENDING = 'Pending';
7
+ const AXP_COMMUNICATION_STATUS_PROCESSING = 'Processing';
8
+ const AXP_COMMUNICATION_STATUS_COMPLETED = 'Completed';
9
+ const AXP_COMMUNICATION_STATUS_FAILED = 'Failed';
10
+ const AXP_COMMUNICATION_DELIVERY_STATUS_PENDING = 'Pending';
11
+ const AXP_COMMUNICATION_DELIVERY_STATUS_DELIVERED = 'Delivered';
12
+ //#endregion
13
+
14
+ export { AXP_COMMUNICATION_STATUS_DEFINITION_KEY as A, AXP_COMMUNICATION_DELIVERY_STATUS_DEFINITION_KEY as a };
15
+ //# sourceMappingURL=acorex-platform-module-communication-management-client-contracts-entity-catalog-status.keys-JESc4HlO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-communication-management-client-contracts-entity-catalog-status.keys-JESc4HlO.mjs","sources":["../../../../libs/modules/communication-management/contracts/src/status.keys.ts"],"sourcesContent":["//#region ---- Status definition keys ----\n\n/** Registered client status provider key for logical communications. */\nexport const AXP_COMMUNICATION_STATUS_DEFINITION_KEY = 'communication-management.status.communication';\n\n/** Registered client status provider key for communication deliveries. */\nexport const AXP_COMMUNICATION_DELIVERY_STATUS_DEFINITION_KEY =\n 'communication-management.status.communication-delivery';\n\nexport const AXP_COMMUNICATION_STATUS_PENDING = 'Pending' as const;\nexport const AXP_COMMUNICATION_STATUS_PROCESSING = 'Processing' as const;\nexport const AXP_COMMUNICATION_STATUS_COMPLETED = 'Completed' as const;\nexport const AXP_COMMUNICATION_STATUS_FAILED = 'Failed' as const;\n\nexport const AXP_COMMUNICATION_DELIVERY_STATUS_PENDING = 'Pending' as const;\nexport const AXP_COMMUNICATION_DELIVERY_STATUS_DELIVERED = 'Delivered' as const;\n\n//#endregion\n"],"names":[],"mappings":"AAAA;AAEA;AACO,MAAM,uCAAuC,GAAG;AAEvD;AACO,MAAM,gDAAgD,GAC3D;AAEK,MAAM,gCAAgC,GAAG,SAAkB;AAC3D,MAAM,mCAAmC,GAAG,YAAqB;AACjE,MAAM,kCAAkC,GAAG,WAAoB;AAC/D,MAAM,+BAA+B,GAAG,QAAiB;AAEzD,MAAM,yCAAyC,GAAG,SAAkB;AACpE,MAAM,2CAA2C,GAAG,WAAoB;AAE/E;;;;"}
@@ -0,0 +1,2 @@
1
+ export { c as communicationManagementLocalEntityCatalog } from './acorex-platform-module-communication-management-client-contracts-entity-catalog-acorex-platform-module-communication-management-client-contracts-entity-catalog-BvLoGDK5.mjs';
2
+ //# sourceMappingURL=acorex-platform-module-communication-management-client-contracts-entity-catalog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-communication-management-client-contracts-entity-catalog.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-communication-management-client-contracts.mjs","sources":["../../../../libs/modules/communication-management/contracts/src/channels/channel.adapter.ts","../../../../libs/modules/communication-management/contracts/src/channels/channel.registration.ts","../../../../libs/modules/communication-management/contracts/src/channels/channel.types.ts","../../../../libs/modules/communication-management/contracts/src/channels/channel.registry.ts","../../../../libs/modules/communication-management/contracts/src/channels/debug-redirect.registration.ts","../../../../libs/modules/communication-management/contracts/src/communication-email.keys.ts","../../../../libs/modules/communication-management/contracts/src/communication-email.types.ts","../../../../libs/modules/communication-management/contracts/src/commands.keys.ts","../../../../libs/modules/communication-management/contracts/src/communication.types.ts","../../../../libs/modules/communication-management/contracts/src/communication-message.util.ts","../../../../libs/modules/communication-management/contracts/src/communication-delivery-job-title.util.ts","../../../../libs/modules/communication-management/contracts/src/engagement.types.ts","../../../../libs/modules/communication-management/contracts/src/menu.keys.ts","../../../../libs/modules/communication-management/contracts/src/permission.keys.ts","../../../../libs/modules/communication-management/contracts/src/root-config.ts","../../../../libs/modules/communication-management/contracts/src/server-commands.ts","../../../../libs/modules/communication-management/contracts/src/communication-user-notifications-settings.constants.ts","../../../../libs/modules/communication-management/contracts/src/settings.keys.ts","../../../../libs/modules/communication-management/contracts/src/status.keys.ts","../../../../libs/modules/communication-management/contracts/src/acorex-platform-module-communication-management-client-contracts.ts"],"sourcesContent":["import type {\n CommunicationAggregateStatus,\n CommunicationDeliveryStatus,\n CommunicationSendInput,\n} from '../communication.types';\nimport type { CommunicationChannelDefinition } from './channel.types';\n\n//#region ---- Channel adapter port (Phase 2+) ----\n\nexport interface CommunicationChannelAdapterContext {\n communicationId: string;\n deliveryId: string;\n input: CommunicationSendInput;\n channel: CommunicationChannelDefinition;\n now: Date;\n}\n\nexport interface CommunicationChannelDeliverResult {\n status: CommunicationDeliveryStatus;\n sentAt?: Date | null;\n deliveredAt?: Date | null;\n timelineLines: string[];\n communicationStatus: CommunicationAggregateStatus;\n}\n\nexport interface CommunicationChannelAdapter {\n readonly channelKey: string;\n deliver(context: CommunicationChannelAdapterContext): Promise<CommunicationChannelDeliverResult>;\n}\n\n//#endregion\n","import type {\n CommunicationDeliverPayload,\n CommunicationDeliverResult,\n CommunicationSendInput,\n} from '../communication.types';\n\n//#region ---- Channel adapter registration ----\n\nexport const COMMUNICATION_CHANNEL_ADAPTER = Symbol('COMMUNICATION_CHANNEL_ADAPTER');\n\n//#endregion\n\n//#region ---- Delivery executor registration ----\n\nexport const COMMUNICATION_DELIVERY_EXECUTOR = Symbol('COMMUNICATION_DELIVERY_EXECUTOR');\n\nexport interface CommunicationDeliveryExecutor {\n readonly channelKey: string;\n execute(payload: CommunicationDeliverPayload): Promise<CommunicationDeliverResult>;\n}\n\n//#endregion\n\n//#region ---- Send validation registration ----\n\nexport const COMMUNICATION_CHANNEL_SEND_VALIDATOR = Symbol('COMMUNICATION_CHANNEL_SEND_VALIDATOR');\n\nexport interface CommunicationChannelSendValidator {\n readonly channelKey: string;\n validate(input: CommunicationSendInput): void;\n}\n\n//#endregion\n","//#region ---- Channel capabilities ----\n\nexport interface CommunicationChannelCapabilities {\n deliveryConfirmation: boolean;\n deliveryReceipt: boolean;\n seenTracking: boolean;\n readReceipt: boolean;\n replyTracking: boolean;\n webhookCallbacks: boolean;\n}\n\nexport interface CommunicationChannelDefinition {\n key: string;\n title: string;\n builtIn: boolean;\n capabilities: CommunicationChannelCapabilities;\n}\n\nexport const COMMUNICATION_BUILTIN_CHANNEL_KEYS = ['in-app', 'email-smtp'] as const;\nexport type CommunicationBuiltinChannelKey = (typeof COMMUNICATION_BUILTIN_CHANNEL_KEYS)[number];\n\nexport const BUILTIN_CHANNEL_DEFINITIONS: readonly CommunicationChannelDefinition[] = [\n {\n key: 'in-app',\n title: 'In-App',\n builtIn: true,\n capabilities: {\n deliveryConfirmation: true,\n deliveryReceipt: true,\n seenTracking: true,\n readReceipt: true,\n replyTracking: false,\n webhookCallbacks: false,\n },\n },\n {\n key: 'email-smtp',\n title: 'Email (SMTP)',\n builtIn: true,\n capabilities: {\n deliveryConfirmation: true,\n deliveryReceipt: false,\n seenTracking: false,\n readReceipt: false,\n replyTracking: false,\n webhookCallbacks: false,\n },\n },\n] as const;\n\n//#endregion\n","import {\n BUILTIN_CHANNEL_DEFINITIONS,\n type CommunicationChannelDefinition,\n} from './channel.types';\n\n//#region ---- Built-in channel registry ----\n\nconst registry = new Map<string, CommunicationChannelDefinition>(\n BUILTIN_CHANNEL_DEFINITIONS.map((channel) => [channel.key, channel]),\n);\n\nexport function listCommunicationChannels(): CommunicationChannelDefinition[] {\n return [...registry.values()];\n}\n\nexport function getCommunicationChannel(key: string): CommunicationChannelDefinition | undefined {\n return registry.get(key);\n}\n\nexport function registerCommunicationChannel(definition: CommunicationChannelDefinition): void {\n registry.set(definition.key, definition);\n}\n\nexport function isBuiltInCommunicationChannel(key: string): boolean {\n return BUILTIN_CHANNEL_DEFINITIONS.some((channel) => channel.key === key);\n}\n\n//#endregion\n","//#region ---- Debug redirect resolver registration ----\n\nexport const COMMUNICATION_DEBUG_REDIRECT_RESOLVER = Symbol('COMMUNICATION_DEBUG_REDIRECT_RESOLVER');\n\nexport interface CommunicationDebugRedirectResolver {\n readonly channelKey: string;\n resolveOverride(tenantId: string): Promise<string | null>;\n}\n\nexport interface CommunicationDebugRedirectResult {\n effectiveRecipient: string | null;\n redirected: boolean;\n skipped: boolean;\n timelineNote?: string;\n}\n\n//#endregion\n","//#region ---- Email command keys ----\n\nexport const COMMUNICATION_MANAGEMENT_EMAIL_SHOW_DIALOG_COMMAND_KEY =\n 'CommunicationManagement:Email:ShowDialog' as const;\n\nexport const COMMUNICATION_MANAGEMENT_EMAIL_SEND_COMMAND_KEY =\n 'CommunicationManagement:Email:Send' as const;\n\n//#endregion\n","//#region ---- Email compose types ----\n\n/** Opens the send-email layout dialog (optional text template pre-render). */\nexport interface CommunicationManagementEmailShowDialogInput {\n dialogTitle?: string;\n to?: string;\n cc?: string;\n bcc?: string;\n subject?: string;\n body?: string;\n textTemplateId?: string;\n merge?: Record<string, string>;\n}\n\nexport interface CommunicationManagementEmailSendInput {\n to: string;\n cc?: string;\n bcc?: string;\n subject: string;\n body: string;\n textTemplateId?: string;\n}\n\nexport interface CommunicationManagementEmailSendResult {\n communicationId: string;\n deliveryId: string;\n}\n\n//#endregion\n","//#region ---- Client command keys ----\n\nexport const AXMCommunicationManagementCommandKeys = {\n Send: 'CommunicationManagement:Communication:Send',\n TestSmtp: 'CommunicationManagement:Communication:TestSmtp',\n EmailShowDialog: 'CommunicationManagement:Email:ShowDialog',\n EmailSend: 'CommunicationManagement:Email:Send',\n ShowSentMessage: 'CommunicationManagement:Communication:ShowSentMessage',\n} as const;\n\n//#endregion\n","//#region ---- Communication domain types ----\n\nexport type CommunicationAggregateStatus = 'Pending' | 'Processing' | 'Completed' | 'Failed' | 'Cancelled';\n\nexport type CommunicationDeliveryStatus =\n | 'Pending'\n | 'Queued'\n | 'Processing'\n | 'Accepted'\n | 'Sent'\n | 'Delivered'\n | 'Failed'\n | 'RetryScheduled'\n | 'Cancelled'\n | 'DeadLettered';\n\nexport interface CommunicationMessage {\n subject: string;\n body: string;\n}\n\nexport interface CommunicationNotificationAction {\n title: string;\n command: {\n name: string;\n options?: Record<string, unknown>;\n };\n}\n\nexport type CommunicationPriority = 'Notice' | 'Danger' | 'Warning';\n\nexport interface AXMCommunicationModel {\n id: string;\n title: string;\n message?: CommunicationMessage;\n definitionKey?: string;\n correlationId?: string;\n idempotencyKey?: string;\n actions?: CommunicationNotificationAction[];\n status: CommunicationAggregateStatus;\n primaryChannel?: string;\n recipientSummary?: string;\n priority?: CommunicationPriority;\n}\n\nexport interface AXMCommunicationDeliveryModel {\n id: string;\n communicationId: string;\n channel: string;\n providerKey?: string;\n status: CommunicationDeliveryStatus;\n recipientUserId?: string;\n recipientAddress?: string;\n /** Provider-assigned message id (SMTP Message-ID, Telegram message_id, WhatsApp wamid, etc.). */\n providerMessageId?: string | null;\n sentAt?: Date | null;\n deliveredAt?: Date | null;\n seenAt?: Date | null;\n readAt?: Date | null;\n repliedAt?: Date | null;\n isPinned?: boolean;\n archivedAt?: Date | null;\n timelineSummary?: string;\n}\n\nexport interface CommunicationSendInput {\n title: string;\n message: CommunicationMessage;\n channel: string;\n recipientUserId?: string;\n recipientAddress?: string;\n /** Human-readable recipient label (e.g. employee full name) for summaries and job titles. */\n recipientName?: string;\n /**\n * Tenant scope for system/unauthenticated sends (e.g. public password-reset).\n * When omitted, channel adapters use the authenticated session tenant.\n */\n tenantId?: string;\n definitionKey?: string;\n correlationId?: string;\n idempotencyKey?: string;\n priority?: CommunicationPriority;\n actions?: CommunicationNotificationAction[];\n}\n\nexport interface CommunicationSendResult {\n communicationId: string;\n deliveryId: string;\n status: CommunicationDeliveryStatus;\n}\n\nexport interface CommunicationDeliverPayload {\n deliveryId: string;\n communicationId: string;\n tenantId: string;\n}\n\nexport interface CommunicationDeliverResult {\n deliveryId: string;\n status: CommunicationDeliveryStatus;\n messageId?: string;\n}\n\nexport interface CommunicationSmtpTestInput {\n recipientAddress: string;\n}\n\nexport interface CommunicationSmtpTestResult {\n recipientAddress: string;\n messageId?: string;\n}\n\n//#endregion\n","//#region ---- Communication message helpers ----\n\nimport type { CommunicationMessage } from './communication.types';\n\nexport function resolveCommunicationMessage(\n communication: Record<string, unknown>,\n fallbackTitle = 'Message',\n): CommunicationMessage {\n const message = communication['message'];\n if (message != null && typeof message === 'object' && !Array.isArray(message)) {\n const nested = message as Record<string, unknown>;\n const subject = typeof nested['subject'] === 'string' ? nested['subject'] : '';\n const body = typeof nested['body'] === 'string' ? nested['body'] : '';\n if (subject || body) {\n return {\n subject: subject || String(communication['title'] ?? fallbackTitle),\n body,\n };\n }\n }\n\n const legacySubject = typeof communication['subject'] === 'string' ? communication['subject'] : '';\n const legacyBody = typeof communication['body'] === 'string' ? communication['body'] : '';\n return {\n subject: legacySubject || String(communication['title'] ?? fallbackTitle),\n body: legacyBody,\n };\n}\n\n//#endregion\n","//#region ---- Communication delivery job title helpers ----\n\nimport type { CommunicationSendInput } from './communication.types';\n\nexport type CommunicationRecipientLabelInput = Pick<\n CommunicationSendInput,\n 'recipientName' | 'recipientAddress' | 'recipientUserId'\n>;\n\nexport function resolveCommunicationRecipientLabel(input: CommunicationRecipientLabelInput): string {\n const name = input.recipientName?.trim();\n if (name) {\n return name;\n }\n\n const address = input.recipientAddress?.trim();\n if (address) {\n return address;\n }\n\n const userId = input.recipientUserId?.trim();\n if (userId) {\n return userId;\n }\n\n return 'Unknown recipient';\n}\n\nexport function formatCommunicationDeliveryJobTitle(\n channelLabel: string,\n input: CommunicationRecipientLabelInput,\n): string {\n return `${channelLabel} — ${resolveCommunicationRecipientLabel(input)}`;\n}\n\n//#endregion\n","//#region ---- In-app engagement types ----\n\nexport interface CommunicationDeliveryEngagementRequest {\n deliveryIds: string[];\n}\n\nexport interface CommunicationDeliveryEngagementResult {\n updatedIds: string[];\n}\n\nexport interface CommunicationDeliveryMutationResult {\n affectedIds: string[];\n}\n\n//#endregion\n","//#region ----- Menu keys -----\n\nexport const AXMCommunicationManagementMenuKeys = {\n Root: 'CommunicationManagement:Menu:Root',\n Communications: 'CommunicationManagement:Menu:Communications',\n} as const;\n\n//#endregion\n","/**\n * Collaboration capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPCollaborationPermissionKeys = {\n Access: 'Collaboration:Permission:Access',\n MaintainConversations: 'Collaboration:Permission:MaintainConversations',\n MaintainMeetings: 'Collaboration:Permission:MaintainMeetings',\n MaintainCalendars: 'Collaboration:Permission:MaintainCalendars',\n MaintainCommunications: 'Collaboration:Permission:MaintainCommunications',\n MaintainReservations: 'Collaboration:Permission:MaintainReservations',\n MaintainHelpDesk: 'Collaboration:Permission:MaintainHelpDesk',\n Setup: 'Collaboration:Permission:Setup',\n} as const;\n\nconst maintainCommunications = AXPCollaborationPermissionKeys.MaintainCommunications;\n\n/**\n * @deprecated Prefer {@link AXPCollaborationPermissionKeys}.\n * Legacy flat shape kept so existing imports compile during migration.\n */\nexport const AXMCommunicationManagementPermissionKeys = {\n Management: maintainCommunications,\n Send: maintainCommunications,\n Email: {\n ShowDialog: maintainCommunications,\n Send: maintainCommunications,\n },\n} as const;\n","const config = {\n i18n: 'communication-management',\n};\n\nconst dashboardWidgetId = (segment: string): string =>\n `CommunicationManagement:Widget:Dashboard:${segment}`;\n\nexport const RootConfig = {\n config,\n module: {\n name: 'CommunicationManagement',\n title: '@communication-management:module.title',\n icon: 'fa-light fa-paper-plane',\n },\n entities: {\n communication: {\n name: 'Communications',\n title: '@communication-management:entities.communication.title',\n titlePlural: '@communication-management:entities.communication.plural',\n icon: 'fa-light fa-envelope',\n },\n communicationDelivery: {\n name: 'CommunicationDeliveries',\n title: '@communication-management:entities.communication-delivery.title',\n titlePlural: '@communication-management:entities.communication-delivery.plural',\n icon: 'fa-light fa-truck-fast',\n },\n },\n widgets: {\n myInAppInboxDashboard: dashboardWidgetId('MyInAppInboxDashboard'),\n },\n queries: {\n dashboard: {\n deliveryStatusDonut: 'CommunicationManagement:Dashboard:DeliveryStatusDonut',\n },\n },\n} as const;\n\nexport const COMMUNICATION_ENTITY_NAME = `${RootConfig.module.name}.${RootConfig.entities.communication.name}`;\nexport const COMMUNICATION_DELIVERY_ENTITY_NAME = `${RootConfig.module.name}.${RootConfig.entities.communicationDelivery.name}`;\n","//#region ---- Server command keys ----\n\nexport const AXMCommunicationManagementServerCommands = {\n Send: 'CommunicationManagement:Server:Send',\n Deliver: 'CommunicationManagement:Server:Deliver',\n InApp: {\n MarkSeen: 'CommunicationManagement:InApp:MarkSeen',\n MarkRead: 'CommunicationManagement:InApp:MarkRead',\n MarkAllRead: 'CommunicationManagement:InApp:MarkAllRead',\n TogglePin: 'CommunicationManagement:InApp:TogglePin',\n Archive: 'CommunicationManagement:InApp:Archive',\n Delete: 'CommunicationManagement:InApp:Delete',\n },\n Smtp: {\n Test: 'CommunicationManagement:Smtp:Test',\n },\n} as const;\n\n//#endregion\n","//#region ---- User notification settings layout (shared with channel extensions) ----\n\n/** Settings group slug → `/:app/settings/user/communication-notifications` */\nexport const AXP_COMMUNICATION_USER_NOTIFICATIONS_SETTINGS_GROUP = 'communication-notifications';\n\n/** Section within {@link AXP_COMMUNICATION_USER_NOTIFICATIONS_SETTINGS_GROUP}. */\nexport const AXP_COMMUNICATION_DELIVERY_CHANNELS_SETTINGS_SECTION = 'delivery-channels';\n\n//#endregion\n","//#region ---- Communication management SMTP settings ----\n\nexport enum AXPCommunicationManagementSettingKeys {\n EmailServer = 'CommunicationManagement:Setting:Email.Server',\n EmailPort = 'CommunicationManagement:Setting:Email.Port',\n EmailUsername = 'CommunicationManagement:Setting:Email.Username',\n EmailPassword = 'CommunicationManagement:Setting:Email.Password',\n EmailFromAddress = 'CommunicationManagement:Setting:Email.FromAddress',\n EmailUseSsl = 'CommunicationManagement:Setting:Email.UseSSL',\n EmailUseTls = 'CommunicationManagement:Setting:Email.UseTLS',\n DebugRedirectEmailAddress = 'CommunicationManagement:Setting:Debug.Redirect.EmailAddress',\n UserChannelInAppEnabled = 'CommunicationManagement:Setting:User.Channel.InApp.Enabled',\n UserChannelEmailEnabled = 'CommunicationManagement:Setting:User.Channel.Email.Enabled',\n}\n\nexport const AXP_COMMUNICATION_USER_NOTIFICATION_DEFAULTS: Record<string, unknown> = {\n [AXPCommunicationManagementSettingKeys.UserChannelInAppEnabled]: true,\n [AXPCommunicationManagementSettingKeys.UserChannelEmailEnabled]: true,\n};\n\nexport const AXP_COMMUNICATION_SMTP_SETTING_DEFAULTS: Record<string, unknown> = {\n [AXPCommunicationManagementSettingKeys.EmailServer]: '',\n [AXPCommunicationManagementSettingKeys.EmailPort]: 587,\n [AXPCommunicationManagementSettingKeys.EmailUsername]: '',\n [AXPCommunicationManagementSettingKeys.EmailPassword]: '',\n [AXPCommunicationManagementSettingKeys.EmailFromAddress]: '',\n [AXPCommunicationManagementSettingKeys.EmailUseSsl]: false,\n [AXPCommunicationManagementSettingKeys.EmailUseTls]: true,\n [AXPCommunicationManagementSettingKeys.DebugRedirectEmailAddress]: '',\n};\n\nexport interface CommunicationSmtpSettings {\n server: string;\n port: number;\n username: string;\n password: string;\n fromAddress: string;\n useSsl: boolean;\n useTls: boolean;\n}\n\n//#endregion\n","//#region ---- Status definition keys ----\n\n/** Registered client status provider key for logical communications. */\nexport const AXP_COMMUNICATION_STATUS_DEFINITION_KEY = 'communication-management.status.communication';\n\n/** Registered client status provider key for communication deliveries. */\nexport const AXP_COMMUNICATION_DELIVERY_STATUS_DEFINITION_KEY =\n 'communication-management.status.communication-delivery';\n\nexport const AXP_COMMUNICATION_STATUS_PENDING = 'Pending' as const;\nexport const AXP_COMMUNICATION_STATUS_PROCESSING = 'Processing' as const;\nexport const AXP_COMMUNICATION_STATUS_COMPLETED = 'Completed' as const;\nexport const AXP_COMMUNICATION_STATUS_FAILED = 'Failed' as const;\n\nexport const AXP_COMMUNICATION_DELIVERY_STATUS_PENDING = 'Pending' as const;\nexport const AXP_COMMUNICATION_DELIVERY_STATUS_DELIVERED = 'Delivered' as const;\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-communication-management-client-contracts.mjs","sources":["../../../../libs/modules/communication-management/contracts/src/channels/channel.adapter.ts","../../../../libs/modules/communication-management/contracts/src/channels/channel.registration.ts","../../../../libs/modules/communication-management/contracts/src/channels/channel.types.ts","../../../../libs/modules/communication-management/contracts/src/channels/channel.registry.ts","../../../../libs/modules/communication-management/contracts/src/channels/debug-redirect.registration.ts","../../../../libs/modules/communication-management/contracts/src/communication-email.keys.ts","../../../../libs/modules/communication-management/contracts/src/communication-email.types.ts","../../../../libs/modules/communication-management/contracts/src/commands.keys.ts","../../../../libs/modules/communication-management/contracts/src/communication.types.ts","../../../../libs/modules/communication-management/contracts/src/communication-message.util.ts","../../../../libs/modules/communication-management/contracts/src/communication-delivery-job-title.util.ts","../../../../libs/modules/communication-management/contracts/src/engagement.types.ts","../../../../libs/modules/communication-management/contracts/src/menu.keys.ts","../../../../libs/modules/communication-management/contracts/src/permission.keys.ts","../../../../libs/modules/communication-management/contracts/src/root-config.ts","../../../../libs/modules/communication-management/contracts/src/server-commands.ts","../../../../libs/modules/communication-management/contracts/src/communication-user-notifications-settings.constants.ts","../../../../libs/modules/communication-management/contracts/src/settings.keys.ts","../../../../libs/modules/communication-management/contracts/src/status.keys.ts","../../../../libs/modules/communication-management/contracts/src/acorex-platform-module-communication-management-client-contracts.ts"],"sourcesContent":["import type {\n CommunicationAggregateStatus,\n CommunicationDeliveryStatus,\n CommunicationSendInput,\n} from '../communication.types';\nimport type { CommunicationChannelDefinition } from './channel.types';\n\n//#region ---- Channel adapter port (Phase 2+) ----\n\nexport interface CommunicationChannelAdapterContext {\n communicationId: string;\n deliveryId: string;\n input: CommunicationSendInput;\n channel: CommunicationChannelDefinition;\n now: Date;\n}\n\nexport interface CommunicationChannelDeliverResult {\n status: CommunicationDeliveryStatus;\n sentAt?: Date | null;\n deliveredAt?: Date | null;\n timelineLines: string[];\n communicationStatus: CommunicationAggregateStatus;\n}\n\nexport interface CommunicationChannelAdapter {\n readonly channelKey: string;\n deliver(context: CommunicationChannelAdapterContext): Promise<CommunicationChannelDeliverResult>;\n}\n\n//#endregion\n","import type {\n CommunicationDeliverPayload,\n CommunicationDeliverResult,\n CommunicationSendInput,\n} from '../communication.types';\n\n//#region ---- Channel adapter registration ----\n\nexport const COMMUNICATION_CHANNEL_ADAPTER = Symbol('COMMUNICATION_CHANNEL_ADAPTER');\n\n//#endregion\n\n//#region ---- Delivery executor registration ----\n\nexport const COMMUNICATION_DELIVERY_EXECUTOR = Symbol('COMMUNICATION_DELIVERY_EXECUTOR');\n\nexport interface CommunicationDeliveryExecutor {\n readonly channelKey: string;\n execute(payload: CommunicationDeliverPayload): Promise<CommunicationDeliverResult>;\n}\n\n//#endregion\n\n//#region ---- Send validation registration ----\n\nexport const COMMUNICATION_CHANNEL_SEND_VALIDATOR = Symbol('COMMUNICATION_CHANNEL_SEND_VALIDATOR');\n\nexport interface CommunicationChannelSendValidator {\n readonly channelKey: string;\n validate(input: CommunicationSendInput): void;\n}\n\n//#endregion\n","//#region ---- Channel capabilities ----\n\nexport interface CommunicationChannelCapabilities {\n deliveryConfirmation: boolean;\n deliveryReceipt: boolean;\n seenTracking: boolean;\n readReceipt: boolean;\n replyTracking: boolean;\n webhookCallbacks: boolean;\n}\n\nexport interface CommunicationChannelDefinition {\n key: string;\n title: string;\n builtIn: boolean;\n capabilities: CommunicationChannelCapabilities;\n}\n\nexport const COMMUNICATION_BUILTIN_CHANNEL_KEYS = ['in-app', 'email-smtp'] as const;\nexport type CommunicationBuiltinChannelKey = (typeof COMMUNICATION_BUILTIN_CHANNEL_KEYS)[number];\n\nexport const BUILTIN_CHANNEL_DEFINITIONS: readonly CommunicationChannelDefinition[] = [\n {\n key: 'in-app',\n title: 'In-App',\n builtIn: true,\n capabilities: {\n deliveryConfirmation: true,\n deliveryReceipt: true,\n seenTracking: true,\n readReceipt: true,\n replyTracking: false,\n webhookCallbacks: false,\n },\n },\n {\n key: 'email-smtp',\n title: 'Email (SMTP)',\n builtIn: true,\n capabilities: {\n deliveryConfirmation: true,\n deliveryReceipt: false,\n seenTracking: false,\n readReceipt: false,\n replyTracking: false,\n webhookCallbacks: false,\n },\n },\n] as const;\n\n//#endregion\n","import {\n BUILTIN_CHANNEL_DEFINITIONS,\n type CommunicationChannelDefinition,\n} from './channel.types';\n\n//#region ---- Built-in channel registry ----\n\nconst registry = new Map<string, CommunicationChannelDefinition>(\n BUILTIN_CHANNEL_DEFINITIONS.map((channel) => [channel.key, channel]),\n);\n\nexport function listCommunicationChannels(): CommunicationChannelDefinition[] {\n return [...registry.values()];\n}\n\nexport function getCommunicationChannel(key: string): CommunicationChannelDefinition | undefined {\n return registry.get(key);\n}\n\nexport function registerCommunicationChannel(definition: CommunicationChannelDefinition): void {\n registry.set(definition.key, definition);\n}\n\nexport function isBuiltInCommunicationChannel(key: string): boolean {\n return BUILTIN_CHANNEL_DEFINITIONS.some((channel) => channel.key === key);\n}\n\n//#endregion\n","//#region ---- Debug redirect resolver registration ----\n\nexport const COMMUNICATION_DEBUG_REDIRECT_RESOLVER = Symbol('COMMUNICATION_DEBUG_REDIRECT_RESOLVER');\n\nexport interface CommunicationDebugRedirectResolver {\n readonly channelKey: string;\n resolveOverride(tenantId: string): Promise<string | null>;\n}\n\nexport interface CommunicationDebugRedirectResult {\n effectiveRecipient: string | null;\n redirected: boolean;\n skipped: boolean;\n timelineNote?: string;\n}\n\n//#endregion\n","//#region ---- Email command keys ----\n\nexport const COMMUNICATION_MANAGEMENT_EMAIL_SHOW_DIALOG_COMMAND_KEY =\n 'CommunicationManagement:Email:ShowDialog' as const;\n\nexport const COMMUNICATION_MANAGEMENT_EMAIL_SEND_COMMAND_KEY =\n 'CommunicationManagement:Email:Send' as const;\n\n//#endregion\n","//#region ---- Email compose types ----\n\n/** Opens the send-email layout dialog (optional text template pre-render). */\nexport interface CommunicationManagementEmailShowDialogInput {\n dialogTitle?: string;\n to?: string;\n cc?: string;\n bcc?: string;\n subject?: string;\n body?: string;\n textTemplateId?: string;\n data?: Record<string, unknown>;\n}\n\nexport interface CommunicationManagementEmailSendInput {\n to: string;\n cc?: string;\n bcc?: string;\n subject: string;\n body: string;\n textTemplateId?: string;\n}\n\nexport interface CommunicationManagementEmailSendResult {\n communicationId: string;\n deliveryId: string;\n}\n\n//#endregion\n","//#region ---- Client command keys ----\n\nexport const AXMCommunicationManagementCommandKeys = {\n Send: 'CommunicationManagement:Communication:Send',\n TestSmtp: 'CommunicationManagement:Communication:TestSmtp',\n EmailShowDialog: 'CommunicationManagement:Email:ShowDialog',\n EmailSend: 'CommunicationManagement:Email:Send',\n ShowSentMessage: 'CommunicationManagement:Communication:ShowSentMessage',\n} as const;\n\n//#endregion\n","//#region ---- Communication domain types ----\n\nexport type CommunicationAggregateStatus = 'Pending' | 'Processing' | 'Completed' | 'Failed' | 'Cancelled';\n\nexport type CommunicationDeliveryStatus =\n | 'Pending'\n | 'Queued'\n | 'Processing'\n | 'Accepted'\n | 'Sent'\n | 'Delivered'\n | 'Failed'\n | 'RetryScheduled'\n | 'Cancelled'\n | 'DeadLettered';\n\nexport interface CommunicationMessage {\n subject: string;\n body: string;\n}\n\nexport interface CommunicationNotificationAction {\n title: string;\n command: {\n name: string;\n options?: Record<string, unknown>;\n };\n}\n\nexport type CommunicationPriority = 'Notice' | 'Danger' | 'Warning';\n\nexport interface AXMCommunicationModel {\n id: string;\n title: string;\n message?: CommunicationMessage;\n definitionKey?: string;\n correlationId?: string;\n idempotencyKey?: string;\n actions?: CommunicationNotificationAction[];\n status: CommunicationAggregateStatus;\n primaryChannel?: string;\n recipientSummary?: string;\n priority?: CommunicationPriority;\n}\n\nexport interface AXMCommunicationDeliveryModel {\n id: string;\n communicationId: string;\n channel: string;\n providerKey?: string;\n status: CommunicationDeliveryStatus;\n recipientUserId?: string;\n recipientAddress?: string;\n /** Provider-assigned message id (SMTP Message-ID, Telegram message_id, WhatsApp wamid, etc.). */\n providerMessageId?: string | null;\n sentAt?: Date | null;\n deliveredAt?: Date | null;\n seenAt?: Date | null;\n readAt?: Date | null;\n repliedAt?: Date | null;\n isPinned?: boolean;\n archivedAt?: Date | null;\n timelineSummary?: string;\n}\n\nexport interface CommunicationSendInput {\n title: string;\n message: CommunicationMessage;\n channel: string;\n recipientUserId?: string;\n recipientAddress?: string;\n /** Human-readable recipient label (e.g. employee full name) for summaries and job titles. */\n recipientName?: string;\n /**\n * Tenant scope for system/unauthenticated sends (e.g. public password-reset).\n * When omitted, channel adapters use the authenticated session tenant.\n */\n tenantId?: string;\n definitionKey?: string;\n correlationId?: string;\n idempotencyKey?: string;\n priority?: CommunicationPriority;\n actions?: CommunicationNotificationAction[];\n /**\n * When true, in-app debug redirect must not rewrite the recipient.\n * Required for conversation chat rows created in the sender's HTTP session.\n */\n bypassDebugRedirect?: boolean;\n}\n\nexport interface CommunicationSendResult {\n communicationId: string;\n deliveryId: string;\n status: CommunicationDeliveryStatus;\n}\n\nexport interface CommunicationDeliverPayload {\n deliveryId: string;\n communicationId: string;\n tenantId: string;\n}\n\nexport interface CommunicationDeliverResult {\n deliveryId: string;\n status: CommunicationDeliveryStatus;\n messageId?: string;\n}\n\nexport interface CommunicationSmtpTestInput {\n recipientAddress: string;\n}\n\nexport interface CommunicationSmtpTestResult {\n recipientAddress: string;\n messageId?: string;\n}\n\n//#endregion\n","//#region ---- Communication message helpers ----\n\nimport type { CommunicationMessage } from './communication.types';\n\nexport function resolveCommunicationMessage(\n communication: Record<string, unknown>,\n fallbackTitle = 'Message',\n): CommunicationMessage {\n const message = communication['message'];\n if (message != null && typeof message === 'object' && !Array.isArray(message)) {\n const nested = message as Record<string, unknown>;\n const subject = typeof nested['subject'] === 'string' ? nested['subject'] : '';\n const body = typeof nested['body'] === 'string' ? nested['body'] : '';\n if (subject || body) {\n return {\n subject: subject || String(communication['title'] ?? fallbackTitle),\n body,\n };\n }\n }\n\n const legacySubject = typeof communication['subject'] === 'string' ? communication['subject'] : '';\n const legacyBody = typeof communication['body'] === 'string' ? communication['body'] : '';\n return {\n subject: legacySubject || String(communication['title'] ?? fallbackTitle),\n body: legacyBody,\n };\n}\n\n//#endregion\n","//#region ---- Communication delivery job title helpers ----\n\nimport type { CommunicationSendInput } from './communication.types';\n\nexport type CommunicationRecipientLabelInput = Pick<\n CommunicationSendInput,\n 'recipientName' | 'recipientAddress' | 'recipientUserId'\n>;\n\nexport function resolveCommunicationRecipientLabel(input: CommunicationRecipientLabelInput): string {\n const name = input.recipientName?.trim();\n if (name) {\n return name;\n }\n\n const address = input.recipientAddress?.trim();\n if (address) {\n return address;\n }\n\n const userId = input.recipientUserId?.trim();\n if (userId) {\n return userId;\n }\n\n return 'Unknown recipient';\n}\n\nexport function formatCommunicationDeliveryJobTitle(\n channelLabel: string,\n input: CommunicationRecipientLabelInput,\n): string {\n return `${channelLabel} — ${resolveCommunicationRecipientLabel(input)}`;\n}\n\n//#endregion\n","//#region ---- In-app engagement types ----\n\nexport interface CommunicationDeliveryEngagementRequest {\n deliveryIds: string[];\n}\n\nexport interface CommunicationDeliveryEngagementResult {\n updatedIds: string[];\n}\n\nexport interface CommunicationDeliveryMutationResult {\n affectedIds: string[];\n}\n\n//#endregion\n","//#region ----- Menu keys -----\n\nexport const AXMCommunicationManagementMenuKeys = {\n Root: 'CommunicationManagement:Menu:Root',\n Communications: 'CommunicationManagement:Menu:Communications',\n} as const;\n\n//#endregion\n","/**\n * Collaboration capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPCollaborationPermissionKeys = {\n Access: 'Collaboration:Permission:Access',\n MaintainConversations: 'Collaboration:Permission:MaintainConversations',\n MaintainMeetings: 'Collaboration:Permission:MaintainMeetings',\n MaintainCalendars: 'Collaboration:Permission:MaintainCalendars',\n MaintainCommunications: 'Collaboration:Permission:MaintainCommunications',\n MaintainReservations: 'Collaboration:Permission:MaintainReservations',\n MaintainHelpDesk: 'Collaboration:Permission:MaintainHelpDesk',\n Setup: 'Collaboration:Permission:Setup',\n} as const;\n\nconst maintainCommunications = AXPCollaborationPermissionKeys.MaintainCommunications;\n\n/**\n * @deprecated Prefer {@link AXPCollaborationPermissionKeys}.\n * Legacy flat shape kept so existing imports compile during migration.\n */\nexport const AXMCommunicationManagementPermissionKeys = {\n Management: maintainCommunications,\n Send: maintainCommunications,\n Email: {\n ShowDialog: maintainCommunications,\n Send: maintainCommunications,\n },\n} as const;\n","const config = {\n i18n: 'communication-management',\n};\n\nconst dashboardWidgetId = (segment: string): string =>\n `CommunicationManagement:Widget:Dashboard:${segment}`;\n\nexport const RootConfig = {\n config,\n module: {\n name: 'CommunicationManagement',\n title: '@communication-management:module.title',\n icon: 'fa-light fa-paper-plane',\n },\n entities: {\n communication: {\n name: 'Communications',\n title: '@communication-management:entities.communication.title',\n titlePlural: '@communication-management:entities.communication.plural',\n icon: 'fa-light fa-envelope',\n },\n communicationDelivery: {\n name: 'CommunicationDeliveries',\n title: '@communication-management:entities.communication-delivery.title',\n titlePlural: '@communication-management:entities.communication-delivery.plural',\n icon: 'fa-light fa-truck-fast',\n },\n },\n widgets: {\n myInAppInboxDashboard: dashboardWidgetId('MyInAppInboxDashboard'),\n },\n queries: {\n dashboard: {\n deliveryStatusDonut: 'CommunicationManagement:Dashboard:DeliveryStatusDonut',\n },\n },\n} as const;\n\nexport const COMMUNICATION_ENTITY_NAME = `${RootConfig.module.name}.${RootConfig.entities.communication.name}`;\nexport const COMMUNICATION_DELIVERY_ENTITY_NAME = `${RootConfig.module.name}.${RootConfig.entities.communicationDelivery.name}`;\n","//#region ---- Server command keys ----\n\nexport const AXMCommunicationManagementServerCommands = {\n Send: 'CommunicationManagement:Server:Send',\n Deliver: 'CommunicationManagement:Server:Deliver',\n InApp: {\n MarkSeen: 'CommunicationManagement:InApp:MarkSeen',\n MarkRead: 'CommunicationManagement:InApp:MarkRead',\n MarkAllRead: 'CommunicationManagement:InApp:MarkAllRead',\n TogglePin: 'CommunicationManagement:InApp:TogglePin',\n Archive: 'CommunicationManagement:InApp:Archive',\n Delete: 'CommunicationManagement:InApp:Delete',\n },\n Smtp: {\n Test: 'CommunicationManagement:Smtp:Test',\n },\n} as const;\n\n//#endregion\n","//#region ---- User notification settings layout (shared with channel extensions) ----\n\n/** Settings group slug → `/:app/settings/user/communication-notifications` */\nexport const AXP_COMMUNICATION_USER_NOTIFICATIONS_SETTINGS_GROUP = 'communication-notifications';\n\n/** Section within {@link AXP_COMMUNICATION_USER_NOTIFICATIONS_SETTINGS_GROUP}. */\nexport const AXP_COMMUNICATION_DELIVERY_CHANNELS_SETTINGS_SECTION = 'delivery-channels';\n\n//#endregion\n","//#region ---- Communication management SMTP settings ----\n\nexport enum AXPCommunicationManagementSettingKeys {\n EmailServer = 'CommunicationManagement:Setting:Email.Server',\n EmailPort = 'CommunicationManagement:Setting:Email.Port',\n EmailUsername = 'CommunicationManagement:Setting:Email.Username',\n EmailPassword = 'CommunicationManagement:Setting:Email.Password',\n EmailFromAddress = 'CommunicationManagement:Setting:Email.FromAddress',\n EmailUseSsl = 'CommunicationManagement:Setting:Email.UseSSL',\n EmailUseTls = 'CommunicationManagement:Setting:Email.UseTLS',\n DebugRedirectEmailAddress = 'CommunicationManagement:Setting:Debug.Redirect.EmailAddress',\n UserChannelInAppEnabled = 'CommunicationManagement:Setting:User.Channel.InApp.Enabled',\n UserChannelEmailEnabled = 'CommunicationManagement:Setting:User.Channel.Email.Enabled',\n}\n\nexport const AXP_COMMUNICATION_USER_NOTIFICATION_DEFAULTS: Record<string, unknown> = {\n [AXPCommunicationManagementSettingKeys.UserChannelInAppEnabled]: true,\n [AXPCommunicationManagementSettingKeys.UserChannelEmailEnabled]: true,\n};\n\nexport const AXP_COMMUNICATION_SMTP_SETTING_DEFAULTS: Record<string, unknown> = {\n [AXPCommunicationManagementSettingKeys.EmailServer]: '',\n [AXPCommunicationManagementSettingKeys.EmailPort]: 587,\n [AXPCommunicationManagementSettingKeys.EmailUsername]: '',\n [AXPCommunicationManagementSettingKeys.EmailPassword]: '',\n [AXPCommunicationManagementSettingKeys.EmailFromAddress]: '',\n [AXPCommunicationManagementSettingKeys.EmailUseSsl]: false,\n [AXPCommunicationManagementSettingKeys.EmailUseTls]: true,\n [AXPCommunicationManagementSettingKeys.DebugRedirectEmailAddress]: '',\n};\n\nexport interface CommunicationSmtpSettings {\n server: string;\n port: number;\n username: string;\n password: string;\n fromAddress: string;\n useSsl: boolean;\n useTls: boolean;\n}\n\n//#endregion\n","//#region ---- Status definition keys ----\n\n/** Registered client status provider key for logical communications. */\nexport const AXP_COMMUNICATION_STATUS_DEFINITION_KEY = 'communication-management.status.communication';\n\n/** Registered client status provider key for communication deliveries. */\nexport const AXP_COMMUNICATION_DELIVERY_STATUS_DEFINITION_KEY =\n 'communication-management.status.communication-delivery';\n\nexport const AXP_COMMUNICATION_STATUS_PENDING = 'Pending' as const;\nexport const AXP_COMMUNICATION_STATUS_PROCESSING = 'Processing' as const;\nexport const AXP_COMMUNICATION_STATUS_COMPLETED = 'Completed' as const;\nexport const AXP_COMMUNICATION_STATUS_FAILED = 'Failed' as const;\n\nexport const AXP_COMMUNICATION_DELIVERY_STATUS_PENDING = 'Pending' as const;\nexport const AXP_COMMUNICATION_DELIVERY_STATUS_DELIVERED = 'Delivered' as const;\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}