@segment/action-destinations 3.196.0 → 3.197.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.
Files changed (31) hide show
  1. package/dist/destinations/liveramp-audiences/audienceEnteredS3/generated-types.d.ts +17 -0
  2. package/dist/destinations/liveramp-audiences/{audienceEntered → audienceEnteredS3}/generated-types.js.map +1 -1
  3. package/dist/destinations/liveramp-audiences/audienceEnteredS3/index.js +98 -0
  4. package/dist/destinations/liveramp-audiences/audienceEnteredS3/index.js.map +1 -0
  5. package/dist/destinations/liveramp-audiences/audienceEnteredS3/s3.d.ts +6 -0
  6. package/dist/destinations/liveramp-audiences/{audienceEntered → audienceEnteredS3}/s3.js +7 -7
  7. package/dist/destinations/liveramp-audiences/audienceEnteredS3/s3.js.map +1 -0
  8. package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.d.ts +16 -0
  9. package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.js +3 -0
  10. package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.js.map +1 -0
  11. package/dist/destinations/liveramp-audiences/{audienceEntered → audienceEnteredSftp}/generated-types.d.ts +3 -0
  12. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/generated-types.js +3 -0
  13. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/generated-types.js.map +1 -0
  14. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.d.ts +5 -0
  15. package/dist/destinations/liveramp-audiences/{audienceEntered → audienceEnteredSftp}/index.js +28 -27
  16. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.js.map +1 -0
  17. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/sftp.d.ts +7 -0
  18. package/dist/destinations/liveramp-audiences/{audienceEntered → audienceEnteredSftp}/sftp.js +14 -14
  19. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/sftp.js.map +1 -0
  20. package/dist/destinations/liveramp-audiences/generated-types.d.ts +0 -8
  21. package/dist/destinations/liveramp-audiences/index.js +4 -56
  22. package/dist/destinations/liveramp-audiences/index.js.map +1 -1
  23. package/dist/destinations/liveramp-audiences/operations.d.ts +1 -1
  24. package/package.json +2 -2
  25. package/dist/destinations/liveramp-audiences/audienceEntered/index.js.map +0 -1
  26. package/dist/destinations/liveramp-audiences/audienceEntered/s3.d.ts +0 -6
  27. package/dist/destinations/liveramp-audiences/audienceEntered/s3.js.map +0 -1
  28. package/dist/destinations/liveramp-audiences/audienceEntered/sftp.d.ts +0 -7
  29. package/dist/destinations/liveramp-audiences/audienceEntered/sftp.js.map +0 -1
  30. /package/dist/destinations/liveramp-audiences/{audienceEntered → audienceEnteredS3}/generated-types.js +0 -0
  31. /package/dist/destinations/liveramp-audiences/{audienceEntered → audienceEnteredS3}/index.d.ts +0 -0
@@ -0,0 +1,17 @@
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 +1 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/generated-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredS3/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,98 @@
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 (S3 only)',
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredS3/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
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 };
@@ -6,24 +6,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.uploadS3 = exports.validateS3 = void 0;
7
7
  const s3_1 = __importDefault(require("../../../lib/AWS/s3"));
8
8
  const actions_core_1 = require("@segment/actions-core");
