@segment/action-destinations 3.209.0 → 3.210.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.
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const actions_core_1 = require("@segment/actions-core");
4
4
  const s3_1 = require("./s3");
5
5
  const operations_1 = require("../operations");
6
+ const awsClient_1 = require("../awsClient");
7
+ const properties_1 = require("../properties");
6
8
  const action = {
7
9
  title: 'Audience Entered (S3)',
8
10
  description: 'Uploads audience membership data to a file in S3 for LiveRamp ingestion.',
@@ -80,21 +82,46 @@ const action = {
80
82
  default: 170000
81
83
  }
82
84
  },
83
- perform: async (request, { payload }) => {
84
- return processData(request, [payload]);
85
+ perform: async (request, { payload, features, rawData }) => {
86
+ return processData({
87
+ request,
88
+ payloads: [payload],
89
+ features,
90
+ rawData: rawData ? [rawData] : []
91
+ });
85
92
  },
86
- performBatch: (request, { payload }) => {
87
- return processData(request, payload);
93
+ performBatch: (request, { payload, features, rawData }) => {
94
+ return processData({
95
+ request,
96
+ payloads: payload,
97
+ features,
98
+ rawData
99
+ });
88
100
  }
89
101
  };
90
- async function processData(request, payloads) {
91
- const LIVERAMP_MIN_RECORD_COUNT = 25;
92
- if (payloads.length < LIVERAMP_MIN_RECORD_COUNT) {
93
- throw new actions_core_1.PayloadValidationError(`received payload count below LiveRamp's ingestion limits. expected: >=${LIVERAMP_MIN_RECORD_COUNT} actual: ${payloads.length}`);
102
+ async function processData(input) {
103
+ if (input.payloads.length < properties_1.LIVERAMP_MIN_RECORD_COUNT) {
104
+ throw new actions_core_1.PayloadValidationError(`received payload count below LiveRamp's ingestion limits. expected: >=${properties_1.LIVERAMP_MIN_RECORD_COUNT} actual: ${input.payloads.length}`);
105
+ }
106
+ s3_1.validateS3(input.payloads[0]);
107
+ const { filename, fileContents } = operations_1.generateFile(input.payloads);
108
+ if (input.features && input.features[properties_1.LIVERAMP_LEGACY_FLOW_FLAG_NAME] === true) {
109
+ return s3_1.uploadS3(input.payloads[0], filename, fileContents, input.request);
110
+ }
111
+ else {
112
+ return awsClient_1.sendEventToAWS(input.request, {
113
+ audienceComputeId: input.rawData?.[0].context?.personas?.computation_id,
114
+ uploadType: 's3',
115
+ filename,
116
+ fileContents,
117
+ s3Info: {
118
+ s3BucketName: input.payloads[0].s3_aws_bucket_name,
119
+ s3Region: input.payloads[0].s3_aws_region,
120
+ s3AccessKeyId: input.payloads[0].s3_aws_access_key,
121
+ s3SecretAccessKey: input.payloads[0].s3_aws_secret_key
122
+ }
123
+ });
94
124
  }
95
- s3_1.validateS3(payloads[0]);
96
- const { filename, fileContent } = operations_1.generateFile(payloads);
97
- return s3_1.uploadS3(payloads[0], filename, fileContent, request);
98
125
  }
99
126
  exports.default = action;
100
127
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredS3/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredS3/index.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const actions_core_1 = require("@segment/actions-core");
4
4
  const sftp_1 = require("./sftp");
5
5
  const operations_1 = require("../operations");
6
+ const awsClient_1 = require("../awsClient");
7
+ const properties_1 = require("../properties");
6
8
  const action = {
7
9
  title: 'Audience Entered (SFTP)',
8
10
  description: 'Uploads audience membership data to a file through SFTP for LiveRamp ingestion.',
@@ -22,7 +24,7 @@ const action = {
22
24
  label: 'Folder Path',
23
25
  description: 'Path within the LiveRamp SFTP server to upload the files to. This path must exist and all subfolders must be pre-created.',
24
26
  type: 'string',
25
- default: '/uploads/audience_name/',
27
+ default: { '@template': '/uploads/{{properties.audience_key}}/' },
26
28
  format: 'uri-reference'
27
29
  },
28
30
  audience_key: {
@@ -77,22 +79,46 @@ const action = {
77
79
  default: 50000
78
80
  }
79
81
  },
80
- perform: async (_, { payload }) => {
81
- return processData([payload]);
82
+ perform: async (request, { payload, features, rawData }) => {
83
+ return processData({
84
+ request,
85
+ payloads: [payload],
86
+ features,
87
+ rawData: rawData ? [rawData] : []
88
+ });
82
89
  },
83
- performBatch: (_, { payload }) => {
84
- return processData(payload);
90
+ performBatch: (request, { payload, features, rawData }) => {
91
+ return processData({
92
+ request,
93
+ payloads: payload,
94
+ features,
95
+ rawData
96
+ });
85
97
  }
86
98
  };
87
- async function processData(payloads) {
88
- const LIVERAMP_MIN_RECORD_COUNT = 25;
89
- if (payloads.length < LIVERAMP_MIN_RECORD_COUNT) {
90
- throw new actions_core_1.PayloadValidationError(`received payload count below LiveRamp's ingestion limits. expected: >=${LIVERAMP_MIN_RECORD_COUNT} actual: ${payloads.length}`);
99
+ async function processData(input) {
100
+ if (input.payloads.length < properties_1.LIVERAMP_MIN_RECORD_COUNT) {
101
+ throw new actions_core_1.PayloadValidationError(`received payload count below LiveRamp's ingestion limits. expected: >=${properties_1.LIVERAMP_MIN_RECORD_COUNT} actual: ${input.payloads.length}`);
102
+ }
103
+ sftp_1.validateSFTP(input.payloads[0]);
104
+ const { filename, fileContents } = operations_1.generateFile(input.payloads);
105
+ if (input.features && input.features[properties_1.LIVERAMP_LEGACY_FLOW_FLAG_NAME] === true) {
106
+ const sftpClient = new sftp_1.Client();
107
+ return sftp_1.uploadSFTP(sftpClient, input.payloads[0], filename, fileContents);
108
+ }
109
+ else {
110
+ return awsClient_1.sendEventToAWS(input.request, {
111
+ audienceComputeId: input.rawData?.[0].context?.personas?.computation_id,
112
+ uploadType: 'sftp',
113
+ filename,
114
+ fileContents,
115
+ sftpInfo: {
116
+ sftpUsername: input.payloads[0].sftp_username,
117
+ sftpPassword: input.payloads[0].sftp_password,
118
+ sftpFolderPath: input.payloads[0].sftp_folder_path
119
+ }
120
+ });
91
121
  }
92
- sftp_1.validateSFTP(payloads[0]);
93
- const { filename, fileContent } = operations_1.generateFile(payloads);
94
- const sftpClient = new sftp_1.Client();
95
- return sftp_1.uploadSFTP(sftpClient, payloads[0], filename, fileContent);
96
122
  }
97
123
  exports.default = action;
98
124
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredSftp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredSftp/index.ts"],"names":[],"mappings":";;AAAA,wDAAgF;AAChF,iCAAuE;AACvE,8CAA4C;AAC5C,4CAA6C;AAC7C,8CAAyF;AAMzF,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,yBAAyB;IAChC,WAAW,EAAE,iFAAiF;IAC9F,mBAAmB,EAAE,4BAA4B;IACjD,MAAM,EAAE;QACN,aAAa,EAAE;YACb,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,qEAAqE;YAClF,IAAI,EAAE,QAAQ;SACf;QACD,aAAa,EAAE;YACb,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,qEAAqE;YAClF,IAAI,EAAE,UAAU;SACjB;QACD,gBAAgB,EAAE;YAChB,KAAK,EAAE,aAAa;YACpB,WAAW,EACT,2HAA2H;YAC7H,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE;YACjE,MAAM,EAAE,eAAe;SACxB;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,cAAc;YACrB,WAAW,EACT,2IAA2I;YAC7I,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;SACjC;QACD,eAAe,EAAE;YACf,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,mEAAmE;YAChF,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,eAAe;SACjC;QACD,wBAAwB,EAAE;YACxB,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,0KAA0K;YACvL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,eAAe;SACjC;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,0DAA0D;YACvE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,GAAG;SACb;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,EAAE,WAAW,EAAE,mDAAmD,EAAE;SAC9E;QACD,eAAe,EAAE;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,uFAAuF;YACpG,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI;SACd;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,qFAAqF;YAClG,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,KAAK;SACf;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAA+C,EAAE,EAAE;QACtG,OAAO,WAAW,CAAC;YACjB,OAAO;YACP,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,QAAQ;YACR,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;SAClC,CAAC,CAAA;IACJ,CAAC;IACD,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAmD,EAAE,EAAE;QACzG,OAAO,WAAW,CAAC;YACjB,OAAO;YACP,QAAQ,EAAE,OAAO;YACjB,QAAQ;YACR,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,KAAK,UAAU,WAAW,CAAC,KAAgC;IACzD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,sCAAyB,EAAE;QACrD,MAAM,IAAI,qCAAsB,CAC9B,yEAAyE,sCAAyB,YAAY,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CACtI,CAAA;KACF;IAED,mBAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAE/B,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,yBAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAE/D,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,2CAA8B,CAAC,KAAK,IAAI,EAAE;QAI7E,MAAM,UAAU,GAAG,IAAI,aAAU,EAAE,CAAA;QACnC,OAAO,iBAAU,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;KACzE;SAAM;QAIL,OAAO,0BAAc,CAAC,KAAK,CAAC,OAAO,EAAE;YACnC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc;YACvE,UAAU,EAAE,MAAM;YAClB,QAAQ;YACR,YAAY;YACZ,QAAQ,EAAE;gBACR,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa;gBAC7C,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa;gBAC7C,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB;aACnD;SACF,CAAC,CAAA;KACH;AACH,CAAC;AAED,kBAAe,MAAM,CAAA"}
@@ -8,8 +8,7 @@ const actions_core_1 = require("@segment/actions-core");
8
8
  const ssh2_sftp_client_1 = __importDefault(require("ssh2-sftp-client"));
9
9
  exports.Client = ssh2_sftp_client_1.default;
10
10
  const path_1 = __importDefault(require("path"));
11
- const LIVERAMP_SFTP_SERVER = 'files.liveramp.com';
12
- const LIVERAMP_SFTP_PORT = 22;
11
+ const properties_1 = require("../properties");
13
12
  function validateSFTP(payload) {
14
13
  if (!payload.sftp_username) {
15
14
  throw new actions_core_1.InvalidAuthenticationError('Selected SFTP upload mode, but missing credentials (Username)');
@@ -31,8 +30,8 @@ async function uploadSFTP(sftp, payload, filename, fileContent) {
31
30
  exports.uploadSFTP = uploadSFTP;
32
31
  async function doSFTP(sftp, payload, action) {
33
32
  await sftp.connect({
34
- host: LIVERAMP_SFTP_SERVER,
35
- port: LIVERAMP_SFTP_PORT,
33
+ host: properties_1.LIVERAMP_SFTP_SERVER,
34
+ port: properties_1.LIVERAMP_SFTP_PORT,
36
35
  username: payload.sftp_username,
37
36
  password: payload.sftp_password
38
37
  });
@@ -1 +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
+ {"version":3,"file":"sftp.js","sourceRoot":"","sources":["../../../../src/destinations/liveramp-audiences/audienceEnteredSftp/sftp.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAkE;AAClE,wEAAqC;AAgDsB,iBAhDpD,0BAAM,CAgDoD;AA/CjE,gDAAuB;AAGvB,8CAAwE;AAExE,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,iCAAoB;QAC1B,IAAI,EAAE,+BAAkB;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"}
@@ -0,0 +1,21 @@
1
+ /// <reference types="node" />
2
+ import { RequestClient } from '@segment/actions-core';
3
+ interface SendToAWSRequest {
4
+ audienceComputeId?: string;
5
+ uploadType: 's3' | 'sftp';
6
+ filename: string;
7
+ fileContents: Buffer;
8
+ sftpInfo?: {
9
+ sftpUsername?: string;
10
+ sftpPassword?: string;
11
+ sftpFolderPath?: string;
12
+ };
13
+ s3Info?: {
14
+ s3BucketName?: string;
15
+ s3Region?: string;
16
+ s3AccessKeyId?: string;
17
+ s3SecretAccessKey?: string;
18
+ };
19
+ }
20
+ export declare const sendEventToAWS: (request: RequestClient, input: SendToAWSRequest) => Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
21
+ export {};
@@ -0,0 +1,88 @@
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
+ exports.sendEventToAWS = void 0;
7
+ const uuid_1 = require("@lukeed/uuid");
8
+ const aws4_1 = __importDefault(require("aws4"));
9
+ const actions_core_1 = require("@segment/actions-core");
10
+ const sts_1 = require("../../lib/AWS/sts");
11
+ const properties_1 = require("./properties");
12
+ const NODE_ENV = process.env['NODE_ENV'] || `stage`;
13
+ const AWS_REGION = process.env['AWS_REGION'] || `us-west-2`;
14
+ const S3_BUCKET_NAME = `integrations-outbound-event-store-${NODE_ENV}-${AWS_REGION}`;
15
+ const sendEventToAWS = async (request, input) => {
16
+ const uuidValue = uuid_1.v4();
17
+ const userdataFilePath = `/${properties_1.ACTION_SLUG}/${input.audienceComputeId}/${uuidValue}.csv`;
18
+ const metadataFilePath = `/${properties_1.ACTION_SLUG}/${input.audienceComputeId}/meta.json`;
19
+ const metadata = {
20
+ audienceKey: input.audienceComputeId || '',
21
+ uploadType: input.uploadType,
22
+ filename: input.filename
23
+ };
24
+ if (input.uploadType === 'sftp') {
25
+ metadata.sftpInfo = {
26
+ sftpHost: properties_1.LIVERAMP_SFTP_SERVER,
27
+ sftpPort: properties_1.LIVERAMP_SFTP_PORT,
28
+ sftpUsername: input.sftpInfo?.sftpUsername || '',
29
+ sftpPassword: input.sftpInfo?.sftpPassword || '',
30
+ sftpFolderPath: input.sftpInfo?.sftpFolderPath || ''
31
+ };
32
+ }
33
+ else {
34
+ metadata.s3Info = {
35
+ s3BucketName: input.s3Info?.s3BucketName || '',
36
+ s3Region: input.s3Info?.s3Region || '',
37
+ s3AccessKeyId: input.s3Info?.s3AccessKeyId || '',
38
+ s3SecretAccessKey: input.s3Info?.s3SecretAccessKey || ''
39
+ };
40
+ }
41
+ const awsCredentials = await sts_1.getAWSCredentialsFromEKS(request);
42
+ await uploadToAWSS3({
43
+ request,
44
+ bucketName: S3_BUCKET_NAME,
45
+ region: AWS_REGION,
46
+ fileContentType: 'text/csv',
47
+ filePath: userdataFilePath,
48
+ fileContent: input.fileContents,
49
+ awsCredentials: awsCredentials
50
+ });
51
+ return uploadToAWSS3({
52
+ request,
53
+ bucketName: S3_BUCKET_NAME,
54
+ region: AWS_REGION,
55
+ fileContentType: 'application/json',
56
+ filePath: metadataFilePath,
57
+ fileContent: JSON.stringify(metadata),
58
+ awsCredentials: awsCredentials
59
+ });
60
+ };
61
+ exports.sendEventToAWS = sendEventToAWS;
62
+ async function uploadToAWSS3(input) {
63
+ const s3UploadRequest = aws4_1.default.sign({
64
+ host: `${input.bucketName}.s3.${input.region}.amazonaws.com`,
65
+ path: input.filePath,
66
+ body: input.fileContent,
67
+ method: 'PUT',
68
+ service: 's3',
69
+ region: input.region,
70
+ headers: {
71
+ 'Content-Type': input.fileContentType,
72
+ Accept: 'application/json'
73
+ }
74
+ }, {
75
+ accessKeyId: input.awsCredentials.accessKeyId,
76
+ secretAccessKey: input.awsCredentials.secretAccessKey,
77
+ sessionToken: input.awsCredentials.sessionToken
78
+ });
79
+ if (!s3UploadRequest.headers || !s3UploadRequest.method || !s3UploadRequest.host || !s3UploadRequest.path) {
80
+ throw new actions_core_1.InvalidAuthenticationError('Unable to generate signature header for AWS S3 request.');
81
+ }
82
+ return input.request(`https://${input.bucketName}.s3.${input.region}.amazonaws.com${input.filePath}`, {
83
+ method: 'PUT',
84
+ body: s3UploadRequest.body,
85
+ headers: s3UploadRequest.headers
86
+ });
87
+ }
88
+ //# sourceMappingURL=awsClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"awsClient.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/awsClient.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,28 @@
1
1
  /// <reference types="node" />
2
- import type { Payload } from './audienceEnteredS3/generated-types';
3
- declare function generateFile(payloads: Payload[]): {
2
+ import { RequestClient, ExecuteInput } from '@segment/actions-core';
3
+ import type { Payload as s3Payload } from './audienceEnteredS3/generated-types';
4
+ import type { Payload as sftpPayload } from './audienceEnteredSftp/generated-types';
5
+ export declare type RawData = {
6
+ context?: {
7
+ personas?: {
8
+ computation_key?: string;
9
+ computation_class?: string;
10
+ computation_id?: string;
11
+ };
12
+ };
13
+ };
14
+ export declare type ProcessDataInput<T extends s3Payload | sftpPayload> = {
15
+ request: RequestClient;
16
+ payloads: T[];
17
+ features?: Record<string, boolean>;
18
+ rawData?: RawData[];
19
+ };
20
+ export declare type ExecuteInputRaw<Settings, Payload, RawData, AudienceSettings = unknown> = ExecuteInput<Settings, Payload, AudienceSettings> & {
21
+ rawData?: RawData;
22
+ };
23
+ declare function generateFile(payloads: s3Payload[] | sftpPayload[]): {
4
24
  filename: string;
5
- fileContent: Buffer;
25
+ fileContents: Buffer;
6
26
  };
7
27
  declare function enquoteIdentifier(identifier: string): string;
8
28
  declare const normalize: (key: string, value: string) => string;
@@ -35,7 +35,7 @@ function generateFile(payloads) {
35
35
  rows = Buffer.concat([rows, Buffer.from(row.join(payload.delimiter) + (i + 1 === payloads.length ? '' : '\n'))]);
36
36
  }
37
37
  const filename = payloads[0].filename;
38
- return { filename, fileContent: rows };
38
+ return { filename, fileContents: rows };
39
39
  }
40
40
  exports.generateFile = generateFile;
41
41
  function enquoteIdentifier(identifier) {
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const ACTION_SLUG = "actions-liveramp-audiences";
2
+ export declare const LIVERAMP_LEGACY_FLOW_FLAG_NAME = "actions-liveramp-audiences-legacy-flow";
3
+ export declare const LIVERAMP_MIN_RECORD_COUNT = 25;
4
+ export declare const LIVERAMP_SFTP_SERVER = "files.liveramp.com";
5
+ export declare const LIVERAMP_SFTP_PORT = 22;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LIVERAMP_SFTP_PORT = exports.LIVERAMP_SFTP_SERVER = exports.LIVERAMP_MIN_RECORD_COUNT = exports.LIVERAMP_LEGACY_FLOW_FLAG_NAME = exports.ACTION_SLUG = void 0;
4
+ exports.ACTION_SLUG = 'actions-liveramp-audiences';
5
+ exports.LIVERAMP_LEGACY_FLOW_FLAG_NAME = 'actions-liveramp-audiences-legacy-flow';
6
+ exports.LIVERAMP_MIN_RECORD_COUNT = 25;
7
+ exports.LIVERAMP_SFTP_SERVER = 'files.liveramp.com';
8
+ exports.LIVERAMP_SFTP_PORT = 22;
9
+ //# sourceMappingURL=properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/destinations/liveramp-audiences/properties.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,4BAA4B,CAAA;AAE1C,QAAA,8BAA8B,GAAG,wCAAwC,CAAA;AACzE,QAAA,yBAAyB,GAAG,EAAE,CAAA;AAE9B,QAAA,oBAAoB,GAAG,oBAAoB,CAAA;AAC3C,QAAA,kBAAkB,GAAG,EAAE,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.209.0",
4
+ "version": "3.210.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": "f35e2681ff662565aa764158324553cbd610259d"
80
+ "gitHead": "cdd92d5c610524da0e23c2fd09d311c88e9a2e08"
81
81
  }