@dev.smartpricing/message-composer-utils 4.0.1 → 4.0.2
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/types/api/index.js +1 -0
- package/dist/types/api/index.js.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
- package/src/types/api/apiTemplates.ts +41 -0
- package/src/types/api/index.ts +1 -0
- package/src/types/index.ts +1 -0
- package/src/types/kafka-events.ts +18 -6
- package/src/types/template.ts +48 -0
package/dist/types/api/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
|
package/dist/types/index.js
CHANGED
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
RenderType,
|
|
3
|
+
MessageGroupCategory,
|
|
4
|
+
MessageGroupVisibility,
|
|
5
|
+
} from "../message.js";
|
|
6
|
+
import type {
|
|
7
|
+
TemplateFromDb,
|
|
8
|
+
TemplateMessageFromDb,
|
|
9
|
+
TemplateMessage,
|
|
10
|
+
} from "../template.js";
|
|
11
|
+
import type { PostEntity } from "../utils.js";
|
|
12
|
+
|
|
13
|
+
export type TemplateWithMessages = TemplateFromDb & {
|
|
14
|
+
messages: TemplateMessageFromDb[];
|
|
15
|
+
tags: string[];
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export type TemplateWithMessageSummary = TemplateFromDb & {
|
|
19
|
+
messages: Array<{
|
|
20
|
+
id: string;
|
|
21
|
+
language: string;
|
|
22
|
+
render_type: RenderType;
|
|
23
|
+
preview: string;
|
|
24
|
+
}>;
|
|
25
|
+
tags: string[];
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export interface CreateTemplatePayload {
|
|
29
|
+
name: string;
|
|
30
|
+
category: MessageGroupCategory;
|
|
31
|
+
visibility?: MessageGroupVisibility;
|
|
32
|
+
is_system?: boolean;
|
|
33
|
+
messages?: PostEntity<TemplateMessage>[];
|
|
34
|
+
tags?: string[];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface UpdateTemplatePayload {
|
|
38
|
+
name?: string;
|
|
39
|
+
category?: MessageGroupCategory;
|
|
40
|
+
messages?: PostEntity<TemplateMessage>[];
|
|
41
|
+
}
|
package/src/types/api/index.ts
CHANGED
package/src/types/index.ts
CHANGED
|
@@ -4,17 +4,20 @@ export interface KafkaEventBase {
|
|
|
4
4
|
event_id: string;
|
|
5
5
|
event_type: string;
|
|
6
6
|
timestamp: string;
|
|
7
|
-
message_group_id: string;
|
|
8
7
|
owner?: string;
|
|
9
8
|
user_id: string;
|
|
10
9
|
}
|
|
11
10
|
|
|
12
|
-
export interface
|
|
11
|
+
export interface MessageGroupKafkaEventBase extends KafkaEventBase {
|
|
12
|
+
message_group_id: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface MessageGroupDeletedEvent extends MessageGroupKafkaEventBase {
|
|
13
16
|
event_type: "MESSAGE_GROUP_DELETED";
|
|
14
17
|
message_group_name: string;
|
|
15
18
|
}
|
|
16
19
|
|
|
17
|
-
export interface MessageStatusChangedEvent extends
|
|
20
|
+
export interface MessageStatusChangedEvent extends MessageGroupKafkaEventBase {
|
|
18
21
|
event_type: "MESSAGE_STATUS_CHANGED";
|
|
19
22
|
message_id: string;
|
|
20
23
|
language_id: string;
|
|
@@ -25,22 +28,31 @@ export interface MessageStatusChangedEvent extends KafkaEventBase {
|
|
|
25
28
|
aggregated_status: Record<MessageStatus, number>;
|
|
26
29
|
}
|
|
27
30
|
|
|
28
|
-
export interface MessageGroupLanguageLostEvent extends
|
|
31
|
+
export interface MessageGroupLanguageLostEvent extends MessageGroupKafkaEventBase {
|
|
29
32
|
event_type: "MESSAGE_GROUP_LANGUAGE_LOST";
|
|
30
33
|
language_id: string;
|
|
31
34
|
}
|
|
32
35
|
|
|
33
|
-
export interface MessageGroupCategoryChangedEvent extends
|
|
36
|
+
export interface MessageGroupCategoryChangedEvent extends MessageGroupKafkaEventBase {
|
|
34
37
|
event_type: "MESSAGE_GROUP_CATEGORY_CHANGED";
|
|
35
38
|
previous_category: MessageGroupCategory;
|
|
36
39
|
new_category: MessageGroupCategory;
|
|
37
40
|
source: "meta_webhook";
|
|
38
41
|
}
|
|
39
42
|
|
|
43
|
+
// ─── Template Events ────────────────────────────────────────────────
|
|
44
|
+
|
|
45
|
+
export interface TemplateLifecycleEvent extends KafkaEventBase {
|
|
46
|
+
event_type: "TEMPLATE_CREATED" | "TEMPLATE_UPDATED" | "TEMPLATE_DELETED";
|
|
47
|
+
template_id: string;
|
|
48
|
+
template_name: string;
|
|
49
|
+
}
|
|
50
|
+
|
|
40
51
|
export type SmartnessKafkaEvent =
|
|
41
52
|
| MessageGroupDeletedEvent
|
|
42
53
|
| MessageStatusChangedEvent
|
|
43
54
|
| MessageGroupLanguageLostEvent
|
|
44
|
-
| MessageGroupCategoryChangedEvent
|
|
55
|
+
| MessageGroupCategoryChangedEvent
|
|
56
|
+
| TemplateLifecycleEvent;
|
|
45
57
|
|
|
46
58
|
export type SmartnessKafkaEventType = SmartnessKafkaEvent["event_type"];
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
MessageGroupCategory,
|
|
3
|
+
MessageGroupVisibility,
|
|
4
|
+
RenderType,
|
|
5
|
+
WhatsappMessage,
|
|
6
|
+
EmailMessage,
|
|
7
|
+
} from "./message.js";
|
|
8
|
+
import type { DbEntity, WithDbTimestamps } from "./utils.js";
|
|
9
|
+
|
|
10
|
+
export const SYSTEM_USER_ID = "SYSTEM" as const;
|
|
11
|
+
|
|
12
|
+
// ─── Template ───────────────────────────────────────────────────────
|
|
13
|
+
|
|
14
|
+
export interface Template extends DbEntity {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
category: MessageGroupCategory;
|
|
18
|
+
visibility: MessageGroupVisibility;
|
|
19
|
+
owner?: string;
|
|
20
|
+
user_id: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type TemplateFromDb = WithDbTimestamps<Template>;
|
|
24
|
+
|
|
25
|
+
// ─── Template Message ───────────────────────────────────────────────
|
|
26
|
+
|
|
27
|
+
interface BaseTemplateMessage extends DbEntity {
|
|
28
|
+
id: string;
|
|
29
|
+
template_id: string;
|
|
30
|
+
language_id: string;
|
|
31
|
+
render_type: RenderType;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface WhatsappTemplateMessage extends BaseTemplateMessage {
|
|
35
|
+
render_type: "whatsapp_v1";
|
|
36
|
+
body: WhatsappMessage["body"];
|
|
37
|
+
metadata: WhatsappMessage["metadata"];
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface EmailTemplateMessage extends BaseTemplateMessage {
|
|
41
|
+
render_type: "email_v1";
|
|
42
|
+
body: EmailMessage["body"];
|
|
43
|
+
metadata: EmailMessage["metadata"];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export type TemplateMessage = WhatsappTemplateMessage | EmailTemplateMessage;
|
|
47
|
+
|
|
48
|
+
export type TemplateMessageFromDb = WithDbTimestamps<TemplateMessage>;
|