@segment/action-destinations 3.370.1-staging-96fd6ca98.0 → 3.371.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 (80) hide show
  1. package/README.md +1 -2
  2. package/dist/destinations/amazon-eventbridge/functions.d.ts +3 -0
  3. package/dist/destinations/amazon-eventbridge/functions.js +49 -0
  4. package/dist/destinations/amazon-eventbridge/functions.js.map +1 -0
  5. package/dist/destinations/amazon-eventbridge/generated-types.d.ts +6 -0
  6. package/dist/destinations/amazon-eventbridge/generated-types.js.map +1 -0
  7. package/dist/destinations/{warehouse-test → amazon-eventbridge}/index.d.ts +1 -1
  8. package/dist/destinations/amazon-eventbridge/index.js +85 -0
  9. package/dist/destinations/amazon-eventbridge/index.js.map +1 -0
  10. package/dist/destinations/amazon-eventbridge/send/generated-types.d.ts +11 -0
  11. package/dist/destinations/amazon-eventbridge/send/generated-types.js.map +1 -0
  12. package/dist/destinations/amazon-eventbridge/send/index.js +88 -0
  13. package/dist/destinations/amazon-eventbridge/send/index.js.map +1 -0
  14. package/dist/destinations/facebook-custom-audiences/constants.d.ts +4 -0
  15. package/dist/destinations/facebook-custom-audiences/constants.js +5 -1
  16. package/dist/destinations/facebook-custom-audiences/constants.js.map +1 -1
  17. package/dist/destinations/facebook-custom-audiences/fbca-operations.d.ts +5 -2
  18. package/dist/destinations/facebook-custom-audiences/fbca-operations.js +17 -8
  19. package/dist/destinations/facebook-custom-audiences/fbca-operations.js.map +1 -1
  20. package/dist/destinations/facebook-custom-audiences/index.d.ts +0 -1
  21. package/dist/destinations/facebook-custom-audiences/index.js +5 -4
  22. package/dist/destinations/facebook-custom-audiences/index.js.map +1 -1
  23. package/dist/destinations/facebook-custom-audiences/sync/generated-types.d.ts +8 -12
  24. package/dist/destinations/facebook-custom-audiences/sync/index.js +6 -6
  25. package/dist/destinations/facebook-custom-audiences/sync/index.js.map +1 -1
  26. package/dist/destinations/google-enhanced-conversions/userList/generated-types.d.ts +10 -14
  27. package/dist/destinations/index.js +1 -1
  28. package/dist/destinations/index.js.map +1 -1
  29. package/dist/destinations/klaviyo/upsertProfile/generated-types.d.ts +7 -11
  30. package/dist/destinations/linkedin-audiences/updateAudience/index.js +10 -11
  31. package/dist/destinations/linkedin-audiences/updateAudience/index.js.map +1 -1
  32. package/dist/destinations/linkedin-conversions/api/api.test.js.map +1 -1
  33. package/dist/destinations/linkedin-conversions/api/index.d.ts +4 -4
  34. package/dist/destinations/linkedin-conversions/api/index.js +1 -1
  35. package/dist/destinations/linkedin-conversions/api/index.js.map +1 -1
  36. package/dist/destinations/linkedin-conversions/streamConversion/generated-types.d.ts +17 -21
  37. package/dist/destinations/linkedin-conversions/streamConversion/index.d.ts +2 -2
  38. package/dist/destinations/linkedin-conversions/streamConversion/index.js.map +1 -1
  39. package/dist/destinations/marketo-static-lists/addToList/generated-types.d.ts +7 -11
  40. package/dist/destinations/salesforce-marketing-cloud/_tests_/dataExtension.test.js +0 -50
  41. package/dist/destinations/salesforce-marketing-cloud/_tests_/dataExtension.test.js.map +1 -1
  42. package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/generated-types.d.ts +0 -21
  43. package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js +4 -64
  44. package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js.map +1 -1
  45. package/dist/destinations/salesforce-marketing-cloud/dataExtension/generated-types.d.ts +0 -21
  46. package/dist/destinations/salesforce-marketing-cloud/dataExtension/index.js +4 -64
  47. package/dist/destinations/salesforce-marketing-cloud/dataExtension/index.js.map +1 -1
  48. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.d.ts +3 -12
  49. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js +9 -310
  50. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js.map +1 -1
  51. package/dist/destinations/salesforce-marketing-cloud/sfmc-properties.d.ts +1 -40
  52. package/dist/destinations/salesforce-marketing-cloud/sfmc-properties.js +10 -107
  53. package/dist/destinations/salesforce-marketing-cloud/sfmc-properties.js.map +1 -1
  54. package/dist/destinations/webhook-extensible/__test__/webhook.test.js +0 -246
  55. package/dist/destinations/webhook-extensible/__test__/webhook.test.js.map +1 -1
  56. package/dist/destinations/webhook-extensible/index.js +37 -3
  57. package/dist/destinations/webhook-extensible/index.js.map +1 -1
  58. package/dist/lib/hashing-utils.js +1 -1
  59. package/dist/lib/hashing-utils.js.map +1 -1
  60. package/package.json +5 -4
  61. package/dist/destinations/warehouse-test/client.d.ts +0 -27
  62. package/dist/destinations/warehouse-test/client.js +0 -121
  63. package/dist/destinations/warehouse-test/client.js.map +0 -1
  64. package/dist/destinations/warehouse-test/fields.d.ts +0 -3
  65. package/dist/destinations/warehouse-test/fields.js +0 -74
  66. package/dist/destinations/warehouse-test/fields.js.map +0 -1
  67. package/dist/destinations/warehouse-test/generated-types.d.ts +0 -6
  68. package/dist/destinations/warehouse-test/generated-types.js.map +0 -1
  69. package/dist/destinations/warehouse-test/index.js +0 -52
  70. package/dist/destinations/warehouse-test/index.js.map +0 -1
  71. package/dist/destinations/warehouse-test/syncToWarehouse/generated-types.d.ts +0 -5
  72. package/dist/destinations/warehouse-test/syncToWarehouse/generated-types.js.map +0 -1
  73. package/dist/destinations/warehouse-test/syncToWarehouse/index.js +0 -37
  74. package/dist/destinations/warehouse-test/syncToWarehouse/index.js.map +0 -1
  75. package/dist/destinations/webhook-extensible/auth-utils.d.ts +0 -3
  76. package/dist/destinations/webhook-extensible/auth-utils.js +0 -78
  77. package/dist/destinations/webhook-extensible/auth-utils.js.map +0 -1
  78. /package/dist/destinations/{warehouse-test → amazon-eventbridge}/generated-types.js +0 -0
  79. /package/dist/destinations/{warehouse-test/syncToWarehouse → amazon-eventbridge/send}/generated-types.js +0 -0
  80. /package/dist/destinations/{warehouse-test/syncToWarehouse → amazon-eventbridge/send}/index.d.ts +0 -0
