@segment/action-destinations 3.444.0 → 3.444.1-staging-7a4392ac3.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/destinations/aws-kinesis/send/index.js +9 -2
- package/dist/destinations/aws-kinesis/send/index.js.map +1 -1
- package/dist/destinations/aws-kinesis/utils.d.ts +7 -0
- package/dist/destinations/aws-kinesis/utils.js +65 -1
- package/dist/destinations/aws-kinesis/utils.js.map +1 -1
- package/dist/destinations/cordial/cordial-client.d.ts +8 -8
- package/dist/destinations/dotdigital/api/dd-api.d.ts +4 -4
- package/dist/destinations/dotdigital/api/resources/dd-email-api.d.ts +1 -1
- package/dist/destinations/engage-messaging-twilio/sendMobilePush/PushSender.d.ts +1 -1
- package/dist/destinations/facebook-custom-audiences/fbca-operations.d.ts +2 -2
- package/dist/destinations/first-party-dv360/addToAudContactInfo/_tests_/index.test.d.ts +1 -1
- package/dist/destinations/first-party-dv360/addToAudMobileDeviceId/_tests_/index.test.d.ts +1 -1
- package/dist/destinations/first-party-dv360/removeFromAudContactInfo/_tests_/index.test.d.ts +1 -1
- package/dist/destinations/gameball/util.d.ts +1 -1
- package/dist/destinations/google-analytics-4/ga4-functions.d.ts +1 -1
- package/dist/destinations/google-campaign-manager-360/utils.d.ts +1 -1
- package/dist/destinations/google-sheets/postSheet/operations.d.ts +1 -1
- package/dist/destinations/google-sheets/postSheet2/operations2.d.ts +1 -1
- package/dist/destinations/hubspot/upsertObject/client.d.ts +8 -8
- package/dist/destinations/klaviyo/functions.d.ts +3 -3
- package/dist/destinations/launchdarkly-audiences/syncAudience/custom-audience-operations.d.ts +1 -1
- package/dist/destinations/linkedin-audiences/updateAudience/functions.d.ts +1 -1
- package/dist/destinations/salesforce-marketing-cloud/_tests_/asyncDataExtension.test.js +96 -0
- package/dist/destinations/salesforce-marketing-cloud/_tests_/asyncDataExtension.test.js.map +1 -0
- package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/generated-types.d.ts +58 -0
- package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/generated-types.js +3 -0
- package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/generated-types.js.map +1 -0
- package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.d.ts +5 -0
- package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.js +66 -0
- package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.js.map +1 -0
- package/dist/destinations/salesforce-marketing-cloud/index.js +3 -1
- package/dist/destinations/salesforce-marketing-cloud/index.js.map +1 -1
- package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.d.ts +3 -0
- package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js +109 -0
- package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js.map +1 -1
- package/dist/lib/AWS/utils.d.ts +4 -0
- package/dist/lib/AWS/utils.js +18 -1
- package/dist/lib/AWS/utils.js.map +1 -1
- package/package.json +5 -4
- package/dist/destinations/aws-kinesis/__test__/index.test.js +0 -63
- package/dist/destinations/aws-kinesis/__test__/index.test.js.map +0 -1
- package/dist/destinations/aws-kinesis/__test__/utils.test.d.ts +0 -1
- package/dist/destinations/aws-kinesis/__test__/utils.test.js +0 -49
- package/dist/destinations/aws-kinesis/__test__/utils.test.js.map +0 -1
- /package/dist/destinations/{aws-kinesis/__test__/index.test.d.ts → salesforce-marketing-cloud/_tests_/asyncDataExtension.test.d.ts} +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("../../../lib/AWS/utils");
|
|
4
|
+
const utils_2 = require("../utils");
|
|
3
5
|
const action = {
|
|
4
6
|
title: 'Send',
|
|
5
7
|
description: 'Send event to AWS Kinesis',
|
|
@@ -31,10 +33,15 @@ const action = {
|
|
|
31
33
|
description: 'The AWS region where the Kinesis stream is located',
|
|
32
34
|
type: 'string',
|
|
33
35
|
required: true,
|
|
34
|
-
default: { '@path': '$.properties.awsRegion' }
|
|
36
|
+
default: { '@path': '$.properties.awsRegion' },
|
|
37
|
+
choices: utils_1.AWS_REGIONS
|
|
35
38
|
}
|
|
36
39
|
},
|
|
37
|
-
perform: async (
|
|
40
|
+
perform: async (_requests, { settings, payload, statsContext, logger }) => {
|
|
41
|
+
await (0, utils_2.sendDataToKinesis)(settings, [payload], statsContext, logger);
|
|
42
|
+
},
|
|
43
|
+
performBatch: async (_requests, { settings, payload, statsContext, logger }) => {
|
|
44
|
+
await (0, utils_2.sendDataToKinesis)(settings, payload, statsContext, logger);
|
|
38
45
|
}
|
|
39
46
|
};
|
|
40
47
|
exports.default = action;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/aws-kinesis/send/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/aws-kinesis/send/index.ts"],"names":[],"mappings":";;AAGA,kDAAoD;AACpD,oCAA4C;AAE5C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,2BAA2B;IACxC,mBAAmB,EAAE,2FAA2F;IAChH,MAAM,EAAE;QACN,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SAC3B;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,yCAAyC;YACtD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;SACpC;QACD,UAAU,EAAE;YACV,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,mDAAmD;YAChE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE;SAChD;QACD,SAAS,EAAE;YACT,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,oDAAoD;YACjE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;YAC9C,OAAO,EAAE,mBAAW;SACrB;KACF;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE;QACxE,MAAM,IAAA,yBAAiB,EAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;IACpE,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7E,MAAM,IAAA,yBAAiB,EAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;IAClE,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -1 +1,8 @@
|
|
|
1
|
+
import type { Settings } from './generated-types';
|
|
2
|
+
import type { Payload } from './send/generated-types';
|
|
3
|
+
import { Logger, StatsContext } from '@segment/actions-core/destination-kit';
|
|
1
4
|
export declare const validateIamRoleArnFormat: (arn: string) => boolean;
|
|
5
|
+
export declare const sendDataToKinesis: (settings: Settings, payloads: Payload[], _statsContext: StatsContext | undefined, logger: Logger | undefined) => Promise<void>;
|
|
6
|
+
export declare const populatePayload: (payloads: Payload[], streamToAwsRegion: Map<string, string>, streamToPayloads?: Map<string, Payload[][]>) => void;
|
|
7
|
+
export declare const sendToKinesis: (iamRoleArn: string, iamExternalId: string, streamToAwsRegion: Map<string, string>, streamToPayloads: Map<string, Payload[][]>, logger: Logger | undefined) => Promise<void>;
|
|
8
|
+
export declare const sendBatchToKinesis: (logger: Logger | undefined, streamName: string, awsRegion: string, credentials: any, batch: Payload[]) => Promise<void>;
|
|
@@ -1,9 +1,73 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateIamRoleArnFormat = void 0;
|
|
3
|
+
exports.sendBatchToKinesis = exports.sendToKinesis = exports.populatePayload = exports.sendDataToKinesis = exports.validateIamRoleArnFormat = void 0;
|
|
4
|
+
const client_kinesis_1 = require("@aws-sdk/client-kinesis");
|
|
5
|
+
const sts_1 = require("../../lib/AWS/sts");
|
|
6
|
+
const utils_1 = require("../../lib/AWS/utils");
|
|
7
|
+
const MAX_RECORDS_PER_BATCH = 1000;
|
|
4
8
|
const validateIamRoleArnFormat = (arn) => {
|
|
5
9
|
const iamRoleArnRegex = /^arn:aws:iam::\d{12}:role\/[A-Za-z0-9+=,.@_\-/]+$/;
|
|
6
10
|
return iamRoleArnRegex.test(arn);
|
|
7
11
|
};
|
|
8
12
|
exports.validateIamRoleArnFormat = validateIamRoleArnFormat;
|
|
13
|
+
const sendDataToKinesis = async (settings, payloads, _statsContext, logger) => {
|
|
14
|
+
if (!Array.isArray(payloads) || payloads.length === 0) {
|
|
15
|
+
throw new Error('payloads must be a non-empty array');
|
|
16
|
+
}
|
|
17
|
+
const streamToAwsRegion = new Map();
|
|
18
|
+
const streamToPayloads = new Map();
|
|
19
|
+
(0, exports.populatePayload)(payloads, streamToAwsRegion, streamToPayloads);
|
|
20
|
+
const { iamRoleArn, iamExternalId } = settings;
|
|
21
|
+
await (0, exports.sendToKinesis)(iamRoleArn, iamExternalId, streamToAwsRegion, streamToPayloads, logger);
|
|
22
|
+
};
|
|
23
|
+
exports.sendDataToKinesis = sendDataToKinesis;
|
|
24
|
+
const populatePayload = (payloads, streamToAwsRegion, streamToPayloads = new Map()) => {
|
|
25
|
+
payloads.forEach((payload) => {
|
|
26
|
+
const { streamName, awsRegion } = payload;
|
|
27
|
+
if (!streamToAwsRegion.get(streamName)) {
|
|
28
|
+
streamToAwsRegion.set(streamName, awsRegion);
|
|
29
|
+
streamToPayloads.set(streamName, [[]]);
|
|
30
|
+
}
|
|
31
|
+
const batches = streamToPayloads.get(streamName);
|
|
32
|
+
let currentBatch = batches[batches.length - 1];
|
|
33
|
+
if (currentBatch.length >= MAX_RECORDS_PER_BATCH) {
|
|
34
|
+
currentBatch = [];
|
|
35
|
+
batches.push(currentBatch);
|
|
36
|
+
}
|
|
37
|
+
currentBatch.push(payload);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
exports.populatePayload = populatePayload;
|
|
41
|
+
const sendToKinesis = async (iamRoleArn, iamExternalId, streamToAwsRegion, streamToPayloads, logger) => {
|
|
42
|
+
const credentials = await (0, sts_1.assumeRole)(iamRoleArn, iamExternalId, utils_1.APP_AWS_REGION);
|
|
43
|
+
for (const [streamName, batches] of streamToPayloads.entries()) {
|
|
44
|
+
const awsRegion = streamToAwsRegion.get(streamName);
|
|
45
|
+
for (const batch of batches) {
|
|
46
|
+
await (0, exports.sendBatchToKinesis)(logger, streamName, awsRegion, credentials, batch);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
exports.sendToKinesis = sendToKinesis;
|
|
51
|
+
const sendBatchToKinesis = async (logger, streamName, awsRegion, credentials, batch) => {
|
|
52
|
+
const entries = batch.map((record) => ({
|
|
53
|
+
Data: Buffer.from(typeof record === 'string' ? record : JSON.stringify(record)),
|
|
54
|
+
PartitionKey: record.partitionKey
|
|
55
|
+
}));
|
|
56
|
+
try {
|
|
57
|
+
const command = new client_kinesis_1.PutRecordsCommand({
|
|
58
|
+
StreamName: streamName,
|
|
59
|
+
Records: entries
|
|
60
|
+
});
|
|
61
|
+
const client = new client_kinesis_1.KinesisClient({
|
|
62
|
+
region: awsRegion,
|
|
63
|
+
credentials: credentials
|
|
64
|
+
});
|
|
65
|
+
await client.send(command);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
logger?.crit('Failed to send batch to Kinesis:', error);
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
exports.sendBatchToKinesis = sendBatchToKinesis;
|
|
9
73
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/aws-kinesis/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/aws-kinesis/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,13 +21,13 @@ declare class CordialClient {
|
|
|
21
21
|
private readonly identityKeys;
|
|
22
22
|
constructor(settings: Settings, request: RequestClient);
|
|
23
23
|
extractIdentities(payload: IdentifiableRequest): IdentifiableRequest;
|
|
24
|
-
addContactActivity(payload: CreateContactactivityPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
25
|
-
upsertContact(payload: UpsertContactPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
26
|
-
addContactToList(payload: AddContactToListPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
27
|
-
removeContactFromList(payload: RemoveContactFromListPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
28
|
-
addProductToCart(payload: AddProductToCartPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
29
|
-
removeProductFromCart(payload: RemoveProductFromCartPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
30
|
-
upsertOrder(payload: UpsertOrder): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
31
|
-
mergeContacts(payload: MergeContacts): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
24
|
+
addContactActivity(payload: CreateContactactivityPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
25
|
+
upsertContact(payload: UpsertContactPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
26
|
+
addContactToList(payload: AddContactToListPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
27
|
+
removeContactFromList(payload: RemoveContactFromListPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
28
|
+
addProductToCart(payload: AddProductToCartPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
29
|
+
removeProductFromCart(payload: RemoveProductFromCartPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
30
|
+
upsertOrder(payload: UpsertOrder): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
31
|
+
mergeContacts(payload: MergeContacts): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
32
32
|
}
|
|
33
33
|
export default CordialClient;
|
|
@@ -4,9 +4,9 @@ declare abstract class DDApi {
|
|
|
4
4
|
private readonly apiUrl;
|
|
5
5
|
private readonly request;
|
|
6
6
|
protected constructor(settings: Settings, request: RequestClient);
|
|
7
|
-
protected get<TResponse>(endpoint: string, params?: Record<string, unknown>): Promise<import("@segment/actions-core").ModifiedResponse<TResponse>>;
|
|
8
|
-
protected post<ResponseType, RequestJSON>(endpoint: string, data: RequestJSON): Promise<import("@segment/actions-core").ModifiedResponse<ResponseType>>;
|
|
9
|
-
protected delete(endpoint: string): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
10
|
-
protected patch<ResponseType, RequestJSON>(endpoint: string, data: RequestJSON): Promise<import("@segment/actions-core").ModifiedResponse<ResponseType>>;
|
|
7
|
+
protected get<TResponse>(endpoint: string, params?: Record<string, unknown>): Promise<import("@segment/actions-core/src").ModifiedResponse<TResponse>>;
|
|
8
|
+
protected post<ResponseType, RequestJSON>(endpoint: string, data: RequestJSON): Promise<import("@segment/actions-core/src").ModifiedResponse<ResponseType>>;
|
|
9
|
+
protected delete(endpoint: string): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
10
|
+
protected patch<ResponseType, RequestJSON>(endpoint: string, data: RequestJSON): Promise<import("@segment/actions-core/src").ModifiedResponse<ResponseType>>;
|
|
11
11
|
}
|
|
12
12
|
export default DDApi;
|
|
@@ -4,6 +4,6 @@ import DDApi from '../dd-api';
|
|
|
4
4
|
import type { Payload } from '../../sendTransactionalEmail/generated-types';
|
|
5
5
|
declare class DDEmailApi extends DDApi {
|
|
6
6
|
constructor(settings: Settings, client: RequestClient);
|
|
7
|
-
sendTransactionalEmail(payload: Payload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
7
|
+
sendTransactionalEmail(payload: Payload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
8
8
|
}
|
|
9
9
|
export default DDEmailApi;
|
|
@@ -20,7 +20,7 @@ export declare class PushSender extends TwilioMessageSender<PushPayload> {
|
|
|
20
20
|
get twilioToken(): string;
|
|
21
21
|
beforeSend(recepients: Recepient[]): Promise<void>;
|
|
22
22
|
bodyCustomDataBundle: BodyCustomDataBundle;
|
|
23
|
-
sendToRecepient(recipientDevice: Recepient): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
23
|
+
sendToRecepient(recipientDevice: Recepient): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
24
24
|
getBody(): Promise<BodyCustomDataBundle>;
|
|
25
25
|
private getTapActionPreset;
|
|
26
26
|
private removeEmpties;
|
|
@@ -23,7 +23,7 @@ export default class FacebookClient {
|
|
|
23
23
|
features: Features | undefined;
|
|
24
24
|
baseUrl: string;
|
|
25
25
|
constructor(request: RequestClient, adAccountId: string, features?: Features, statsContext?: StatsContext);
|
|
26
|
-
createAudience: (name: string) => Promise<import("@segment/actions-core").ModifiedResponse<AudienceCreationResponse>>;
|
|
26
|
+
createAudience: (name: string) => Promise<import("@segment/actions-core/src").ModifiedResponse<AudienceCreationResponse>>;
|
|
27
27
|
getSingleAudience: (audienceId: string) => Promise<{
|
|
28
28
|
data?: GetSingleAudienceResponse;
|
|
29
29
|
error?: FacebookResponseError;
|
|
@@ -36,7 +36,7 @@ export default class FacebookClient {
|
|
|
36
36
|
audienceId: string;
|
|
37
37
|
payloads: Payload[];
|
|
38
38
|
deleteUsers?: boolean;
|
|
39
|
-
}) => Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
39
|
+
}) => Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
40
40
|
private formatAdAccount;
|
|
41
41
|
}
|
|
42
42
|
export {};
|
|
@@ -4,4 +4,4 @@ export type BatchContactListItem = {
|
|
|
4
4
|
firstname: string;
|
|
5
5
|
lastname: string;
|
|
6
6
|
};
|
|
7
|
-
export declare const createBatchTestEvents: (batchContactList: BatchContactListItem[]) => import("@segment/actions-core").SegmentEvent[];
|
|
7
|
+
export declare const createBatchTestEvents: (batchContactList: BatchContactListItem[]) => import("@segment/actions-core/src").SegmentEvent[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export type BatchContactListItem = {
|
|
2
2
|
mobileDeviceIds: string;
|
|
3
3
|
};
|
|
4
|
-
export declare const createBatchTestEvents: (batchContactList: BatchContactListItem[]) => import("@segment/actions-core").SegmentEvent[];
|
|
4
|
+
export declare const createBatchTestEvents: (batchContactList: BatchContactListItem[]) => import("@segment/actions-core/src").SegmentEvent[];
|
package/dist/destinations/first-party-dv360/removeFromAudContactInfo/_tests_/index.test.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ export type BatchContactListItem = {
|
|
|
4
4
|
firstname: string;
|
|
5
5
|
lastname: string;
|
|
6
6
|
};
|
|
7
|
-
export declare const createBatchTestEvents: (batchContactList: BatchContactListItem[]) => import("@segment/actions-core").SegmentEvent[];
|
|
7
|
+
export declare const createBatchTestEvents: (batchContactList: BatchContactListItem[]) => import("@segment/actions-core/src").SegmentEvent[];
|
|
@@ -10,4 +10,4 @@ export declare const endpoints: {
|
|
|
10
10
|
identifyPlayer: string;
|
|
11
11
|
};
|
|
12
12
|
export declare const playerProperties: Record<string, InputField>;
|
|
13
|
-
export declare const sendRequest: (request: RequestClient, path: string, settings: Settings, body: any, addSecretey?: boolean) => Promise<import("@segment/actions-core/
|
|
13
|
+
export declare const sendRequest: (request: RequestClient, path: string, settings: Settings, body: any, addSecretey?: boolean) => Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
@@ -9,5 +9,5 @@ export declare function getMobileStreamParams(api_secret: string, firebase_app_i
|
|
|
9
9
|
export declare function getWebStreamParams(api_secret: string, measurement_id?: string, client_id?: string): DataStreamParams;
|
|
10
10
|
export declare function sendData(request: RequestClient, search_params: string, payload: {
|
|
11
11
|
[k: string]: unknown;
|
|
12
|
-
}): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
12
|
+
}): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
13
13
|
export declare const formatConsent: (consent: Consent) => object | undefined;
|
|
@@ -4,7 +4,7 @@ import { Payload as Adjustayload } from './conversionAdjustmentUpload/generated-
|
|
|
4
4
|
import { AuthTokens } from '@segment/actions-core/destination-kit/parse-settings';
|
|
5
5
|
import { Settings } from './generated-types';
|
|
6
6
|
import { InsertRequest, SuccessMaybeErrorResponse } from './types';
|
|
7
|
-
export declare function send(request: RequestClient, settings: Settings, payloads: UploadPayload[] | Adjustayload[], isAdjustment: boolean, auth?: AuthTokens): Promise<import("@segment/actions-core").ModifiedResponse<SuccessMaybeErrorResponse>>;
|
|
7
|
+
export declare function send(request: RequestClient, settings: Settings, payloads: UploadPayload[] | Adjustayload[], isAdjustment: boolean, auth?: AuthTokens): Promise<import("@segment/actions-core/src").ModifiedResponse<SuccessMaybeErrorResponse>>;
|
|
8
8
|
export declare function getJSON(payloads: UploadPayload[] | Adjustayload[], settings: Settings): InsertRequest;
|
|
9
9
|
export declare function getCustomVarTypeChoices(): Array<{
|
|
10
10
|
value: string;
|
|
@@ -6,5 +6,5 @@ export type MappingSettings = {
|
|
|
6
6
|
dataFormat: string;
|
|
7
7
|
columns: string[];
|
|
8
8
|
};
|
|
9
|
-
declare function processData(request: RequestClient, events: Payload[]): Promise<(import("@segment/actions-core").ModifiedResponse<unknown> | undefined)[]>;
|
|
9
|
+
declare function processData(request: RequestClient, events: Payload[]): Promise<(import("@segment/actions-core/src").ModifiedResponse<unknown> | undefined)[]>;
|
|
10
10
|
export { processData };
|
|
@@ -6,5 +6,5 @@ export type MappingSettings = {
|
|
|
6
6
|
dataFormat: string;
|
|
7
7
|
columns: string[];
|
|
8
8
|
};
|
|
9
|
-
declare function processData(request: RequestClient, events: Payload[], syncMode: string): Promise<(import("@segment/actions-core").ModifiedResponse<unknown> | undefined)[]>;
|
|
9
|
+
declare function processData(request: RequestClient, events: Payload[], syncMode: string): Promise<(import("@segment/actions-core/src").ModifiedResponse<unknown> | undefined)[]>;
|
|
10
10
|
export { processData };
|
|
@@ -4,12 +4,12 @@ export declare class Client {
|
|
|
4
4
|
request: RequestClient;
|
|
5
5
|
objectType: string;
|
|
6
6
|
constructor(request: RequestClient, objectType: string);
|
|
7
|
-
readProperties(sensitive: boolean): Promise<import("@segment/actions-core").ModifiedResponse<ReadPropsResp>>;
|
|
8
|
-
createPropertiesDefinition(json: CreatePropsReq): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
9
|
-
batchObjectRequest(action: ObjReqType, objectType: string, json: ReadReq | UpsertReq | CreateReq): Promise<import("@segment/actions-core").ModifiedResponse<BatchObjResp>>;
|
|
10
|
-
batchAssociationsRequest(json: AssociationsReq, toObjectType: string): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
11
|
-
batchDissociationsRequest(json: AssociationsReq, toObjectType: string): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
12
|
-
readList(name: string): Promise<import("@segment/actions-core").ModifiedResponse<ReadListResp>>;
|
|
13
|
-
createList(json: CreateListReq): Promise<import("@segment/actions-core").ModifiedResponse<CreateListResp>>;
|
|
14
|
-
addRemoveFromList(listId: string, json: AddRemoveFromListReq): Promise<import("@segment/actions-core").ModifiedResponse<CreateListResp>>;
|
|
7
|
+
readProperties(sensitive: boolean): Promise<import("@segment/actions-core/src").ModifiedResponse<ReadPropsResp>>;
|
|
8
|
+
createPropertiesDefinition(json: CreatePropsReq): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
9
|
+
batchObjectRequest(action: ObjReqType, objectType: string, json: ReadReq | UpsertReq | CreateReq): Promise<import("@segment/actions-core/src").ModifiedResponse<BatchObjResp>>;
|
|
10
|
+
batchAssociationsRequest(json: AssociationsReq, toObjectType: string): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
11
|
+
batchDissociationsRequest(json: AssociationsReq, toObjectType: string): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
12
|
+
readList(name: string): Promise<import("@segment/actions-core/src").ModifiedResponse<ReadListResp>>;
|
|
13
|
+
createList(json: CreateListReq): Promise<import("@segment/actions-core/src").ModifiedResponse<CreateListResp>>;
|
|
14
|
+
addRemoveFromList(listId: string, json: AddRemoveFromListReq): Promise<import("@segment/actions-core/src").ModifiedResponse<CreateListResp>>;
|
|
15
15
|
}
|
|
@@ -6,8 +6,8 @@ import { Payload as RemoveProfilePayload } from './removeProfile/generated-types
|
|
|
6
6
|
import { Payload as TrackEventPayload } from './trackEvent/generated-types';
|
|
7
7
|
import { Payload as AddProfileToListPayload } from './addProfileToList/generated-types';
|
|
8
8
|
export declare function getListIdDynamicData(request: RequestClient): Promise<DynamicFieldResponse>;
|
|
9
|
-
export declare function addProfileToList(request: RequestClient, id: string, list_id: string | undefined): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
10
|
-
export declare function removeProfileFromList(request: RequestClient, ids: string[], list_id: string): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
9
|
+
export declare function addProfileToList(request: RequestClient, id: string, list_id: string | undefined): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
10
|
+
export declare function removeProfileFromList(request: RequestClient, ids: string[], list_id: string): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
11
11
|
export declare function createProfile(request: RequestClient, email: string | undefined, external_id: string | undefined, phone_number: string | undefined, additionalAttributes: AdditionalAttributes): Promise<any>;
|
|
12
12
|
export declare function buildHeaders(authKey: string): {
|
|
13
13
|
Authorization: string;
|
|
@@ -23,7 +23,7 @@ export declare const constructBulkProfileImportPayload: (profiles: KlaviyoProfil
|
|
|
23
23
|
};
|
|
24
24
|
export declare const sendImportJobRequest: (request: RequestClient, importJobPayload: {
|
|
25
25
|
data: ImportJobPayload;
|
|
26
|
-
}) => Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
|
|
26
|
+
}) => Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
|
|
27
27
|
export declare function getProfiles(request: RequestClient, emails: string[] | undefined, external_ids: string[] | undefined, phoneNumbers: string[] | undefined): Promise<string[]>;
|
|
28
28
|
export declare function formatSubscribeProfile(email: string | undefined, phone_number: string | undefined, consented_at: string | number | undefined, historical_import?: boolean | undefined): SubscribeProfile;
|
|
29
29
|
export declare function formatSubscribeRequestBody(profiles: SubscribeProfile | SubscribeProfile[], list_id: string | undefined, custom_source: string | undefined, historical_import?: boolean | undefined): SubscribeEventData;
|
package/dist/destinations/launchdarkly-audiences/syncAudience/custom-audience-operations.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RequestClient } from '@segment/actions-core';
|
|
2
2
|
import type { Payload } from './generated-types';
|
|
3
3
|
import { Settings } from '../generated-types';
|
|
4
|
-
declare function processPayload(request: RequestClient, settings: Settings, events: Payload[]): Promise<import("@segment/actions-core").ModifiedResponse<unknown>[]>;
|
|
4
|
+
declare function processPayload(request: RequestClient, settings: Settings, events: Payload[]): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>[]>;
|
|
5
5
|
export { processPayload };
|
|
@@ -2,4 +2,4 @@ import type { StatsContext } from '@segment/actions-core';
|
|
|
2
2
|
import { RequestClient } from '@segment/actions-core';
|
|
3
3
|
import type { Settings } from '../generated-types';
|
|
4
4
|
import type { Payload } from './generated-types';
|
|
5
|
-
export declare function processPayload(request: RequestClient, settings: Settings, payloads: Payload[], statsContext: StatsContext | undefined): Promise<import("@segment/actions-core").ModifiedResponse<unknown> | undefined>;
|
|
5
|
+
export declare function processPayload(request: RequestClient, settings: Settings, payloads: Payload[], statsContext: StatsContext | undefined): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown> | undefined>;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const nock_1 = __importDefault(require("nock"));
|
|
7
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
8
|
+
const index_1 = __importDefault(require("../index"));
|
|
9
|
+
const testDestination = (0, actions_core_1.createTestIntegration)(index_1.default);
|
|
10
|
+
const timestamp = '2025-10-13T4:00:00.449Z';
|
|
11
|
+
const settings = {
|
|
12
|
+
subdomain: 'test123',
|
|
13
|
+
client_id: 'test123',
|
|
14
|
+
client_secret: 'test123',
|
|
15
|
+
account_id: 'test123'
|
|
16
|
+
};
|
|
17
|
+
const event = (0, actions_core_1.createTestEvent)({
|
|
18
|
+
timestamp: timestamp,
|
|
19
|
+
type: 'track',
|
|
20
|
+
userId: 'TonyStark001',
|
|
21
|
+
properties: {
|
|
22
|
+
id: 'ily3000'
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const payload = {
|
|
26
|
+
keys: {
|
|
27
|
+
id: 'version'
|
|
28
|
+
},
|
|
29
|
+
values: {
|
|
30
|
+
name: 'MARK42'
|
|
31
|
+
},
|
|
32
|
+
retlOnMappingSave: {
|
|
33
|
+
outputs: {
|
|
34
|
+
id: '1234567890'
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const authUrl = `https://${settings.subdomain}.auth.marketingcloudapis.com/v2/token`;
|
|
39
|
+
const externalKeyUrl = `https://${settings.subdomain}.rest.marketingcloudapis.com/data/v1/customobjects/1234567890`;
|
|
40
|
+
describe('Salesforce Marketing Cloud', () => {
|
|
41
|
+
describe('Async Data Extension', () => {
|
|
42
|
+
it('should send data to the correct endpoint', async () => {
|
|
43
|
+
(0, nock_1.default)(authUrl).post('').reply(200, {
|
|
44
|
+
access_token: 'test_access_token',
|
|
45
|
+
soap_instance_url: 'https://test123.soap.marketingcloudapis.com/'
|
|
46
|
+
});
|
|
47
|
+
(0, nock_1.default)(externalKeyUrl).get('').reply(200, {
|
|
48
|
+
key: '1234567890'
|
|
49
|
+
});
|
|
50
|
+
(0, nock_1.default)(`https://${settings.subdomain}.rest.marketingcloudapis.com`)
|
|
51
|
+
.post('/data/v1/async/dataextensions/key:1234567890/rows')
|
|
52
|
+
.reply(200, {
|
|
53
|
+
requestId: 'b241e73b-9b35-46ff-9c2d-e779ac5836a9',
|
|
54
|
+
resultMessages: []
|
|
55
|
+
});
|
|
56
|
+
const responses = await testDestination.testAction('asyncDataExtension', {
|
|
57
|
+
event,
|
|
58
|
+
settings,
|
|
59
|
+
mapping: payload
|
|
60
|
+
});
|
|
61
|
+
expect(responses.length).toBe(2);
|
|
62
|
+
expect(responses[1].data).toEqual({
|
|
63
|
+
requestId: 'b241e73b-9b35-46ff-9c2d-e779ac5836a9',
|
|
64
|
+
resultMessages: []
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
it('should throw an error if no data extension is connected', async () => {
|
|
68
|
+
await expect(testDestination.testAction('asyncDataExtension', {
|
|
69
|
+
event,
|
|
70
|
+
settings,
|
|
71
|
+
mapping: {
|
|
72
|
+
keys: {
|
|
73
|
+
id: 'version'
|
|
74
|
+
},
|
|
75
|
+
values: {
|
|
76
|
+
name: 'MARK42'
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
})).rejects.toThrowError('No Data Extension Connected');
|
|
80
|
+
});
|
|
81
|
+
it('should throw an error if no external Key is found', async () => {
|
|
82
|
+
nock_1.default.cleanAll();
|
|
83
|
+
(0, nock_1.default)(externalKeyUrl)
|
|
84
|
+
.get('')
|
|
85
|
+
.reply(200, { key: '' })
|
|
86
|
+
.persist();
|
|
87
|
+
nock_1.default.disableNetConnect();
|
|
88
|
+
await expect(testDestination.testAction('asyncDataExtension', {
|
|
89
|
+
event,
|
|
90
|
+
settings,
|
|
91
|
+
mapping: payload
|
|
92
|
+
})).rejects.toThrowError('No External Key found for Data Extension');
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=asyncDataExtension.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncDataExtension.test.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/_tests_/asyncDataExtension.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export interface Payload {
|
|
2
|
+
keys: {
|
|
3
|
+
[k: string]: unknown;
|
|
4
|
+
};
|
|
5
|
+
values: {
|
|
6
|
+
[k: string]: unknown;
|
|
7
|
+
};
|
|
8
|
+
enable_batching?: boolean;
|
|
9
|
+
batch_size?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface RetlOnMappingSaveInputs {
|
|
12
|
+
operation: string;
|
|
13
|
+
dataExtensionId?: string;
|
|
14
|
+
categoryId?: string;
|
|
15
|
+
name?: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
isSendable?: boolean;
|
|
18
|
+
sendableCustomObjectField?: string;
|
|
19
|
+
sendableSubscriberField?: string;
|
|
20
|
+
columns?: {
|
|
21
|
+
name: string;
|
|
22
|
+
type: string;
|
|
23
|
+
isNullable: boolean;
|
|
24
|
+
isPrimaryKey: boolean;
|
|
25
|
+
length?: number;
|
|
26
|
+
scale?: number;
|
|
27
|
+
description?: string;
|
|
28
|
+
[k: string]: unknown;
|
|
29
|
+
}[];
|
|
30
|
+
}
|
|
31
|
+
export interface RetlOnMappingSaveOutputs {
|
|
32
|
+
id: string;
|
|
33
|
+
name: string;
|
|
34
|
+
}
|
|
35
|
+
export interface OnMappingSaveInputs {
|
|
36
|
+
operation: string;
|
|
37
|
+
dataExtensionId?: string;
|
|
38
|
+
categoryId?: string;
|
|
39
|
+
name?: string;
|
|
40
|
+
description?: string;
|
|
41
|
+
isSendable?: boolean;
|
|
42
|
+
sendableCustomObjectField?: string;
|
|
43
|
+
sendableSubscriberField?: string;
|
|
44
|
+
columns?: {
|
|
45
|
+
name: string;
|
|
46
|
+
type: string;
|
|
47
|
+
isNullable: boolean;
|
|
48
|
+
isPrimaryKey: boolean;
|
|
49
|
+
length?: number;
|
|
50
|
+
scale?: number;
|
|
51
|
+
description?: string;
|
|
52
|
+
[k: string]: unknown;
|
|
53
|
+
}[];
|
|
54
|
+
}
|
|
55
|
+
export interface OnMappingSaveOutputs {
|
|
56
|
+
id: string;
|
|
57
|
+
name: string;
|
|
58
|
+
}
|
package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/generated-types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/asyncDataExtension/generated-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
4
|
+
const sfmc_properties_1 = require("../sfmc-properties");
|
|
5
|
+
const sfmc_operations_1 = require("../sfmc-operations");
|
|
6
|
+
const action = {
|
|
7
|
+
title: 'Send Event asynchronously to Data Extension',
|
|
8
|
+
description: 'Insert event records asynchronously as rows into a data extension in Salesforce Marketing Cloud.',
|
|
9
|
+
fields: {
|
|
10
|
+
keys: { ...sfmc_properties_1.keys, required: true, dynamic: true },
|
|
11
|
+
values: { ...sfmc_properties_1.values_dataExtensionFields, dynamic: true },
|
|
12
|
+
enable_batching: sfmc_properties_1.enable_batching,
|
|
13
|
+
batch_size: {
|
|
14
|
+
...sfmc_properties_1.batch_size,
|
|
15
|
+
default: 30000,
|
|
16
|
+
description: 'Maximum number of events to include in each batch for async operations. Defaults to 30000.',
|
|
17
|
+
unsafe_hidden: false
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
dynamicFields: {
|
|
21
|
+
keys: {
|
|
22
|
+
__keys__: async (request, { settings, payload }) => {
|
|
23
|
+
const dataExtensionId = payload.onMappingSave?.outputs?.id || payload.retlOnMappingSave?.outputs?.id || '';
|
|
24
|
+
return await (0, sfmc_operations_1.getDataExtensionFields)(request, settings.subdomain, settings, dataExtensionId, true);
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
values: {
|
|
28
|
+
__keys__: async (request, { settings, payload }) => {
|
|
29
|
+
const dataExtensionId = payload.onMappingSave?.outputs?.id || payload.retlOnMappingSave?.outputs?.id || '';
|
|
30
|
+
return await (0, sfmc_operations_1.getDataExtensionFields)(request, settings.subdomain, settings, dataExtensionId, false);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
hooks: {
|
|
35
|
+
retlOnMappingSave: {
|
|
36
|
+
...sfmc_properties_1.dataExtensionHook
|
|
37
|
+
},
|
|
38
|
+
onMappingSave: {
|
|
39
|
+
...sfmc_properties_1.dataExtensionHook
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
perform: async (request, { settings, payload, hookOutputs }) => {
|
|
43
|
+
const dataExtensionId = hookOutputs?.onMappingSave?.outputs?.id || hookOutputs?.retlOnMappingSave?.outputs?.id;
|
|
44
|
+
if (!dataExtensionId) {
|
|
45
|
+
throw new actions_core_1.IntegrationError('No Data Extension Connected', 'INVALID_CONFIGURATION', 400);
|
|
46
|
+
}
|
|
47
|
+
const externalKey = await (0, sfmc_operations_1.getExternalKey)(request, settings, dataExtensionId);
|
|
48
|
+
if (!externalKey) {
|
|
49
|
+
throw new actions_core_1.IntegrationError('No External Key found for Data Extension', 'INVALID_CONFIGURATION', 400);
|
|
50
|
+
}
|
|
51
|
+
return (0, sfmc_operations_1.asyncInsertRowsV2)(request, settings.subdomain, [payload], externalKey);
|
|
52
|
+
},
|
|
53
|
+
performBatch: async (request, { settings, payload, hookOutputs }) => {
|
|
54
|
+
const dataExtensionId = hookOutputs?.onMappingSave?.outputs?.id || hookOutputs?.retlOnMappingSave?.outputs?.id;
|
|
55
|
+
if (!dataExtensionId) {
|
|
56
|
+
throw new actions_core_1.IntegrationError('No Data Extension Connected', 'INVALID_CONFIGURATION', 400);
|
|
57
|
+
}
|
|
58
|
+
const externalKey = await (0, sfmc_operations_1.getExternalKey)(request, settings, dataExtensionId);
|
|
59
|
+
if (!externalKey) {
|
|
60
|
+
throw new actions_core_1.IntegrationError('No External Key found for Data Extension', 'INVALID_CONFIGURATION', 400);
|
|
61
|
+
}
|
|
62
|
+
return (0, sfmc_operations_1.executeAsyncInsertRowsWithMultiStatus)(request, settings.subdomain, payload, externalKey);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
exports.default = action;
|
|
66
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/asyncDataExtension/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const dataExtension_1 = __importDefault(require("./dataExtension"));
|
|
|
8
8
|
const contactDataExtension_1 = __importDefault(require("./contactDataExtension"));
|
|
9
9
|
const apiEvent_1 = __importDefault(require("./apiEvent"));
|
|
10
10
|
const dataExtensionV2_1 = __importDefault(require("./dataExtensionV2"));
|
|
11
|
+
const asyncDataExtension_1 = __importDefault(require("./asyncDataExtension"));
|
|
11
12
|
const contactDataExtensionV2_1 = __importDefault(require("./contactDataExtensionV2"));
|
|
12
13
|
const destination = {
|
|
13
14
|
name: 'Salesforce Marketing Cloud (Actions)',
|
|
@@ -68,7 +69,8 @@ const destination = {
|
|
|
68
69
|
contactDataExtension: contactDataExtension_1.default,
|
|
69
70
|
apiEvent: apiEvent_1.default,
|
|
70
71
|
dataExtensionV2: dataExtensionV2_1.default,
|
|
71
|
-
contactDataExtensionV2: contactDataExtensionV2_1.default
|
|
72
|
+
contactDataExtensionV2: contactDataExtensionV2_1.default,
|
|
73
|
+
asyncDataExtension: asyncDataExtension_1.default
|
|
72
74
|
}
|
|
73
75
|
};
|
|
74
76
|
exports.default = destination;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/index.ts"],"names":[],"mappings":";;;;;AAEA,wDAA+B;AAC/B,oEAA2C;AAC3C,kFAAyD;AACzD,0DAAiC;AAIjC,wEAA+C;AAC/C,sFAA6D;AAM7D,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,sCAAsC;IAC5C,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,0aAA0a;gBAC5a,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,YAAY;gBACnB,WAAW,EACT,mOAAmO;gBACrO,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,6NAA6N;gBAC/N,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,eAAe;gBACtB,WAAW,EACT,sIAAsI;gBACxI,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,OAAO,GAAG,WAAW,QAAQ,CAAC,SAAS,uCAAuC,CAAA;YACpF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,GAAG,OAAO,EAAE,EAAE;gBAC5D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,UAAU,EAAE,oBAAoB;iBACjC,CAAC;aACH,CAAC,CAAA;YACF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/C,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,OAAO,EAAP,iBAAO;QACP,aAAa,EAAb,uBAAa;QACb,oBAAoB,EAApB,8BAAoB;QACpB,QAAQ,EAAR,kBAAQ;QACR,eAAe,EAAf,yBAAe;QACf,sBAAsB,EAAtB,gCAAsB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/index.ts"],"names":[],"mappings":";;;;;AAEA,wDAA+B;AAC/B,oEAA2C;AAC3C,kFAAyD;AACzD,0DAAiC;AAIjC,wEAA+C;AAC/C,8EAAqD;AACrD,sFAA6D;AAM7D,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,sCAAsC;IAC5C,IAAI,EAAE,oCAAoC;IAC1C,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,0aAA0a;gBAC5a,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,YAAY;gBACnB,WAAW,EACT,mOAAmO;gBACrO,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,6NAA6N;gBAC/N,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,eAAe;gBACtB,WAAW,EACT,sIAAsI;gBACxI,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,OAAO,GAAG,WAAW,QAAQ,CAAC,SAAS,uCAAuC,CAAA;YACpF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,GAAG,OAAO,EAAE,EAAE;gBAC5D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,UAAU,EAAE,oBAAoB;iBACjC,CAAC;aACH,CAAC,CAAA;YACF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/C,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,OAAO,EAAP,iBAAO;QACP,aAAa,EAAb,uBAAa;QACb,oBAAoB,EAApB,8BAAoB;QACpB,QAAQ,EAAR,kBAAQ;QACR,eAAe,EAAf,yBAAe;QACf,sBAAsB,EAAtB,gCAAsB;QACtB,kBAAkB,EAAlB,4BAAkB;KACnB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -3,6 +3,9 @@ import { Payload as payload_dataExtension } from './dataExtension/generated-type
|
|
|
3
3
|
import { Payload as payload_contactDataExtension } from './contactDataExtension/generated-types';
|
|
4
4
|
import { OnMappingSaveInputs } from './dataExtensionV2/generated-types';
|
|
5
5
|
import { Settings } from './generated-types';
|
|
6
|
+
export declare function getExternalKey(request: RequestClient, settings: Settings, dataExtensionId: string): Promise<string | null>;
|
|
7
|
+
export declare function asyncInsertRowsV2(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[], externalKey?: string): Promise<ModifiedResponse<unknown>>;
|
|
8
|
+
export declare function executeAsyncInsertRowsWithMultiStatus(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[], externalKey?: string, statsContext?: StatsContext): Promise<MultiStatusResponse>;
|
|
6
9
|
export declare function upsertRows(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[]): Promise<ModifiedResponse<unknown>>;
|
|
7
10
|
export declare function upsertRowsV2(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[], dataExtensionId: string): Promise<ModifiedResponse<unknown>>;
|
|
8
11
|
export declare function executeUpsertWithMultiStatus(request: RequestClient, subdomain: String, payloads: payload_dataExtension[] | payload_contactDataExtension[], dataExtensionId?: string, statsContext?: StatsContext): Promise<MultiStatusResponse>;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCategories = exports.getDataExtensionFields = exports.getDataExtensions = exports.selectOrCreateDataExtension = void 0;
|
|
4
|
+
exports.getExternalKey = getExternalKey;
|
|
5
|
+
exports.asyncInsertRowsV2 = asyncInsertRowsV2;
|
|
6
|
+
exports.executeAsyncInsertRowsWithMultiStatus = executeAsyncInsertRowsWithMultiStatus;
|
|
4
7
|
exports.upsertRows = upsertRows;
|
|
5
8
|
exports.upsertRowsV2 = upsertRowsV2;
|
|
6
9
|
exports.executeUpsertWithMultiStatus = executeUpsertWithMultiStatus;
|
|
@@ -16,12 +19,118 @@ function generateRows(payloads) {
|
|
|
16
19
|
});
|
|
17
20
|
return rows;
|
|
18
21
|
}
|
|
22
|
+
function generateFlattenedRows(payloads) {
|
|
23
|
+
const rows = [];
|
|
24
|
+
payloads.forEach((payload) => {
|
|
25
|
+
const flattenedRow = {
|
|
26
|
+
...payload.keys,
|
|
27
|
+
...payload.values
|
|
28
|
+
};
|
|
29
|
+
rows.push(flattenedRow);
|
|
30
|
+
});
|
|
31
|
+
return rows;
|
|
32
|
+
}
|
|
19
33
|
function isRetryableError(errData, status) {
|
|
20
34
|
return (status === 400 &&
|
|
21
35
|
errData?.errorcode === 10006 &&
|
|
22
36
|
errData?.message.includes('Unable to save rows for data extension ID') &&
|
|
23
37
|
!errData?.additionalErrors);
|
|
24
38
|
}
|
|
39
|
+
async function getExternalKey(request, settings, dataExtensionId) {
|
|
40
|
+
if (!dataExtensionId) {
|
|
41
|
+
return Promise.resolve(null);
|
|
42
|
+
}
|
|
43
|
+
const url = `https://${settings.subdomain}.rest.marketingcloudapis.com/data/v1/customobjects/${dataExtensionId}`;
|
|
44
|
+
const response = await request(url, {
|
|
45
|
+
method: 'GET'
|
|
46
|
+
});
|
|
47
|
+
if (response.status === 200) {
|
|
48
|
+
const responseData = response.data;
|
|
49
|
+
if (responseData && responseData.key) {
|
|
50
|
+
return responseData.key;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
async function asyncInsertRowsV2(request, subdomain, payloads, externalKey) {
|
|
56
|
+
if (!externalKey) {
|
|
57
|
+
throw new actions_core_1.IntegrationError(`In order to send an event to a data extension Data Extension Key must be defined.`, 'Misconfigured required field', 400);
|
|
58
|
+
}
|
|
59
|
+
const rows = generateFlattenedRows(payloads);
|
|
60
|
+
const response = await request(`https://${subdomain}.rest.marketingcloudapis.com/data/v1/async/dataextensions/key:${externalKey}/rows`, {
|
|
61
|
+
method: 'POST',
|
|
62
|
+
json: { items: rows }
|
|
63
|
+
});
|
|
64
|
+
return response;
|
|
65
|
+
}
|
|
66
|
+
async function executeAsyncInsertRowsWithMultiStatus(request, subdomain, payloads, externalKey, statsContext) {
|
|
67
|
+
const multiStatusResponse = new actions_core_1.MultiStatusResponse();
|
|
68
|
+
const rows = generateFlattenedRows(payloads);
|
|
69
|
+
let response;
|
|
70
|
+
try {
|
|
71
|
+
if (externalKey) {
|
|
72
|
+
response = await asyncInsertRowsV2(request, subdomain, payloads, externalKey);
|
|
73
|
+
}
|
|
74
|
+
if (response) {
|
|
75
|
+
const responseData = response.data;
|
|
76
|
+
payloads.forEach((_, index) => {
|
|
77
|
+
multiStatusResponse.setSuccessResponseAtIndex(index, {
|
|
78
|
+
status: 200,
|
|
79
|
+
sent: rows[index],
|
|
80
|
+
body: responseData[index] ? responseData[index] : {}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
if (error instanceof actions_core_1.IntegrationError && error.code === 'Misconfigured required field') {
|
|
87
|
+
payloads.forEach((_, index) => {
|
|
88
|
+
multiStatusResponse.setErrorResponseAtIndex(index, {
|
|
89
|
+
status: 400,
|
|
90
|
+
errortype: 'PAYLOAD_VALIDATION_FAILED',
|
|
91
|
+
errormessage: `In order to send an event to a data extension either Data Extension ID or Data Extension Key must be defined.`
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
return multiStatusResponse;
|
|
95
|
+
}
|
|
96
|
+
if (!error.response?.data) {
|
|
97
|
+
if (statsContext) {
|
|
98
|
+
const { tags, statsClient } = statsContext;
|
|
99
|
+
statsClient?.incr('sfmc_upsert_rows_error', 1, [...tags]);
|
|
100
|
+
}
|
|
101
|
+
payloads.forEach((_, index) => {
|
|
102
|
+
multiStatusResponse.setErrorResponseAtIndex(index, {
|
|
103
|
+
status: 500,
|
|
104
|
+
errormessage: error.message
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
return multiStatusResponse;
|
|
108
|
+
}
|
|
109
|
+
const err = error;
|
|
110
|
+
if (err?.response?.status === 401) {
|
|
111
|
+
throw error;
|
|
112
|
+
}
|
|
113
|
+
const errData = err?.response?.data;
|
|
114
|
+
const additionalError = err?.response?.data?.additionalErrors &&
|
|
115
|
+
err.response.data.additionalErrors.length > 0 &&
|
|
116
|
+
err.response.data.additionalErrors;
|
|
117
|
+
let status = 500;
|
|
118
|
+
const isRetryable = isRetryableError(errData, err?.response?.status);
|
|
119
|
+
statsContext?.statsClient?.incr('sfmc_upsert_rows_error', 1, [...statsContext.tags, `retryable:${isRetryable}`]);
|
|
120
|
+
if (!isRetryable && err?.response?.status) {
|
|
121
|
+
status = err.response.status;
|
|
122
|
+
}
|
|
123
|
+
payloads.forEach((_, index) => {
|
|
124
|
+
multiStatusResponse.setErrorResponseAtIndex(index, {
|
|
125
|
+
status: status,
|
|
126
|
+
errormessage: additionalError ? additionalError[0].message : errData?.message || '',
|
|
127
|
+
sent: rows[index],
|
|
128
|
+
body: additionalError ? additionalError : errData
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
return multiStatusResponse;
|
|
133
|
+
}
|
|
25
134
|
function upsertRows(request, subdomain, payloads) {
|
|
26
135
|
const { key, id } = payloads[0];
|
|
27
136
|
if (!key && !id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sfmc-operations.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/sfmc-operations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sfmc-operations.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/sfmc-operations.ts"],"names":[],"mappings":";;;AAsDA,wCAmBC;AAED,8CAuBC;AAED,sFA+FC;AAED,gCAyBC;AAED,oCAmBC;AAED,oEA+FC;AApVD,wDAW8B;AAM9B,mCAA+B;AAE/B,SAAS,YAAY,CAAC,QAAkE;IACtF,MAAM,IAAI,GAA0B,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAA6D,EAAE,EAAE;QACjF,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAkE;IAElE,MAAM,IAAI,GAA0B,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAA6D,EAAE,EAAE;QAEjF,MAAM,YAAY,GAAG;YACnB,GAAG,OAAO,CAAC,IAAI;YACf,GAAG,OAAO,CAAC,MAAM;SAClB,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAkB,EAAE,MAAc;IAC1D,OAAO,CACL,MAAM,KAAK,GAAG;QACd,OAAO,EAAE,SAAS,KAAK,KAAK;QAC5B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACtE,CAAC,OAAO,EAAE,gBAAgB,CAC3B,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,OAAsB,EACtB,QAAkB,EAClB,eAAuB;IAEvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IACD,MAAM,GAAG,GAAG,WAAW,QAAQ,CAAC,SAAS,sDAAsD,eAAe,EAAE,CAAA;IAChH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAmB,GAAG,EAAE;QACpD,MAAM,EAAE,KAAK;KACd,CAAC,CAAA;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAA;QAClC,IAAI,YAAY,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC;YACrC,OAAO,YAAY,CAAC,GAAG,CAAA;QACzB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,OAAsB,EACtB,SAAiB,EACjB,QAAkE,EAClE,WAAoB;IAEpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,+BAAgB,CACxB,mFAAmF,EACnF,8BAA8B,EAC9B,GAAG,CACJ,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,WAAW,SAAS,iEAAiE,WAAW,OAAO,EACvG;QACE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;KACtB,CACF,CAAA;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAEM,KAAK,UAAU,qCAAqC,CACzD,OAAsB,EACtB,SAAiB,EACjB,QAAkE,EAClE,WAAoB,EACpB,YAA2B;IAE3B,MAAM,mBAAmB,GAAG,IAAI,kCAAmB,EAAE,CAAA;IACrD,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC5C,IAAI,QAAsC,CAAA;IAE1C,IAAI,CAAC;QACH,IAAI,WAAW,EAAE,CAAC;YAChB,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QAC/E,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAwB,CAAA;YACtD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC5B,mBAAmB,CAAC,yBAAyB,CAAC,KAAK,EAAE;oBACnD,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAA6B;oBAC7C,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,YAAY,CAAC,KAAK,CAA8B,CAAC,CAAC,CAAC,EAAE;iBACnF,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,+BAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,8BAA8B,EAAE,CAAC;YACvF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC5B,mBAAmB,CAAC,uBAAuB,CAAC,KAAK,EAAE;oBACjD,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,2BAA2B;oBACtC,YAAY,EAAE,+GAA+G;iBAC9H,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YACF,OAAO,mBAAmB,CAAA;QAC5B,CAAC;QAGD,IAAI,CAAE,KAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC7C,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,YAAY,CAAA;gBAC1C,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YAC3D,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC5B,mBAAmB,CAAC,uBAAuB,CAAC,KAAK,EAAE;oBACjD,MAAM,EAAE,GAAG;oBACX,YAAY,EAAE,KAAK,CAAC,OAAO;iBAC5B,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YACF,OAAO,mBAAmB,CAAA;QAC5B,CAAC;QAED,MAAM,GAAG,GAAG,KAAsB,CAAA;QAClC,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YAClC,MAAM,KAAK,CAAA;QACb,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAA;QACnC,MAAM,eAAe,GACnB,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB;YACrC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAC7C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAA;QAEpC,IAAI,MAAM,GAAG,GAAG,CAAA;QAChB,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QACpE,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,aAAa,WAAW,EAAE,CAAC,CAAC,CAAA;QAChH,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAA;QAC9B,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC5B,mBAAmB,CAAC,uBAAuB,CAAC,KAAK,EAAE;gBACjD,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;gBACnF,IAAI,EAAE,IAAI,CAAC,KAAK,CAA6B;gBAe7C,IAAI,EAAE,eAAe,CAAC,CAAC,CAAE,eAA4C,CAAC,CAAC,CAAE,OAAoC;aAC9G,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAED,SAAgB,UAAU,CACxB,OAAsB,EACtB,SAAiB,EACjB,QAAkE;IAElE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,+BAAgB,CACxB,+GAA+G,EAC/G,8BAA8B,EAC9B,GAAG,CACJ,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACnC,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,OAAO,CAAC,WAAW,SAAS,sDAAsD,GAAG,SAAS,EAAE;YACrG,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,WAAW,SAAS,kDAAkD,EAAE,SAAS,EAAE;YAChG,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,YAAY,CAC1B,OAAsB,EACtB,SAAiB,EACjB,QAAkE,EAClE,eAAuB;IAEvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,+BAAgB,CACxB,kFAAkF,EAClF,8BAA8B,EAC9B,GAAG,CACJ,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACnC,OAAO,OAAO,CAAC,WAAW,SAAS,kDAAkD,eAAe,SAAS,EAAE;QAC7G,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,4BAA4B,CAChD,OAAsB,EACtB,SAAiB,EACjB,QAAkE,EAClE,eAAwB,EACxB,YAA2B;IAE3B,MAAM,mBAAmB,GAAG,IAAI,kCAAmB,EAAE,CAAA;IACrD,IAAI,QAAsC,CAAA;IAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACnC,IAAI,CAAC;QACH,IAAI,eAAe,EAAE,CAAC;YACpB,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAA;QAC9E,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAwB,CAAA;YACtD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC5B,mBAAmB,CAAC,yBAAyB,CAAC,KAAK,EAAE;oBACnD,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAA6B;oBAC7C,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,YAAY,CAAC,KAAK,CAA8B,CAAC,CAAC,CAAC,EAAE;iBACnF,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,+BAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,8BAA8B,EAAE,CAAC;YACvF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC5B,mBAAmB,CAAC,uBAAuB,CAAC,KAAK,EAAE;oBACjD,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,2BAA2B;oBACtC,YAAY,EAAE,+GAA+G;iBAC9H,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YACF,OAAO,mBAAmB,CAAA;QAC5B,CAAC;QAGD,IAAI,CAAE,KAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC7C,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,YAAY,CAAA;gBAC1C,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YAC3D,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC5B,mBAAmB,CAAC,uBAAuB,CAAC,KAAK,EAAE;oBACjD,MAAM,EAAE,GAAG;oBACX,YAAY,EAAE,KAAK,CAAC,OAAO;iBAC5B,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YACF,OAAO,mBAAmB,CAAA;QAC5B,CAAC;QAED,MAAM,GAAG,GAAG,KAAsB,CAAA;QAClC,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YAClC,MAAM,KAAK,CAAA;QACb,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAA;QACnC,MAAM,eAAe,GACnB,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB;YACrC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAC7C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAA;QAEpC,IAAI,MAAM,GAAG,GAAG,CAAA;QAChB,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;QACpE,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,aAAa,WAAW,EAAE,CAAC,CAAC,CAAA;QAChH,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAA;QAC9B,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC5B,mBAAmB,CAAC,uBAAuB,CAAC,KAAK,EAAE;gBACjD,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;gBACnF,IAAI,EAAE,IAAI,CAAC,KAAK,CAA6B;gBAe7C,IAAI,EAAE,eAAe,CAAC,CAAC,CAAE,eAA4C,CAAC,CAAC,CAAE,OAAoC;aAC9G,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAuDD,MAAM,cAAc,GAAG,KAAK,EAC1B,OAAsB,EACtB,QAAkB,EACyC,EAAE;IAC7D,MAAM,OAAO,GAAG,WAAW,QAAQ,CAAC,SAAS,uCAAuC,CAAA;IACpF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,GAAG,OAAO,EAAE,EAAE;QAC5D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,eAAe,CAAC;YACxB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,UAAU,EAAE,oBAAoB;SACjC,CAAC;KACH,CAAC,CAAA;IAEF,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAA;AAC5F,CAAC,CAAA;AAED,MAAM,oBAAoB,GAAG,KAAK,EAChC,OAAsB,EACtB,UAA+B,EAC/B,IAAgD,EACQ,EAAE;IAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAA;IACzD,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAA;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClD,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;YAErC,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,KAAK;YACtB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,KAAK;YACjB,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;SACpB,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,WAAW,IAAI,CAAC,SAAS,oDAAoD,EAC7E;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,yBAAyB,EAAE,UAAU,CAAC,yBAAyB;gBAC/D,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;gBAC3D,MAAM;aACP;YACD,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;aAC5C;SACF,CACF,CAAA;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAA;QACtE,CAAC;QAED,OAAO;YACL,EAAE,EAAG,QAA0C,CAAC,IAAI,CAAC,EAAE;YACvD,GAAG,EAAG,QAA0C,CAAC,IAAI,CAAC,GAAG;SAC1D,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;IAChE,CAAC;AACH,CAAC,CAAA;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAsB,EACtB,SAAiB,EACjB,UAA+B,EAC/B,QAAkB;IAElB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,KAAK,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE;SACxD,CAAA;IACH,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAE/D,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAA;IAEtG,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D,CAAA;IACH,CAAC;IAED,OAAO;QACL,cAAc,EAAE,kBAAkB,UAAU,CAAC,IAAI,2CAA2C,GAAG,EAAE;QACjG,SAAS,EAAE;YACT,EAAE;YACF,IAAI,EAAE,UAAU,CAAC,IAAK;SACvB;KACF,CAAA;AACH,CAAC;AAED,MAAM,0BAA0B,GAAG,KAAK,EACtC,OAAsB,EACtB,UAA+B,EAC/B,IAAgD,EACS,EAAE;IAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAA;IAC1D,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;QAChC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAA;IACrE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,WAAW,IAAI,CAAC,SAAS,sDAAsD,UAAU,CAAC,eAAe,EAAE,EAC3G;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;aAC5C;SACF,CACF,CAAA;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAA;QACvE,CAAC;QAED,OAAO;YACL,EAAE,EAAG,QAA2C,CAAC,IAAI,CAAC,EAAE;YACxD,IAAI,EAAG,QAA2C,CAAC,IAAI,CAAC,IAAI;SAC7D,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,SAAS,GACb,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ;YAC7C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACxC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAA;QACjC,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;QAE9C,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO;gBACL,EAAE,EAAE,UAAU,CAAC,eAAe;gBAC9B,IAAI,EAAE,6CAA6C;gBACnD,KAAK,EAAE,GAAG,YAAY,uNAAuN;aAC9O,CAAA;QACH,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;IAC/D,CAAC;AACH,CAAC,CAAA;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAsB,EACtB,SAAiB,EACjB,UAA+B,EAC/B,QAAkB;IAElB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,KAAK,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE;SACxD,CAAA;IACH,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAE/D,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAA;IAC7G,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,OAAO;YACL,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE;YACvD,SAAS,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAK,EAAE;SAC/B,CAAA;IACH,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO;YACL,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE;SAC5D,CAAA;IACH,CAAC;IAED,OAAO;QACL,cAAc,EAAE,kBAAkB,IAAI,2CAA2C,EAAE,EAAE;QACrF,SAAS,EAAE;YACT,EAAE;YACF,IAAI,EAAE,IAAK;SACZ;KACF,CAAA;AACH,CAAC;AAEM,MAAM,2BAA2B,GAAG,KAAK,EAC9C,OAAsB,EACtB,SAAiB,EACjB,UAA+B,EAC/B,QAAkB,EACyC,EAAE;IAC7D,IAAI,UAAU,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,MAAM,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC5E,CAAC;SAAM,IAAI,UAAU,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,MAAM,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC5E,CAAC;IAED,OAAO;QACL,KAAK,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE;KACvD,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,2BAA2B,+BAevC;AAED,MAAM,wBAAwB,GAAG,KAAK,EACpC,OAAsB,EACtB,WAAmB,EACnB,IAAgD,EACsB,EAAE;IACxE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,WAAW,IAAI,CAAC,SAAS,oDAAoD,EAC7E;YACE,MAAM,EAAE,KAAK;YACb,YAAY,EAAE;gBACZ,OAAO,EAAE,WAAW;aACrB;YACD,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;aAC5C;SACF,CACF,CAAA;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAA;QACvF,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAA;QAEnC,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC9B,OAAO;oBACL,KAAK,EAAE,MAAM,CAAC,EAAE;oBAChB,KAAK,EAAE,MAAM,CAAC,IAAI;iBACnB,CAAA;YACH,CAAC,CAAC;SACH,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,SAAS,GACb,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ;YAC7C,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YACxC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAA;QACjC,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;QAE9C,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO;gBACL,KAAK,EAAE;oBACL,OAAO,EAAE,GAAG,YAAY,6RAA6R;oBACrT,IAAI,EAAE,SAAS;iBAChB;aACF,CAAA;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,IAAI,aAAa,EAAE,EAAE,CAAA;IAC5F,CAAC;AACH,CAAC,CAAA;AAEM,MAAM,iBAAiB,GAAG,KAAK,EACpC,OAAsB,EACtB,SAAiB,EACjB,QAAkB,EAClB,KAAc,EACiB,EAAE;IACjC,IAAI,WAAW,GAAG,GAAG,CAAA;IACrB,IAAI,KAAK,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC1B,WAAW,GAAG,KAAK,CAAA;IACrB,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAE/D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAA;IAE3G,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,KAAK;SACb,CAAA;IACH,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO;YACL,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE,WAAW,EAAE;SAClE,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO;KACjB,CAAA;AACH,CAAC,CAAA;AAhCY,QAAA,iBAAiB,qBAgC7B;AAED,MAAM,6BAA6B,GAAG,KAAK,EACzC,OAAsB,EACtB,eAAuB,EACvB,IAAgD,EAChD,UAAmB,EACmD,EAAE;IACxE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,WAAW,IAAI,CAAC,SAAS,sDAAsD,eAAe,SAAS,EACvG;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;aAC5C;SACF,CACF,CAAA;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAA;QAC7F,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,KAAK,UAAU,CAAC,CAAA;QAE/F,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1C,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;QACjD,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAA;IAC/E,CAAC;AACH,CAAC,CAAA;AAEM,MAAM,sBAAsB,GAAG,KAAK,EACzC,OAAsB,EACtB,SAAiB,EACjB,QAAkB,EAClB,eAAuB,EACvB,UAAmB,EACY,EAAE;IACjC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,+BAA+B,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAA;IAClG,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAE/D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,6BAA6B,CAC5D,OAAO,EACP,eAAe,EACf,EAAE,SAAS,EAAE,WAAW,EAAE,EAC1B,UAAU,CACX,CAAA;IAED,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,KAAK;SACb,CAAA;IACH,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO;YACL,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE,OAAO,EAAE,gCAAgC,EAAE,IAAI,EAAE,WAAW,EAAE;SACxE,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO;KACjB,CAAA;AACH,CAAC,CAAA;AApCY,QAAA,sBAAsB,0BAoClC;AAED,MAAM,oBAAoB,GAAG,KAAK,EAChC,OAAsB,EACtB,IAAsD,EACgB,EAAE;IACxE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,eAAe,EAAE;YACrE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,UAAU;gBAC1B,UAAU,EAAE,UAAU;aACvB;YACD,IAAI,EAAE;;;;;;wDAM4C,IAAI,CAAC,WAAW;;;;;;;;;;;;;;SAc/D;SACJ,CAAC,CAAA;QAEF,MAAM,OAAO,GAAQ,IAAA,eAAM,EAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAChE,MAAM,KAAK,GAAI,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAA0B,CAAC,GAAG,CACjH,CAAC,IAAI,EAAE,EAAE;YACP,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAA;YAEnC,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;gBACtB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK;gBACpB,WAAW,EAAE,gBAAgB,IAAI,EAAE;aACpC,CAAA;QACH,CAAC,CACF,CAAA;QAED,OAAO;YACL,OAAO,EAAE,KAAK;SACf,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAA;IAC/E,CAAC;AACH,CAAC,CAAA;AAEM,MAAM,aAAa,GAAG,KAAK,EAAE,OAAsB,EAAE,QAAkB,EAAiC,EAAE;IAC/G,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAEhF,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC,CAAA;IAEhG,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,KAAK;SACb,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO,IAAI,EAAE;KACvB,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,aAAa,iBAezB"}
|
package/dist/lib/AWS/utils.d.ts
CHANGED
package/dist/lib/AWS/utils.js
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.APP_AWS_REGION = void 0;
|
|
3
|
+
exports.AWS_REGIONS = exports.APP_AWS_REGION = void 0;
|
|
4
4
|
exports.APP_AWS_REGION = process.env['AWS_REGION'] || `us-west-2`;
|
|
5
|
+
exports.AWS_REGIONS = [
|
|
6
|
+
{ label: 'us-east-1', value: 'us-east-1' },
|
|
7
|
+
{ label: 'us-east-2', value: 'us-east-2' },
|
|
8
|
+
{ label: 'us-west-1', value: 'us-west-1' },
|
|
9
|
+
{ label: 'us-west-2', value: 'us-west-2' },
|
|
10
|
+
{ label: 'eu-west-1', value: 'eu-west-1' },
|
|
11
|
+
{ label: 'eu-west-2', value: 'eu-west-2' },
|
|
12
|
+
{ label: 'eu-west-3', value: 'eu-west-3' },
|
|
13
|
+
{ label: 'ap-southeast-1', value: 'ap-southeast-1' },
|
|
14
|
+
{ label: 'ap-southeast-2', value: 'ap-southeast-2' },
|
|
15
|
+
{ label: 'sa-east-1', value: 'sa-east-1' },
|
|
16
|
+
{ label: 'ap-northeast-1', value: 'ap-northeast-1' },
|
|
17
|
+
{ label: 'ap-northeast-2', value: 'ap-northeast-2' },
|
|
18
|
+
{ label: 'ap-south-1', value: 'ap-south-1' },
|
|
19
|
+
{ label: 'ca-central-1', value: 'ca-central-1' },
|
|
20
|
+
{ label: 'eu-central-1', value: 'eu-central-1' }
|
|
21
|
+
];
|
|
5
22
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/AWS/utils.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/AWS/utils.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,WAAW,CAAA;AAEzD,QAAA,WAAW,GAAG;IACzB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACpD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACpD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IAC1C,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACpD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACpD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IAC5C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;IAChD,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;CACjD,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@segment/action-destinations",
|
|
3
3
|
"description": "Destination Actions engine and definitions.",
|
|
4
|
-
"version": "3.444.0",
|
|
4
|
+
"version": "3.444.1-staging-7a4392ac3.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/segmentio/action-destinations",
|
|
@@ -42,12 +42,13 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@amplitude/ua-parser-js": "^0.7.25",
|
|
44
44
|
"@aws-sdk/client-eventbridge": "^3.741.0",
|
|
45
|
+
"@aws-sdk/client-kinesis": "3.917.0",
|
|
45
46
|
"@aws-sdk/client-s3": "^3.600.0",
|
|
46
47
|
"@aws-sdk/client-sts": "3.614.0",
|
|
47
48
|
"@bufbuild/protobuf": "^2.2.3",
|
|
48
49
|
"@segment/a1-notation": "^2.1.4",
|
|
49
|
-
"@segment/actions-core": "
|
|
50
|
-
"@segment/actions-shared": "
|
|
50
|
+
"@segment/actions-core": "3.163.1-staging-7a4392ac3.0",
|
|
51
|
+
"@segment/actions-shared": "1.144.1-staging-7a4392ac3.0",
|
|
51
52
|
"@types/node": "^22.13.1",
|
|
52
53
|
"ajv-formats": "^2.1.1",
|
|
53
54
|
"aws4": "^1.12.0",
|
|
@@ -91,5 +92,5 @@
|
|
|
91
92
|
"__tests__/__helpers__/"
|
|
92
93
|
]
|
|
93
94
|
},
|
|
94
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "97fa1c4984906015b579fd07cb7db4a3a69a52b8"
|
|
95
96
|
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const index_1 = __importDefault(require("../index"));
|
|
7
|
-
const sts_1 = require("../../../lib/AWS/sts");
|
|
8
|
-
const utils_1 = require("../utils");
|
|
9
|
-
const utils_2 = require("../../../lib/AWS/utils");
|
|
10
|
-
const create_test_integration_1 = require("../../../../../core/src/create-test-integration");
|
|
11
|
-
jest.mock('../../../lib/AWS/sts', () => ({
|
|
12
|
-
assumeRole: jest.fn()
|
|
13
|
-
}));
|
|
14
|
-
jest.mock('../utils', () => ({
|
|
15
|
-
validateIamRoleArnFormat: jest.fn()
|
|
16
|
-
}));
|
|
17
|
-
jest.mock('@segment/actions-core', () => ({
|
|
18
|
-
IntegrationError: jest.fn().mockImplementation((message, code, status) => ({
|
|
19
|
-
name: 'IntegrationError',
|
|
20
|
-
message,
|
|
21
|
-
code,
|
|
22
|
-
status
|
|
23
|
-
}))
|
|
24
|
-
}));
|
|
25
|
-
jest.mock('../../../lib/AWS/utils', () => ({
|
|
26
|
-
APP_AWS_REGION: 'us-east-1'
|
|
27
|
-
}));
|
|
28
|
-
const testDestination = (0, create_test_integration_1.createTestIntegration)(index_1.default);
|
|
29
|
-
describe('AWS Kinesis Destination - testAuthentication', () => {
|
|
30
|
-
const validSettings = {
|
|
31
|
-
iamRoleArn: 'arn:aws:iam::123456789012:role/MyRole',
|
|
32
|
-
iamExternalId: 'external-id'
|
|
33
|
-
};
|
|
34
|
-
beforeEach(() => {
|
|
35
|
-
jest.clearAllMocks();
|
|
36
|
-
});
|
|
37
|
-
it('should call assumeRole when IAM Role ARN format is valid', async () => {
|
|
38
|
-
;
|
|
39
|
-
utils_1.validateIamRoleArnFormat.mockReturnValue(true);
|
|
40
|
-
sts_1.assumeRole.mockResolvedValue({
|
|
41
|
-
accessKeyId: 'AKIA...',
|
|
42
|
-
secretAccessKey: 'SECRET...',
|
|
43
|
-
sessionToken: 'TOKEN...'
|
|
44
|
-
});
|
|
45
|
-
await expect(testDestination.testAuthentication(validSettings)).resolves.not.toThrow();
|
|
46
|
-
expect(utils_1.validateIamRoleArnFormat).toHaveBeenCalledWith(validSettings.iamRoleArn);
|
|
47
|
-
expect(sts_1.assumeRole).toHaveBeenCalledWith(validSettings.iamRoleArn, validSettings.iamExternalId, utils_2.APP_AWS_REGION);
|
|
48
|
-
});
|
|
49
|
-
it('should throw IntegrationError if IAM Role ARN format is invalid', async () => {
|
|
50
|
-
;
|
|
51
|
-
utils_1.validateIamRoleArnFormat.mockReturnValue(false);
|
|
52
|
-
const result = testDestination.testAuthentication(validSettings);
|
|
53
|
-
await expect(result).rejects.toThrow('Credentials are invalid: The provided IAM Role ARN format is not valid');
|
|
54
|
-
expect(sts_1.assumeRole).not.toHaveBeenCalled();
|
|
55
|
-
});
|
|
56
|
-
it('should propagate errors from assumeRole', async () => {
|
|
57
|
-
;
|
|
58
|
-
utils_1.validateIamRoleArnFormat.mockReturnValue(true);
|
|
59
|
-
sts_1.assumeRole.mockRejectedValue(new Error('AssumeRole failed'));
|
|
60
|
-
await expect(testDestination.testAuthentication(validSettings)).rejects.toThrow('AssumeRole failed');
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/destinations/aws-kinesis/__test__/index.test.ts"],"names":[],"mappings":";;;;;AAAA,qDAAkC;AAClC,8CAAiD;AACjD,oCAAmD;AACnD,kDAAuD;AAEvD,6FAAuF;AAGvF,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;IACvC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;CACtB,CAAC,CAAC,CAAA;AAEH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3B,wBAAwB,EAAE,IAAI,CAAC,EAAE,EAAE;CACpC,CAAC,CAAC,CAAA;AAEH,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACzE,IAAI,EAAE,kBAAkB;QACxB,OAAO;QACP,IAAI;QACJ,MAAM;KACP,CAAC,CAAC;CACJ,CAAC,CAAC,CAAA;AAEH,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,cAAc,EAAE,WAAW;CAC5B,CAAC,CAAC,CAAA;AAEH,MAAM,eAAe,GAAG,IAAA,+CAAqB,EAAC,eAAW,CAAC,CAAA;AAE1D,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAC5D,MAAM,aAAa,GAAa;QAC9B,UAAU,EAAE,uCAAuC;QACnD,aAAa,EAAE,aAAa;KAC7B,CAAA;IAED,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,CAAC;QAAC,gCAAsC,CAAC,eAAe,CAAC,IAAI,CAAC,CAC7D;QAAC,gBAAwB,CAAC,iBAAiB,CAAC;YAC3C,WAAW,EAAE,SAAS;YACtB,eAAe,EAAE,WAAW;YAC5B,YAAY,EAAE,UAAU;SACzB,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QAEtF,MAAM,CAAC,gCAAwB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAC/E,MAAM,CAAC,gBAAU,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,aAAa,EAAE,sBAAc,CAAC,CAAA;IAChH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,CAAC;QAAC,gCAAsC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QAE/D,MAAM,MAAM,GAAG,eAAe,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;QAEhE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,yEAAyE,CAAC,CAAA;QAE/G,MAAM,CAAC,gBAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,CAAC;QAAC,gCAAsC,CAAC,eAAe,CAAC,IAAI,CAAC,CAC7D;QAAC,gBAAwB,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAA;QAE5E,MAAM,MAAM,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACtG,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const utils_1 = require("../utils");
|
|
4
|
-
describe('validateIamRoleArnFormat', () => {
|
|
5
|
-
it('should return true for a valid IAM Role ARN', () => {
|
|
6
|
-
const validArns = [
|
|
7
|
-
'arn:aws:iam::123456789012:role/MyRole',
|
|
8
|
-
'arn:aws:iam::000000000000:role/service-role/My-Service_Role',
|
|
9
|
-
'arn:aws:iam::987654321098:role/path/to/MyRole',
|
|
10
|
-
'arn:aws:iam::111122223333:role/MyRole-With.Special@Chars_+=,.'
|
|
11
|
-
];
|
|
12
|
-
for (const arn of validArns) {
|
|
13
|
-
expect((0, utils_1.validateIamRoleArnFormat)(arn)).toBe(true);
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
it('should return false for an ARN with invalid prefix', () => {
|
|
17
|
-
const invalidArn = 'arn:aws:s3::123456789012:role/MyRole';
|
|
18
|
-
expect((0, utils_1.validateIamRoleArnFormat)(invalidArn)).toBe(false);
|
|
19
|
-
});
|
|
20
|
-
it('should return false if missing account ID', () => {
|
|
21
|
-
const invalidArn = 'arn:aws:iam:::role/MyRole';
|
|
22
|
-
expect((0, utils_1.validateIamRoleArnFormat)(invalidArn)).toBe(false);
|
|
23
|
-
});
|
|
24
|
-
it('should return false if account ID is not 12 digits', () => {
|
|
25
|
-
const invalidArns = ['arn:aws:iam::12345:role/MyRole', 'arn:aws:iam::1234567890123:role/MyRole'];
|
|
26
|
-
for (const arn of invalidArns) {
|
|
27
|
-
expect((0, utils_1.validateIamRoleArnFormat)(arn)).toBe(false);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
it('should return false if missing "role/" segment', () => {
|
|
31
|
-
const invalidArn = 'arn:aws:iam::123456789012:MyRole';
|
|
32
|
-
expect((0, utils_1.validateIamRoleArnFormat)(invalidArn)).toBe(false);
|
|
33
|
-
});
|
|
34
|
-
it('should return false if role name contains invalid characters', () => {
|
|
35
|
-
const invalidArns = [
|
|
36
|
-
'arn:aws:iam::123456789012:role/My Role',
|
|
37
|
-
'arn:aws:iam::123456789012:role/MyRole#InvalidChar'
|
|
38
|
-
];
|
|
39
|
-
for (const arn of invalidArns) {
|
|
40
|
-
expect((0, utils_1.validateIamRoleArnFormat)(arn)).toBe(false);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
it('should return false for empty or null values', () => {
|
|
44
|
-
expect((0, utils_1.validateIamRoleArnFormat)('')).toBe(false);
|
|
45
|
-
expect((0, utils_1.validateIamRoleArnFormat)(null)).toBe(false);
|
|
46
|
-
expect((0, utils_1.validateIamRoleArnFormat)(undefined)).toBe(false);
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
//# sourceMappingURL=utils.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../src/destinations/aws-kinesis/__test__/utils.test.ts"],"names":[],"mappings":";;AAAA,oCAAmD;AAEnD,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,SAAS,GAAG;YAChB,uCAAuC;YACvC,6DAA6D;YAC7D,+CAA+C;YAC/C,+DAA+D;SAChE,CAAA;QAED,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAA,gCAAwB,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,UAAU,GAAG,sCAAsC,CAAA;QACzD,MAAM,CAAC,IAAA,gCAAwB,EAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,UAAU,GAAG,2BAA2B,CAAA;QAC9C,MAAM,CAAC,IAAA,gCAAwB,EAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,WAAW,GAAG,CAAC,gCAAgC,EAAE,wCAAwC,CAAC,CAAA;QAChG,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAA,gCAAwB,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,UAAU,GAAG,kCAAkC,CAAA;QACrD,MAAM,CAAC,IAAA,gCAAwB,EAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,WAAW,GAAG;YAClB,wCAAwC;YACxC,mDAAmD;SACpD,CAAA;QACD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAA,gCAAwB,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnD,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,IAAA,gCAAwB,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEhD,MAAM,CAAC,IAAA,gCAAwB,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAElD,MAAM,CAAC,IAAA,gCAAwB,EAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|