Skip to content

Commit b78f8e0

Browse files
author
Evan Greer
committed
feat: adds IterableEmbeddedMessageMetadata class
1 parent 6a63bbd commit b78f8e0

2 files changed

Lines changed: 36 additions & 4 deletions

File tree

src/embedded/classes/IterableEmbeddedMessage.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import { IterableEmbeddedMessageMetadata } from './IterableEmbeddedMessageMetada
22
import { IterableEmbeddedMessageElements } from './IterableEmbeddedMessageElements';
33

44
export class IterableEmbeddedMessage {
5-
readonly metadata: IterableEmbeddedMessageMetadata;
6-
readonly elements: IterableEmbeddedMessageElements;
7-
readonly payload: Record<string, unknown>;
5+
metadata: IterableEmbeddedMessageMetadata;
6+
elements: IterableEmbeddedMessageElements;
7+
payload: Record<string, unknown>;
88

99
constructor(
1010
metadata: IterableEmbeddedMessageMetadata,
Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,33 @@
1-
export class IterableEmbeddedMessageMetadata {}
1+
export class IterableEmbeddedMessageMetadata {
2+
static readonly TAG = 'ItblEmbeddedMessageMetadata';
3+
4+
readonly messageId: string;
5+
readonly placementId: number;
6+
readonly campaignId?: number;
7+
readonly isProof: boolean;
8+
9+
constructor(
10+
messageId: string,
11+
placementId: number,
12+
campaignId: number | undefined,
13+
isProof: boolean = false
14+
) {
15+
this.messageId = messageId;
16+
this.placementId = placementId;
17+
this.campaignId = campaignId;
18+
this.isProof = isProof;
19+
}
20+
static fromDict(dict: {
21+
messageId: string;
22+
placementId: number;
23+
campaignId: number | undefined;
24+
isProof: boolean;
25+
}): IterableEmbeddedMessageMetadata {
26+
return new IterableEmbeddedMessageMetadata(
27+
dict.messageId,
28+
dict.placementId,
29+
dict.campaignId,
30+
dict.isProof
31+
);
32+
}
33+
}

0 commit comments

Comments
 (0)