9
- function validateS3(settings) {
10
- if (!settings.s3_aws_access_key) {
9
+ function validateS3(payload) {
10
+ if (!payload.s3_aws_access_key) {
11
11
  throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Access Key');
12
12
  }
13
- if (!settings.s3_aws_secret_key) {
13
+ if (!payload.s3_aws_secret_key) {
14
14
  throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Secret Key');
15
15
  }
16
- if (!settings.s3_aws_bucket_name) {
16
+ if (!payload.s3_aws_bucket_name) {
17
17
  throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS S3 bucket name');
18
18
  }
19
- if (!settings.s3_aws_region) {
19
+ if (!payload.s3_aws_region) {
20
20
  throw new actions_core_1.InvalidAuthenticationError('Selected S3 upload mode, but missing AWS Region');
21
21
  }
22
22
  }
23
23
  exports.validateS3 = validateS3;
24
- async function uploadS3(settings, filename, fileContent, request) {
24
+ async function uploadS3(payload, filename, fileContent, request) {
25
25
  const method = 'PUT';
26
- const opts = await s3_1.default(settings.s3_aws_bucket_name, settings.s3_aws_region, filename, method, fileContent, settings.s3_aws_access_key, settings.s3_aws_secret_key);
26
+ const opts = await s3_1.default(payload.s3_aws_bucket_name, payload.s3_aws_region, filename, method, fileContent, payload.s3_aws_access_key, payload.s3_aws_secret_key);
27
27
  if (!opts.headers || !opts.method || !opts.host || !opts.path) {
28
28
  throw new actions_core_1.InvalidAuthenticationError('Unable to generate signature header for AWS S3 request.');
29
29
  }
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,16 @@
1
+ export interface Payload {
2
+ sftp_username?: string;
3
+ sftp_password?: string;
4
+ sftp_folder_path?: string;
5
+ audience_key: string;
6
+ identifier_data?: {
7
+ [k: string]: unknown;
8
+ };
9
+ unhashed_identifier_data?: {
10
+ [k: string]: unknown;
11
+ };
12
+ delimiter: string;
13
+ filename: string;
14
+ enable_batching: boolean;
15
+ batch_size?: number;
16
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=audienceEnteredSFTP.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audienceEnteredSFTP.types.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/audienceEnteredSFTP.types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,7 @@
1
1
  export interface Payload {
2
+ sftp_username?: string;
3
+ sftp_password?: string;
4
+ sftp_folder_path?: string;
2
5
  audience_key: string;
3
6
  identifier_data?: {
4
7
  [k: string]: unknown;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredSftp/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -1,14 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const actions_core_1 = require("@segment/actions-core");
4
- const s3_1 = require("./s3");
5
4
  const sftp_1 = require("./sftp");
6
5
  const operations_1 = require("../operations");
7
6
  const action = {
8
- title: 'Audience Entered',
9
- description: 'Uploads audience membership data to a file for LiveRamp ingestion.',
7
+ title: 'Audience Entered (SFTP)',
8
+ description: 'Uploads audience membership data to a file through SFTP for LiveRamp ingestion.',
10
9
  defaultSubscription: 'event = "Audience Entered"',
11
10
  fields: {
11
+ sftp_username: {
12
+ label: 'Username',
13
+ description: 'User credentials for establishing an SFTP connection with LiveRamp.',
14
+ type: 'string'
15
+ },
16
+ sftp_password: {
17
+ label: 'Password',
18
+ description: 'User credentials for establishing an SFTP connection with LiveRamp.',
19
+ type: 'password'
20
+ },
21
+ sftp_folder_path: {
22
+ label: 'Folder Path',
23
+ description: 'Path within the LiveRamp SFTP server to upload the files to. This path must exist and all subfolders must be pre-created.',
24
+ type: 'string',
25
+ default: '/uploads/audience_name/',
26
+ format: 'uri-reference'
27
+ },
12
28
  audience_key: {
13
29
  label: 'Audience Key',
14
30
  description: 'Identifies the user within the entered audience.',
@@ -56,40 +72,25 @@ const action = {
56
72
  description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
57
73
  type: 'number',
58
74
  required: false,
59
- default: 1000000
75
+ default: 50000
60
76
  }
61
77
  },
62
- perform: async (request, { settings, payload }) => {
63
- return processData(request, settings, [payload]);
78
+ perform: async (_, { payload }) => {
79
+ return processData([payload]);
64
80
  },
65
- performBatch: (request, { settings, payload }) => {
66
- return processData(request, settings, payload);
81
+ performBatch: (_, { payload }) => {
82
+ return processData(payload);
67
83
  }
68
84
  };
69
- async function processData(request, settings, payloads) {
85
+ async function processData(payloads) {
70
86
  const LIVERAMP_MIN_RECORD_COUNT = 25;
71
87
  if (payloads.length < LIVERAMP_MIN_RECORD_COUNT) {
72
88
  throw new actions_core_1.PayloadValidationError(`received payload count below LiveRamp's ingestion limits. expected: >=${LIVERAMP_MIN_RECORD_COUNT} actual: ${payloads.length}`);
73
89
  }
74
- switch (settings.upload_mode) {
75
- case 'S3':
76
- s3_1.validateS3(settings);
77
- break;
78
- case 'SFTP':
79
- sftp_1.validateSFTP(settings);
80
- break;
81
- default:
82
- throw new actions_core_1.InvalidAuthenticationError(`Unexpected upload mode: ${settings.upload_mode}`);
83
- }
90
+ sftp_1.validateSFTP(payloads[0]);
84
91
  const { filename, fileContent } = operations_1.generateFile(payloads);
85
- switch (settings.upload_mode) {
86
- case 'S3':
87
- return s3_1.uploadS3(settings, filename, fileContent, request);
88
- case 'SFTP': {
89
- const sftpClient = new sftp_1.Client();
90
- return sftp_1.uploadSFTP(sftpClient, settings, filename, fileContent);
91
- }
92
- }
92
+ const sftpClient = new sftp_1.Client();
93
+ return sftp_1.uploadSFTP(sftpClient, payloads[0], filename, fileContent);
93
94
  }
94
95
  exports.default = action;
95
96
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredSftp/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
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 };
@@ -10,41 +10,41 @@ exports.Client = ssh2_sftp_client_1.default;
10
10
  const path_1 = __importDefault(require("path"));
11
11
  const LIVERAMP_SFTP_SERVER = 'files.liveramp.com';
12
12
  const LIVERAMP_SFTP_PORT = 22;
13
- function validateSFTP(settings) {
14
- if (!settings.sftp_username) {
13
+ function validateSFTP(payload) {
14
+ if (!payload.sftp_username) {
15
15
  throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing credentials (Username)');
16
16
  }
17
- if (!settings.sftp_password) {
17
+ if (!payload.sftp_password) {
18
18
  throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing credentials (Password)');
19
19
  }
20
- if (!settings.sftp_folder_path) {
20
+ if (!payload.sftp_folder_path) {
21
21
  throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing SFTP folder path.');
22
22
  }
23
23
  }
24
24
  exports.validateSFTP = validateSFTP;
25
- async function uploadSFTP(sftp, settings, filename, fileContent) {
26
- return doSFTP(sftp, settings, async (sftp) => {
27
- const targetPath = path_1.default.join(settings.sftp_folder_path, filename);
25
+ async function uploadSFTP(sftp, payload, filename, fileContent) {
26
+ return doSFTP(sftp, payload, async (sftp) => {
27
+ const targetPath = path_1.default.join(payload.sftp_folder_path, filename);
28
28
  return sftp.put(fileContent, targetPath);
29
29
  });
30
30
  }
31
31
  exports.uploadSFTP = uploadSFTP;
32
- async function doSFTP(sftp, settings, action) {
32
+ async function doSFTP(sftp, payload, action) {
33
33
  await sftp.connect({
34
34
  host: LIVERAMP_SFTP_SERVER,
35
35
  port: LIVERAMP_SFTP_PORT,
36
- username: settings.sftp_username,
37
- password: settings.sftp_password
36
+ username: payload.sftp_username,
37
+ password: payload.sftp_password
38
38
  });
39
39
  const retVal = await action(sftp);
40
40
  await sftp.end();
41
41
  return retVal;
42
42
  }
43
- async function testAuthenticationSFTP(sftp, settings) {
44
- return doSFTP(sftp, settings, async (sftp) => {
45
- return sftp.exists(settings.sftp_folder_path).then((fileType) => {
43
+ async function testAuthenticationSFTP(sftp, payload) {
44
+ return doSFTP(sftp, payload, async (sftp) => {
45
+ return sftp.exists(payload.sftp_folder_path).then((fileType) => {
46
46
  if (!fileType)
47
- throw new Error(`Could not find path: ${settings.sftp_folder_path}`);
47
+ throw new Error(`Could not find path: ${payload.sftp_folder_path}`);
48
48
  });
49
49
  });
50
50
  }
@@ -0,0 +1 @@
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"}
@@ -1,12 +1,4 @@
1
1
  export interface Settings {
2
- upload_mode: string;
3
- s3_aws_access_key?: string;
4
- s3_aws_secret_key?: string;
5
- s3_aws_bucket_name?: string;
6
- s3_aws_region?: string;
7
- sftp_username?: string;
8
- sftp_password?: string;
9
- sftp_folder_path?: string;
10
2
  __segment_internal_engage_force_full_sync: boolean;
11
3
  __segment_internal_engage_batch_sync: boolean;
12
4
  }
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const audienceEntered_1 = __importDefault(require("./audienceEntered"));
7
- const sftp_1 = require("./audienceEntered/sftp");
6
+ const audienceEnteredS3_1 = __importDefault(require("./audienceEnteredS3"));
7
+ const audienceEnteredSftp_1 = __importDefault(require("./audienceEnteredSftp"));
8
8
  const destination = {
9
9
  name: 'Liveramp Audiences',
10
10
  slug: 'actions-liveramp-audiences',
@@ -12,53 +12,6 @@ const destination = {
12
12
  authentication: {
13
13
  scheme: 'custom',
14
14
  fields: {
15
- upload_mode: {
16
- label: 'Upload Mode',
17
- description: 'Choose delivery route for the files',
18
- type: 'string',
19
- required: true,
20
- default: 'S3',
21
- choices: [
22
- { value: 'S3', label: 'S3' },
23
- { value: 'SFTP', label: 'SFTP' }
24
- ]
25
- },
26
- s3_aws_access_key: {
27
- label: 'AWS Access Key ID (S3 only)',
28
- description: 'IAM user credentials with write permissions to the S3 bucket.',
29
- type: 'string'
30
- },
31
- s3_aws_secret_key: {
32
- label: 'AWS Secret Access Key (S3 only)',
33
- description: 'IAM user credentials with write permissions to the S3 bucket.',
34
- type: 'password'
35
- },
36
- s3_aws_bucket_name: {
37
- label: 'AWS Bucket Name (S3 only)',
38
- description: 'Name of the S3 bucket where the files will be uploaded to.',
39
- type: 'string'
40
- },
41
- s3_aws_region: {
42
- label: 'AWS Region (S3 only)',
43
- description: 'Region where the S3 bucket is hosted.',
44
- type: 'string'
45
- },
46
- sftp_username: {
47
- label: 'Username (SFTP only)',
48
- description: 'User credentials for establishing an SFTP connection with LiveRamp.',
49
- type: 'string'
50
- },
51
- sftp_password: {
52
- label: 'Password (SFTP only)',
53
- description: 'User credentials for establishing an SFTP connection with LiveRamp.',
54
- type: 'password'
55
- },
56
- sftp_folder_path: {
57
- label: 'Folder Path (SFTP only)',
58
- description: 'Path within the LiveRamp SFTP server to upload the files to. This path must exist and all subfolders must be pre-created.',
59
- type: 'string',
60
- format: 'uri-reference'
61
- },
62
15
  __segment_internal_engage_force_full_sync: {
63
16
  label: 'Force Full Sync',
64
17
  description: '',
@@ -73,16 +26,11 @@ const destination = {
73
26
  required: true,
74
27
  default: true
75
28
  }
76
- },
77
- testAuthentication: async (_, { settings }) => {
78
- if (settings.upload_mode == 'SFTP') {
79
- const sftpClient = new sftp_1.Client();
80
- return await sftp_1.testAuthenticationSFTP(sftpClient, settings);
81
- }
82
29
  }
83
30
  },
84
31
  actions: {
85
- audienceEntered: audienceEntered_1.default
32
+ audienceEnteredS3: audienceEnteredS3_1.default,
33
+ audienceEnteredSFTP: audienceEnteredSftp_1.default
86
34
  }
87
35
  };
88
36
  exports.default = destination;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/index.ts"],"names":[],"mappings":";;;;;AAGA,wEAA+C;AAC/C,iDAAqF;AAErF,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,WAAW,EAAE;gBACX,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,qCAAqC;gBAClD,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC5B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;iBACjC;aACF;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,6BAA6B;gBACpC,WAAW,EAAE,+DAA+D;gBAC5E,IAAI,EAAE,QAAQ;aACf;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,iCAAiC;gBACxC,WAAW,EAAE,+DAA+D;gBAC5E,IAAI,EAAE,UAAU;aACjB;YACD,kBAAkB,EAAE;gBAClB,KAAK,EAAE,2BAA2B;gBAClC,WAAW,EAAE,4DAA4D;gBACzE,IAAI,EAAE,QAAQ;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,uCAAuC;gBACpD,IAAI,EAAE,QAAQ;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,qEAAqE;gBAClF,IAAI,EAAE,QAAQ;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,qEAAqE;gBAClF,IAAI,EAAE,UAAU;aACjB;YACD,gBAAgB,EAAE;gBAChB,KAAK,EAAE,yBAAyB;gBAChC,WAAW,EACT,2HAA2H;gBAC7H,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,eAAe;aACxB;YACD,yCAAyC,EAAE;gBACzC,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI;aACd;YACD,oCAAoC,EAAE;gBACpC,KAAK,EAAE,6BAA6B;gBACpC,WAAW,EAAE,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI;aACd;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAE5C,IAAI,QAAQ,CAAC,WAAW,IAAI,MAAM,EAAE;gBAClC,MAAM,UAAU,GAAG,IAAI,aAAU,EAAE,CAAA;gBACnC,OAAO,MAAM,6BAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;aAC1D;QACH,CAAC;KACF;IACD,OAAO,EAAE;QACP,eAAe,EAAf,yBAAe;KAChB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/index.ts"],"names":[],"mappings":";;;;;AAGA,4EAAmD;AACnD,gFAAuD;AAEvD,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,yCAAyC,EAAE;gBACzC,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI;aACd;YACD,oCAAoC,EAAE;gBACpC,KAAK,EAAE,6BAA6B;gBACpC,WAAW,EAAE,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,IAAI;aACd;SACF;KACF;IACD,OAAO,EAAE;QACP,iBAAiB,EAAjB,2BAAiB;QACjB,mBAAmB,EAAnB,6BAAmB;KACpB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import type { Payload } from './audienceEntered/generated-types';
2
+ import type { Payload } from './audienceEnteredS3/generated-types';
3
3
  declare function generateFile(payloads: Payload[]): {
4
4
  filename: string;
5
5
  fileContent: Buffer;
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.196.0",
4
+ "version": "3.197.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -77,5 +77,5 @@
77
77
  "__tests__/__helpers__/"
78
78
  ]
79
79
  },
80
- "gitHead": "16e5016fefd358c37f159bc9513422473dc7355c"
80
+ "gitHead": "5403565fe51b348537755dac1ce40e1d829493d9"
81
81
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/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 { Settings } from '../generated-types';
4
- declare function validateS3(settings: Settings): void;
5
- declare function uploadS3(settings: Settings, 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/audienceEntered/s3.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA0D;AAC1D,wDAAoG;AAGpG,SAAS,UAAU,CAAC,QAAkB;IACpC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;QAC/B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE;QAC/B,MAAM,IAAI,yCAA0B,CAAC,qDAAqD,CAAC,CAAA;KAC5F;IAED,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;QAChC,MAAM,IAAI,yCAA0B,CAAC,yDAAyD,CAAC,CAAA;KAChG;IAED,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,yCAA0B,CAAC,iDAAiD,CAAC,CAAA;KACxF;AACH,CAAC;AA6BQ,gCAAU;AA3BnB,KAAK,UAAU,QAAQ,CACrB,QAAkB,EAClB,QAAgB,EAChB,WAAmB,EACnB,OAAmG;IAEnG,MAAM,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,IAAI,GAAG,MAAM,YAAwB,CACzC,QAAQ,CAAC,kBAA4B,EACrC,QAAQ,CAAC,aAAuB,EAChC,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,CAAC,iBAA2B,EACpC,QAAQ,CAAC,iBAA2B,CACrC,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,7 +0,0 @@
1
- /// <reference types="node" />
2
- import Client from 'ssh2-sftp-client';
3
- import { Settings } from '../generated-types';
4
- declare function validateSFTP(settings: Settings): void;
5
- declare function uploadSFTP(sftp: Client, settings: Settings, filename: string, fileContent: Buffer): Promise<unknown>;
6
- declare function testAuthenticationSFTP(sftp: Client, settings: Settings): Promise<unknown>;
7
- export { validateSFTP, uploadSFTP, testAuthenticationSFTP, Client };
@@ -1 +0,0 @@
1
- {"version":3,"file":"sftp.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEntered/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,QAAkB;IACtC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,yCAA0B,CAAC,+DAA+D,CAAC,CAAA;KACtG;IAED,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,yCAA0B,CAAC,+DAA+D,CAAC,CAAA;KACtG;IAED,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;QAC9B,MAAM,IAAI,yCAA0B,CAAC,0DAA0D,CAAC,CAAA;KACjG;AACH,CAAC;AA8BQ,oCAAY;AA5BrB,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,QAAkB,EAAE,QAAgB,EAAE,WAAmB;IAC/F,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3C,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAA0B,EAAE,QAAQ,CAAC,CAAA;QAC3E,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,QAAkB,EAAE,MAA4C;IAClG,MAAM,IAAI,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,QAAQ,CAAC,aAAa;QAChC,QAAQ,EAAE,QAAQ,CAAC,aAAa;KACjC,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,QAAkB;IACpE,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACxE,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAA;QACrF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAEkC,wDAAsB"}