@@ -1,121 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.isAWSError = exports.Client = void 0;
27
- const client_sts_1 = require("@aws-sdk/client-sts");
28
- const client_s3_1 = require("@aws-sdk/client-s3");
29
- const uuid_1 = require("@lukeed/uuid");
30
- const process = __importStar(require("process"));
31
- const actions_core_1 = require("@segment/actions-core");
32
- class Client {
33
- constructor(region, roleArn, externalId) {
34
- this.region = region;
35
- this.roleSessionName = (0, uuid_1.v4)();
36
- this.roleArn = roleArn;
37
- this.externalId = externalId;
38
- }
39
- async assumeRole() {
40
- const intermediaryARN = process.env.AMAZON_S3_ACTIONS_ROLE_ADDRESS;
41
- const intermediaryExternalId = process.env.AMAZON_S3_ACTIONS_EXTERNAL_ID;
42
- const intermediaryCreds = await this.getSTSCredentials(intermediaryARN, intermediaryExternalId);
43
- return this.getSTSCredentials(this.roleArn, this.externalId, intermediaryCreds);
44
- }
45
- async getSTSCredentials(roleId, externalId, credentials) {
46
- const options = { region: this.region, credentials };
47
- const stsClient = new client_sts_1.STSClient(options);
48
- const command = new client_sts_1.AssumeRoleCommand({
49
- RoleArn: roleId,
50
- RoleSessionName: this.roleSessionName,
51
- ExternalId: externalId
52
- });
53
- const result = await stsClient.send(command);
54
- if (!result.Credentials ||
55
- !result.Credentials.AccessKeyId ||
56
- !result.Credentials.SecretAccessKey ||
57
- !result.Credentials.SessionToken) {
58
- throw new actions_core_1.IntegrationError('Failed to assume role', actions_core_1.ErrorCodes.INVALID_AUTHENTICATION, 403);
59
- }
60
- return {
61
- accessKeyId: result.Credentials.AccessKeyId,
62
- secretAccessKey: result.Credentials.SecretAccessKey,
63
- sessionToken: result.Credentials.SessionToken
64
- };
65
- }
66
- async uploadS3(settings, fileContent) {
67
- const credentials = await this.assumeRole();
68
- const s3Client = new client_s3_1.S3Client({
69
- region: this.region,
70
- credentials
71
- });
72
- const dateSuffix = new Date().toISOString().replace(/[:.]/g, '-');
73
- const fileName = `${dateSuffix}.gz`;
74
- const uploadParams = {
75
- Bucket: settings.s3_aws_bucket_name,
76
- Key: fileName,
77
- Body: fileContent,
78
- ContentType: 'gzip'
79
- };
80
- try {
81
- await s3Client.send(new client_s3_1.PutObjectCommand(uploadParams));
82
- return { statusCode: 200, message: 'Upload successful' };
83
- }
84
- catch (err) {
85
- if (isAWSError(err)) {
86
- if (err.Code && accessDeniedCodes.has(err.Code)) {
87
- throw new actions_core_1.APIError(err.Message || err.Code, 403);
88
- }
89
- else if (err.Code === 'NoSuchBucket') {
90
- throw new actions_core_1.APIError(err.Message || err.Code, 404);
91
- }
92
- else if (err.Code === 'SlowDown') {
93
- throw new actions_core_1.APIError(err.Message || err.Code, 429);
94
- }
95
- else {
96
- throw new actions_core_1.RetryableError(err.Message || err.Code || 'Unknown AWS Put error: ' + err);
97
- }
98
- }
99
- else {
100
- throw new actions_core_1.APIError('Unknown error during AWS PUT: ' + err, 500);
101
- }
102
- }
103
- }
104
- }
105
- exports.Client = Client;
106
- const accessDeniedCodes = new Set([
107
- 'AccessDenied',
108
- 'AccountProblem',
109
- 'AllAccessDisabled',
110
- 'InvalidAccessKeyId',
111
- 'InvalidSecurity',
112
- 'NotSignedUp',
113
- 'AmbiguousGrantByEmailAddress',
114
- 'AuthorizationHeaderMalformed',
115
- 'RequestExpired'
116
- ]);
117
- function isAWSError(err) {
118
- return typeof err === 'object' && err !== null && 'Code' in err && 'Message' in err;
119
- }
120
- exports.isAWSError = isAWSError;
121
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/destinations/warehouse-test/client.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { ActionDefinition } from '@segment/actions-core';
2
- import { Settings } from './generated-types';
3
- export declare const commonFields: ActionDefinition<Settings>['fields'];
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.commonFields = void 0;
4
- exports.commonFields = {
5
- columns: {
6
- label: 'Columns',
7
- description: `Column write to the DWH.`,
8
- type: 'object',
9
- defaultObjectUI: 'keyvalue',
10
- required: true,
11
- additionalProperties: true,
12
- default: {
13
- event: {
14
- '@path': '$.event'
15
- },
16
- type: {
17
- '@path': '$.type'
18
- },
19
- userId: {
20
- '@path': '$.userId'
21
- },
22
- anonymousId: {
23
- '@path': '$.anonymousId'
24
- },
25
- email: {
26
- '@if': {
27
- exists: { '@path': '$.traits.email' },
28
- then: { '@path': '$.traits.email' },
29
- else: { '@path': '$.context.traits.email' }
30
- }
31
- },
32
- properties: {
33
- '@path': '$.properties'
34
- },
35
- traits: {
36
- '@if': {
37
- exists: { '@path': '$.traits' },
38
- then: { '@path': '$.traits' },
39
- else: { '@path': '$.context.traits' }
40
- }
41
- },
42
- context: {
43
- '@path': '$.context'
44
- },
45
- timestamp: {
46
- '@path': '$.timestamp'
47
- },
48
- messageId: {
49
- '@path': '$.messageId'
50
- },
51
- integrations: {
52
- '@path': '$.integrations'
53
- },
54
- audienceName: {
55
- '@path': '$.context.personas.computation_key'
56
- },
57
- audienceId: {
58
- '@path': '$.context.personas.computation_id'
59
- },
60
- spaceId: {
61
- '@path': '$.context.personas.space_id'
62
- },
63
- entityContext: {
64
- '@json': {
65
- mode: 'encode',
66
- value: {
67
- '@path': '$.properties.data_graph_entity_context'
68
- }
69
- }
70
- }
71
- }
72
- }
73
- };
74
- //# sourceMappingURL=fields.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../src/destinations/warehouse-test/fields.ts"],"names":[],"mappings":";;;AAGa,QAAA,YAAY,GAAyC;IAChE,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,QAAQ;QACd,eAAe,EAAE,UAAU;QAC3B,QAAQ,EAAE,IAAI;QACd,oBAAoB,EAAE,IAAI;QAC1B,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,OAAO,EAAE,SAAS;aACnB;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,QAAQ;aAClB;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,UAAU;aACpB;YACD,WAAW,EAAE;gBACX,OAAO,EAAE,eAAe;aACzB;YACD,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACrC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;iBAC5C;aACF;YACD,UAAU,EAAE;gBACV,OAAO,EAAE,cAAc;aACxB;YACD,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE;iBACtC;aACF;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,WAAW;aACrB;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,aAAa;aACvB;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,aAAa;aACvB;YACD,YAAY,EAAE;gBACZ,OAAO,EAAE,gBAAgB;aAC1B;YACD,YAAY,EAAE;gBACZ,OAAO,EAAE,oCAAoC;aAC9C;YACD,UAAU,EAAE;gBACV,OAAO,EAAE,mCAAmC;aAC7C;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,6BAA6B;aACvC;YACD,aAAa,EAAE;gBACb,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE;wBACL,OAAO,EAAE,wCAAwC;qBAClD;iBACF;aACF;SACF;KACF;CACF,CAAA"}
@@ -1,6 +0,0 @@
1
- export interface Settings {
2
- iam_role_arn: string;
3
- s3_aws_bucket_name: string;
4
- s3_aws_region: string;
5
- iam_external_id: string;
6
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../src/destinations/warehouse-test/generated-types.ts"],"names":[],"mappings":""}
@@ -1,52 +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 actions_core_1 = require("@segment/actions-core");
7
- const syncToWarehouse_1 = __importDefault(require("./syncToWarehouse"));
8
- const destination = {
9
- name: 'AWS S3 Warehouse Test',
10
- slug: 'actions-warehouse-test',
11
- mode: 'cloud',
12
- description: 'Sync Segment event data to you DWH via S#.',
13
- authentication: {
14
- scheme: 'custom',
15
- fields: {
16
- iam_role_arn: {
17
- label: 'IAM Role ARN',
18
- description: 'IAM role ARN with write permissions to the S3 bucket. Format: arn:aws:iam::account-id:role/role-name',
19
- type: 'string',
20
- required: true
21
- },
22
- s3_aws_bucket_name: {
23
- label: 'AWS Bucket Name',
24
- description: 'Name of the S3 bucket where the files will be uploaded to.',
25
- type: 'string',
26
- required: true
27
- },
28
- s3_aws_region: {
29
- label: 'AWS Region Code',
30
- description: 'Region Code where the S3 bucket is hosted. See [AWS S3 Documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-regions)',
31
- type: 'string',
32
- required: true
33
- },
34
- iam_external_id: {
35
- label: 'IAM External ID',
36
- description: 'The External ID to your IAM role. Generate a secure string and treat it like a password.',
37
- type: 'password',
38
- required: true
39
- }
40
- }
41
- },
42
- extendRequest() {
43
- return {
44
- timeout: Math.max(30000, actions_core_1.DEFAULT_REQUEST_TIMEOUT)
45
- };
46
- },
47
- actions: {
48
- syncToWarehouse: syncToWarehouse_1.default
49
- }
50
- };
51
- exports.default = destination;
52
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/warehouse-test/index.ts"],"names":[],"mappings":";;;;;AAEA,wDAA+D;AAE/D,wEAA+C;AAE/C,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,4CAA4C;IAEzD,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,YAAY,EAAE;gBACZ,KAAK,EAAE,cAAc;gBACrB,WAAW,EACT,sGAAsG;gBACxG,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,kBAAkB,EAAE;gBAClB,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,4DAA4D;gBACzE,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EACT,mLAAmL;gBACrL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,eAAe,EAAE;gBACf,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,0FAA0F;gBACvG,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD,aAAa;QACX,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,KAAM,EAAE,sCAAuB,CAAC;SACnD,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,eAAe,EAAf,yBAAe;KAChB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -1,5 +0,0 @@
1
- export interface Payload {
2
- columns: {
3
- [k: string]: unknown;
4
- };
5
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/warehouse-test/syncToWarehouse/generated-types.ts"],"names":[],"mappings":""}
@@ -1,37 +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 fields_1 = require("../fields");
7
- const client_1 = require("../client");
8
- const zlib_1 = __importDefault(require("zlib"));
9
- async function send(payloads, settings) {
10
- const fileContent = generateFile(payloads);
11
- const gzipped = zlib_1.default.gzipSync(fileContent);
12
- const s3Client = new client_1.Client(settings.s3_aws_region, settings.iam_role_arn, settings.iam_external_id);
13
- await s3Client.uploadS3(settings, gzipped);
14
- }
15
- function generateFile(payloads) {
16
- const buffers = payloads.map((payload, index) => {
17
- const isLastEvent = index === payloads.length - 1;
18
- const event = JSON.stringify(payload.columns);
19
- return Buffer.from(`${event}${isLastEvent ? '' : '\n'}`);
20
- });
21
- return Buffer.concat(buffers);
22
- }
23
- const action = {
24
- title: 'Sync to Warehouse',
25
- description: 'Syncs Segment event data to your DWH.',
26
- fields: fields_1.commonFields,
27
- perform: async (_, data) => {
28
- const { payload, settings } = data;
29
- return send([payload], settings);
30
- },
31
- performBatch: async (_, data) => {
32
- const { payload, settings } = data;
33
- return send(payload, settings);
34
- }
35
- };
36
- exports.default = action;
37
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/warehouse-test/syncToWarehouse/index.ts"],"names":[],"mappings":";;;;;AAGA,sCAAwC;AACxC,sCAAkC;AAClC,gDAAuB;AAEvB,KAAK,UAAU,IAAI,CAAC,QAAmB,EAAE,QAAkB;IACzD,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,cAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IAG1C,MAAM,QAAQ,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;IAEpG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC;AAED,SAAS,YAAY,CAAC,QAAmB;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,WAAW,GAAG,KAAK,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAE7C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,uCAAuC;IACpD,MAAM,EAAE,qBAAY;IACpB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAClC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAClC,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAChC,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,3 +0,0 @@
1
- import { RefreshAccessTokenResult } from '../../../../core/src/destination-kit';
2
- import { RequestClient } from '../../../../core/src/create-request-client';
3
- export declare const sendRefreshTokenReq: (request: RequestClient, settings: any, auth: any) => Promise<RefreshAccessTokenResult>;
@@ -1,78 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendRefreshTokenReq = void 0;
4
- const sendRefreshTokenReq = async (request, settings, auth) => {
5
- const { oauth } = settings.dynamicAuthSettings;
6
- const { url, options } = getRequestData(oauth, auth);
7
- const res = await request(url, options);
8
- if (oauth.type === 'authCode') {
9
- return {
10
- accessToken: res.data.access_token,
11
- refreshToken: res.data.refresh_token
12
- };
13
- }
14
- else {
15
- return { accessToken: res.data.access_token };
16
- }
17
- };
18
- exports.sendRefreshTokenReq = sendRefreshTokenReq;
19
- const getRequestData = (oauth, auth) => {
20
- let customParamsObj;
21
- if (Array.isArray(oauth?.customParams?.refreshRequest) && oauth.customParams.refreshRequest.length > 0) {
22
- customParamsObj = oauth.customParams.refreshRequest.reduce((acc, { key, value, sendIn }) => {
23
- acc[sendIn] = acc[sendIn] || {};
24
- acc[sendIn][key] = value;
25
- return acc;
26
- }, {});
27
- }
28
- const customHeaders = customParamsObj?.header ?? {};
29
- const customBody = customParamsObj?.body ?? {};
30
- const customQuery = customParamsObj?.query ?? {};
31
- const url = getRequestUrl(oauth, customQuery);
32
- const options = getRequestOptions(oauth, auth, customHeaders, customBody);
33
- return {
34
- url,
35
- options
36
- };
37
- };
38
- const getRequestUrl = (oauth, customQuery) => {
39
- let url = oauth.refreshTokenServerUrl;
40
- if (Object.keys(customQuery).length > 0) {
41
- const urlSearchParams = new URLSearchParams(customQuery);
42
- url = url + `?${urlSearchParams}`;
43
- }
44
- return url;
45
- };
46
- const getRequestOptions = (oauth, auth, customHeaders, customBody) => {
47
- let bodyParams = {};
48
- const { clientId, clientSecret } = auth;
49
- const headers = {
50
- 'Content-Type': 'application/x-www-form-urlencoded',
51
- Authorization: `Basic ${Buffer.from(clientId + ':' + clientSecret).toString('base64')}`,
52
- ...customHeaders
53
- };
54
- if (oauth.type === 'authCode') {
55
- bodyParams = {
56
- grant_type: 'refresh_token',
57
- refresh_token: auth.refreshToken ?? oauth.access.refresh_token,
58
- scope: oauth.scopes,
59
- client_id: clientId,
60
- client_secret: clientSecret,
61
- ...customBody
62
- };
63
- }
64
- else {
65
- bodyParams = {
66
- grant_type: 'client_credentials',
67
- scope: oauth.scopes,
68
- ...customBody
69
- };
70
- }
71
- const body = new URLSearchParams(bodyParams);
72
- return {
73
- method: 'POST',
74
- headers,
75
- body
76
- };
77
- };
78
- //# sourceMappingURL=auth-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-utils.js","sourceRoot":"","sources":["../../../src/destinations/webhook-extensible/auth-utils.ts"],"names":[],"mappings":"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"}