@segment/action-destinations 3.192.1-staging.2 → 3.193.1-joe-sayan-testing.9
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/engage/sendgrid/sendEmail/SendEmailPerformer.js +1 -1
- package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js.map +1 -1
- package/dist/destinations/engage/sendgrid/sendEmail/insertEmailPreviewText.js +2 -2
- package/dist/destinations/engage/sendgrid/sendEmail/insertEmailPreviewText.js.map +1 -1
- package/dist/destinations/engage/utils/EngageStats.js.map +1 -1
- package/dist/destinations/example/generated-types.d.ts +2 -0
- package/dist/destinations/example/generated-types.js.map +1 -0
- package/dist/destinations/fullstory/identifyUser/index.js +1 -1
- package/dist/destinations/fullstory/identifyUser/index.js.map +1 -1
- package/dist/destinations/fullstory/identifyUserV2/generated-types.d.ts +9 -0
- package/dist/destinations/fullstory/identifyUserV2/generated-types.js.map +1 -0
- package/dist/destinations/fullstory/identifyUserV2/index.d.ts +4 -0
- package/dist/destinations/fullstory/identifyUserV2/index.js +76 -0
- package/dist/destinations/fullstory/identifyUserV2/index.js.map +1 -0
- package/dist/destinations/fullstory/index.js +5 -1
- package/dist/destinations/fullstory/index.js.map +1 -1
- package/dist/destinations/fullstory/request-params.d.ts +9 -0
- package/dist/destinations/fullstory/request-params.js +56 -3
- package/dist/destinations/fullstory/request-params.js.map +1 -1
- package/dist/destinations/fullstory/trackEvent/index.js +1 -1
- package/dist/destinations/fullstory/trackEvent/index.js.map +1 -1
- package/dist/destinations/fullstory/trackEventV2/generated-types.d.ts +10 -0
- package/dist/destinations/fullstory/trackEventV2/generated-types.js +3 -0
- package/dist/destinations/fullstory/trackEventV2/generated-types.js.map +1 -0
- package/dist/destinations/{liveramp-audiences/audienceEnteredSftp → fullstory/trackEventV2}/index.d.ts +1 -1
- package/dist/destinations/fullstory/trackEventV2/index.js +79 -0
- package/dist/destinations/fullstory/trackEventV2/index.js.map +1 -0
- package/dist/destinations/fullstory/vars.d.ts +1 -0
- package/dist/destinations/fullstory/vars.js +1 -1
- package/dist/destinations/fullstory/vars.js.map +1 -1
- package/dist/destinations/linkedin-audiences/constants.d.ts +1 -1
- package/dist/destinations/linkedin-audiences/constants.js +1 -1
- package/dist/destinations/listrak/updateEmailContactProfileFields/index.js.map +1 -1
- package/dist/destinations/liveramp-audiences/{audienceEnteredSftp → audienceEntered}/generated-types.d.ts +0 -3
- package/dist/destinations/liveramp-audiences/audienceEntered/generated-types.js +3 -0
- package/dist/destinations/liveramp-audiences/{audienceEnteredS3 → audienceEntered}/generated-types.js.map +1 -1
- package/dist/destinations/liveramp-audiences/{audienceEnteredSftp → audienceEntered}/index.js +27 -28
- package/dist/destinations/liveramp-audiences/audienceEntered/index.js.map +1 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/s3.d.ts +6 -0
- package/dist/destinations/liveramp-audiences/{audienceEnteredS3 → audienceEntered}/s3.js +7 -7
- package/dist/destinations/liveramp-audiences/audienceEntered/s3.js.map +1 -0
- package/dist/destinations/liveramp-audiences/audienceEntered/sftp.d.ts +7 -0
- package/dist/destinations/liveramp-audiences/{audienceEnteredSftp → audienceEntered}/sftp.js +14 -14
- package/dist/destinations/liveramp-audiences/audienceEntered/sftp.js.map +1 -0
- package/dist/destinations/liveramp-audiences/generated-types.d.ts +8 -0
- package/dist/destinations/liveramp-audiences/index.js +56 -4
- package/dist/destinations/liveramp-audiences/index.js.map +1 -1
- package/dist/destinations/liveramp-audiences/operations.d.ts +1 -1
- package/dist/destinations/liveramp-audiences/operations.js +13 -25
- package/dist/destinations/liveramp-audiences/operations.js.map +1 -1
- package/dist/destinations/m3ter/auth.js.map +1 -1
- package/dist/destinations/m3ter/submitMeasurements/index.js +3 -3
- package/dist/destinations/m3ter/submitMeasurements/index.js.map +1 -1
- package/dist/destinations/playerzero-cloud/identifyUser/index.js +3 -3
- package/dist/destinations/the-trade-desk-crm/awsClient.d.ts +18 -0
- package/dist/destinations/the-trade-desk-crm/awsClient.js +78 -0
- package/dist/destinations/the-trade-desk-crm/awsClient.js.map +1 -0
- package/dist/destinations/the-trade-desk-crm/functions.d.ts +5 -2
- package/dist/destinations/the-trade-desk-crm/functions.js +17 -29
- package/dist/destinations/the-trade-desk-crm/functions.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/index.js +1 -1
- package/package.json +6 -4
- package/dist/destinations/liveramp-audiences/audienceEnteredS3/generated-types.d.ts +0 -17
- package/dist/destinations/liveramp-audiences/audienceEnteredS3/index.js +0 -98
- package/dist/destinations/liveramp-audiences/audienceEnteredS3/index.js.map +0 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredS3/s3.d.ts +0 -6
- package/dist/destinations/liveramp-audiences/audienceEnteredS3/s3.js.map +0 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/generated-types.js.map +0 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.js.map +0 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/sftp.d.ts +0 -7
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/sftp.js.map +0 -1
- /package/dist/destinations/{liveramp-audiences/audienceEnteredS3 → example}/generated-types.js +0 -0
- /package/dist/destinations/{liveramp-audiences/audienceEnteredSftp → fullstory/identifyUserV2}/generated-types.js +0 -0
- /package/dist/destinations/liveramp-audiences/{audienceEnteredS3 → audienceEntered}/index.d.ts +0 -0
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.hash = exports.processPayload = void 0;
|
|
4
4
|
const actions_core_1 = require("@segment/actions-core");
|
|
5
5
|
const crypto_1 = require("crypto");
|
|
6
|
+
const awsClient_1 = require("./awsClient");
|
|
6
7
|
const API_VERSION = 'v3';
|
|
7
8
|
const BASE_URL = `https://api.thetradedesk.com/${API_VERSION}`;
|
|
8
9
|
async function processPayload(request, settings, payloads) {
|
|
@@ -10,10 +11,20 @@ async function processPayload(request, settings, payloads) {
|
|
|
10
11
|
if (payloads.length < TTD_MIN_RECORD_COUNT) {
|
|
11
12
|
throw new actions_core_1.PayloadValidationError(`received payload count below The Trade Desk's ingestion limits. Expected: >=${TTD_MIN_RECORD_COUNT} actual: ${payloads.length}`);
|
|
12
13
|
}
|
|
13
|
-
const crmID = await
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
14
|
+
const crmID = await getCRMInfo(request, settings, payloads[0]);
|
|
15
|
+
const usersFormatted = extractUsers(payloads);
|
|
16
|
+
const AWSOperationStatus = await awsClient_1.sendEventToAWS({
|
|
17
|
+
TDDAuthToken: settings.auth_token,
|
|
18
|
+
AdvertiserId: settings.advertiser_id,
|
|
19
|
+
CrmDataId: crmID,
|
|
20
|
+
SegmentName: payloads[0].name,
|
|
21
|
+
UsersFormatted: usersFormatted,
|
|
22
|
+
DropOptions: {
|
|
23
|
+
PiiType: payloads[0].pii_type,
|
|
24
|
+
MergeMode: 'Replace'
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return AWSOperationStatus;
|
|
17
28
|
}
|
|
18
29
|
exports.processPayload = processPayload;
|
|
19
30
|
async function getAllDataSegments(request, settings) {
|
|
@@ -41,7 +52,7 @@ async function getAllDataSegments(request, settings) {
|
|
|
41
52
|
}
|
|
42
53
|
return allDataSegments;
|
|
43
54
|
}
|
|
44
|
-
async function
|
|
55
|
+
async function getCRMInfo(request, settings, payload) {
|
|
45
56
|
let segmentId;
|
|
46
57
|
const segments = await getAllDataSegments(request, settings);
|
|
47
58
|
const segmentExists = segments.filter(function (segment) {
|
|
@@ -52,7 +63,7 @@ async function getCRMID(request, settings, payload) {
|
|
|
52
63
|
if (segmentExists.length > 1) {
|
|
53
64
|
throw new actions_core_1.IntegrationError('Multiple audiences found with the same name', 'INVALID_SETTINGS', 400);
|
|
54
65
|
}
|
|
55
|
-
if (segmentExists.length == 1) {
|
|
66
|
+
else if (segmentExists.length == 1) {
|
|
56
67
|
segmentId = segmentExists[0].CrmDataId;
|
|
57
68
|
}
|
|
58
69
|
else {
|
|
@@ -72,20 +83,6 @@ async function getCRMID(request, settings, payload) {
|
|
|
72
83
|
}
|
|
73
84
|
return segmentId;
|
|
74
85
|
}
|
|
75
|
-
async function getDropEndpoint(request, settings, payload, crmId) {
|
|
76
|
-
const response = await request(`${BASE_URL}/crmdata/segment/${settings.advertiser_id}/${crmId}`, {
|
|
77
|
-
method: 'POST',
|
|
78
|
-
headers: {
|
|
79
|
-
'Content-Type': 'application/json',
|
|
80
|
-
'TTD-Auth': settings.auth_token
|
|
81
|
-
},
|
|
82
|
-
json: {
|
|
83
|
-
PiiType: payload.pii_type,
|
|
84
|
-
MergeMode: 'Replace'
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
return response.data.Url;
|
|
88
|
-
}
|
|
89
86
|
function extractUsers(payloads) {
|
|
90
87
|
let users = '';
|
|
91
88
|
payloads.forEach((payload) => {
|
|
@@ -103,15 +100,6 @@ function extractUsers(payloads) {
|
|
|
103
100
|
});
|
|
104
101
|
return users;
|
|
105
102
|
}
|
|
106
|
-
async function sendCRMData(request, endpoint, users) {
|
|
107
|
-
return await request(endpoint, {
|
|
108
|
-
method: 'PUT',
|
|
109
|
-
headers: {
|
|
110
|
-
'Content-Type': 'text/plain'
|
|
111
|
-
},
|
|
112
|
-
body: users
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
103
|
function normalizeEmail(email) {
|
|
116
104
|
email = email.trim().toLowerCase();
|
|
117
105
|
if (email.endsWith('@gmail.com')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/functions.ts"],"names":[],"mappings":";;;AAAA,wDAAiH;AAGjH,mCAAmC;AAEnC,MAAM,WAAW,GAAG,IAAI,CAAA;AACxB,MAAM,QAAQ,GAAG,gCAAgC,WAAW,EAAE,CAAA;AA8BvD,KAAK,UAAU,cAAc,CAAC,OAAsB,EAAE,QAAkB,EAAE,QAAmB;IAClG,MAAM,oBAAoB,GAAG,IAAI,CAAA;IACjC,IAAI,QAAQ,CAAC,MAAM,GAAG,oBAAoB,EAAE;QAC1C,MAAM,IAAI,qCAAsB,CAC9B,+EAA+E,oBAAoB,YAAY,QAAQ,CAAC,MAAM,EAAE,CACjI,CAAA;KACF;IACD,MAAM,KAAK,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/the-trade-desk-crm/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const syncAudience_1 = __importDefault(require("./syncAudience"));
|
|
7
7
|
const destination = {
|
|
8
|
-
name: 'The Trade Desk
|
|
8
|
+
name: 'The Trade Desk CRM',
|
|
9
9
|
slug: 'actions-the-trade-desk-crm',
|
|
10
10
|
mode: 'cloud',
|
|
11
11
|
authentication: {
|
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.
|
|
4
|
+
"version": "3.193.1-joe-sayan-testing.9+2054b791",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/segmentio/action-destinations",
|
|
@@ -39,9 +39,11 @@
|
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@amplitude/ua-parser-js": "^0.7.25",
|
|
42
|
+
"@aws-sdk/client-s3": "^3.383.0",
|
|
43
|
+
"@aws-sdk/client-sqs": "^3.382.0",
|
|
42
44
|
"@segment/a1-notation": "^2.1.4",
|
|
43
|
-
"@segment/actions-core": "^3.77.
|
|
44
|
-
"@segment/actions-shared": "^1.59.
|
|
45
|
+
"@segment/actions-core": "^3.77.0",
|
|
46
|
+
"@segment/actions-shared": "^1.59.0",
|
|
45
47
|
"@types/node": "^18.11.15",
|
|
46
48
|
"ajv-formats": "^2.1.1",
|
|
47
49
|
"aws4": "^1.12.0",
|
|
@@ -77,5 +79,5 @@
|
|
|
77
79
|
"__tests__/__helpers__/"
|
|
78
80
|
]
|
|
79
81
|
},
|
|
80
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "2054b79189179d322c634a8158e052d10f02e4e7"
|
|
81
83
|
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export interface Payload {
|
|
2
|
-
s3_aws_access_key?: string;
|
|
3
|
-
s3_aws_secret_key?: string;
|
|
4
|
-
s3_aws_bucket_name?: string;
|
|
5
|
-
s3_aws_region?: string;
|
|
6
|
-
audience_key: string;
|
|
7
|
-
identifier_data?: {
|
|
8
|
-
[k: string]: unknown;
|
|
9
|
-
};
|
|
10
|
-
unhashed_identifier_data?: {
|
|
11
|
-
[k: string]: unknown;
|
|
12
|
-
};
|
|
13
|
-
delimiter: string;
|
|
14
|
-
filename: string;
|
|
15
|
-
enable_batching: boolean;
|
|
16
|
-
batch_size?: number;
|
|
17
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const actions_core_1 = require("@segment/actions-core");
|
|
4
|
-
const s3_1 = require("./s3");
|
|
5
|
-
const operations_1 = require("../operations");
|
|
6
|
-
const action = {
|
|
7
|
-
title: 'Audience Entered (S3)',
|
|
8
|
-
description: 'Uploads audience membership data to a file in S3 for LiveRamp ingestion.',
|
|
9
|
-
defaultSubscription: 'event = "Audience Entered"',
|
|
10
|
-
fields: {
|
|
11
|
-
s3_aws_access_key: {
|
|
12
|
-
label: 'AWS Access Key ID',
|
|
13
|
-
description: 'IAM user credentials with write permissions to the S3 bucket.',
|
|
14
|
-
type: 'string'
|
|
15
|
-
},
|
|
16
|
-
s3_aws_secret_key: {
|
|
17
|
-
label: 'AWS Secret Access Key',
|
|
18
|
-
description: 'IAM user credentials with write permissions to the S3 bucket.',
|
|
19
|
-
type: 'password'
|
|
20
|
-
},
|
|
21
|
-
s3_aws_bucket_name: {
|
|
22
|
-
label: 'AWS Bucket Name',
|
|
23
|
-
description: 'Name of the S3 bucket where the files will be uploaded to.',
|
|
24
|
-
type: 'string'
|
|
25
|
-
},
|
|
26
|
-
s3_aws_region: {
|
|
27
|
-
label: 'AWS Region',
|
|
28
|
-
description: 'Region where the S3 bucket is hosted.',
|
|
29
|
-
type: 'string'
|
|
30
|
-
},
|
|
31
|
-
audience_key: {
|
|
32
|
-
label: 'Audience Key',
|
|
33
|
-
description: 'Identifies the user within the entered audience.',
|
|
34
|
-
type: 'string',
|
|
35
|
-
required: true,
|
|
36
|
-
default: { '@path': '$.userId' }
|
|
37
|
-
},
|
|
38
|
-
identifier_data: {
|
|
39
|
-
label: 'Identifier Data',
|
|
40
|
-
description: `Additional data pertaining to the user to be written to the file.`,
|
|
41
|
-
type: 'object',
|
|
42
|
-
required: false,
|
|
43
|
-
defaultObjectUI: 'keyvalue:only'
|
|
44
|
-
},
|
|
45
|
-
unhashed_identifier_data: {
|
|
46
|
-
label: 'Hashable Identifier Data',
|
|
47
|
-
description: `Additional data pertaining to the user to be hashed before written to the file`,
|
|
48
|
-
type: 'object',
|
|
49
|
-
required: false,
|
|
50
|
-
defaultObjectUI: 'keyvalue:only'
|
|
51
|
-
},
|
|
52
|
-
delimiter: {
|
|
53
|
-
label: 'Delimeter',
|
|
54
|
-
description: `Character used to separate tokens in the resulting file.`,
|
|
55
|
-
type: 'string',
|
|
56
|
-
required: true,
|
|
57
|
-
default: ','
|
|
58
|
-
},
|
|
59
|
-
filename: {
|
|
60
|
-
label: 'Filename',
|
|
61
|
-
description: `Name of the CSV file to upload for LiveRamp ingestion.`,
|
|
62
|
-
type: 'string',
|
|
63
|
-
required: true,
|
|
64
|
-
default: { '@template': '{{properties.audience_key}}_PII_{{timestamp}}.csv' }
|
|
65
|
-
},
|
|
66
|
-
enable_batching: {
|
|
67
|
-
type: 'boolean',
|
|
68
|
-
label: 'Batch data',
|
|
69
|
-
description: 'Receive events in a batch payload. This is required for LiveRamp audiences ingestion.',
|
|
70
|
-
required: true,
|
|
71
|
-
default: true
|
|
72
|
-
},
|
|
73
|
-
batch_size: {
|
|
74
|
-
label: 'Batch Size',
|
|
75
|
-
description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
|
|
76
|
-
type: 'number',
|
|
77
|
-
required: false,
|
|
78
|
-
default: 170000
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
perform: async (request, { payload }) => {
|
|
82
|
-
return processData(request, [payload]);
|
|
83
|
-
},
|
|
84
|
-
performBatch: (request, { payload }) => {
|
|
85
|
-
return processData(request, payload);
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
async function processData(request, payloads) {
|
|
89
|
-
const LIVERAMP_MIN_RECORD_COUNT = 25;
|
|
90
|
-
if (payloads.length < LIVERAMP_MIN_RECORD_COUNT) {
|
|
91
|
-
throw new actions_core_1.PayloadValidationError(`received payload count below LiveRamp's ingestion limits. expected: >=${LIVERAMP_MIN_RECORD_COUNT} actual: ${payloads.length}`);
|
|
92
|
-
}
|
|
93
|
-
s3_1.validateS3(payloads[0]);
|
|
94
|
-
const { filename, fileContent } = operations_1.generateFile(payloads);
|
|
95
|
-
return s3_1.uploadS3(payloads[0], filename, fileContent, request);
|
|
96
|
-
}
|
|
97
|
-
exports.default = action;
|
|
98
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredS3/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { ModifiedResponse, RequestOptions } from '@segment/actions-core';
|
|
3
|
-
import { Payload } from './generated-types';
|
|
4
|
-
declare function validateS3(payload: Payload): void;
|
|
5
|
-
declare function uploadS3(payload: Payload, filename: string, fileContent: Buffer, request: <Data = unknown>(url: string, options?: RequestOptions) => Promise<ModifiedResponse<Data>>): Promise<ModifiedResponse<unknown>>;
|
|
6
|
-
export { validateS3, uploadS3 };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredS3/s3.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA0D;AAC1D,wDAAoG;AAGpG,SAAS,UAAU,CAAC,OAAgB;IAClC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAC9B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAC9B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QAC/B,MAAM,IAAI,yCAA0B,CAAC,yDAAyD,CAAC,CAAA;KAChG;IAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QAC1B,MAAM,IAAI,yCAA0B,CAAC,iDAAiD,CAAC,CAAA;KACxF;AACH,CAAC;AA6BQ,gCAAU;AA3BnB,KAAK,UAAU,QAAQ,CACrB,OAAgB,EAChB,QAAgB,EAChB,WAAmB,EACnB,OAAmG;IAEnG,MAAM,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,IAAI,GAAG,MAAM,YAAwB,CACzC,OAAO,CAAC,kBAA4B,EACpC,OAAO,CAAC,aAAuB,EAC/B,QAAQ,EACR,MAAM,EACN,WAAW,EACX,OAAO,CAAC,iBAA2B,EACnC,OAAO,CAAC,iBAA2B,CACpC,CAAA;IACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAC7D,MAAM,IAAI,yCAA0B,CAAC,yDAAyD,CAAC,CAAA;KAChG;IAED,OAAO,MAAM,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;QACxD,OAAO,EAAE,IAAI,CAAC,OAAiC;QAC/C,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAA;AACJ,CAAC;AAEoB,4BAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredSftp/generated-types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredSftp/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import Client from 'ssh2-sftp-client';
|
|
3
|
-
import { Payload } from './generated-types';
|
|
4
|
-
declare function validateSFTP(payload: Payload): void;
|
|
5
|
-
declare function uploadSFTP(sftp: Client, payload: Payload, filename: string, fileContent: Buffer): Promise<unknown>;
|
|
6
|
-
declare function testAuthenticationSFTP(sftp: Client, payload: Payload): Promise<unknown>;
|
|
7
|
-
export { validateSFTP, uploadSFTP, testAuthenticationSFTP, Client };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sftp.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredSftp/sftp.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAkE;AAClE,wEAAqC;AAiDsB,iBAjDpD,0BAAM,CAiDoD;AAhDjE,gDAAuB;AAGvB,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AACjD,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAE7B,SAAS,YAAY,CAAC,OAAgB;IACpC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QAC1B,MAAM,IAAI,yCAA0B,CAAC,+DAA+D,CAAC,CAAA;KACtG;IAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QAC1B,MAAM,IAAI,yCAA0B,CAAC,+DAA+D,CAAC,CAAA;KACtG;IAED,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;QAC7B,MAAM,IAAI,yCAA0B,CAAC,0DAA0D,CAAC,CAAA;KACjG;AACH,CAAC;AA8BQ,oCAAY;AA5BrB,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,OAAgB,EAAE,QAAgB,EAAE,WAAmB;IAC7F,OAAO,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC1C,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAA0B,EAAE,QAAQ,CAAC,CAAA;QAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC;AAuBsB,gCAAU;AArBjC,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,OAAgB,EAAE,MAA4C;IAChG,MAAM,IAAI,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,OAAO,CAAC,aAAa;QAC/B,QAAQ,EAAE,OAAO,CAAC,aAAa;KAChC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAA;IAChB,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,OAAgB;IAClE,OAAO,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACvE,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;QACpF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAEkC,wDAAsB"}
|
/package/dist/destinations/{liveramp-audiences/audienceEnteredS3 → example}/generated-types.js
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist/destinations/liveramp-audiences/{audienceEnteredS3 → audienceEntered}/index.d.ts
RENAMED
|
File without changes
|