@segment/action-destinations 3.253.0-staging-4e92a29a3 → 3.253.0-staging-a4e2acb32

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 (89) hide show
  1. package/dist/destinations/klaviyo/properties.js +1 -1
  2. package/package.json +2 -2
  3. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.d.ts +0 -1
  4. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js +0 -184
  5. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js.map +0 -1
  6. package/dist/destinations/engage/sendgrid/Profile.d.ts +0 -6
  7. package/dist/destinations/engage/sendgrid/Profile.js +0 -3
  8. package/dist/destinations/engage/sendgrid/Profile.js.map +0 -1
  9. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.d.ts +0 -21
  10. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js +0 -174
  11. package/dist/destinations/engage/sendgrid/previewApiLookup/api-lookups.js.map +0 -1
  12. package/dist/destinations/klaviyo/removeProfileToList/generated-types.d.ts +0 -4
  13. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js +0 -3
  14. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js.map +0 -1
  15. package/dist/destinations/klaviyo/removeProfileToList/index.d.ts +0 -5
  16. package/dist/destinations/klaviyo/removeProfileToList/index.js +0 -43
  17. package/dist/destinations/klaviyo/removeProfileToList/index.js.map +0 -1
  18. package/dist/destinations/mixpanel/utils.d.ts +0 -13
  19. package/dist/destinations/mixpanel/utils.js +0 -117
  20. package/dist/destinations/mixpanel/utils.js.map +0 -1
  21. package/dist/destinations/movable-ink/categoryView/generated-types.d.ts +0 -22
  22. package/dist/destinations/movable-ink/categoryView/generated-types.js +0 -3
  23. package/dist/destinations/movable-ink/categoryView/generated-types.js.map +0 -1
  24. package/dist/destinations/movable-ink/categoryView/index.d.ts +0 -5
  25. package/dist/destinations/movable-ink/categoryView/index.js +0 -43
  26. package/dist/destinations/movable-ink/categoryView/index.js.map +0 -1
  27. package/dist/destinations/movable-ink/conversion/generated-types.d.ts +0 -20
  28. package/dist/destinations/movable-ink/conversion/generated-types.js +0 -3
  29. package/dist/destinations/movable-ink/conversion/generated-types.js.map +0 -1
  30. package/dist/destinations/movable-ink/conversion/index.d.ts +0 -5
  31. package/dist/destinations/movable-ink/conversion/index.js +0 -45
  32. package/dist/destinations/movable-ink/conversion/index.js.map +0 -1
  33. package/dist/destinations/movable-ink/fields.d.ts +0 -21
  34. package/dist/destinations/movable-ink/fields.js +0 -236
  35. package/dist/destinations/movable-ink/fields.js.map +0 -1
  36. package/dist/destinations/movable-ink/identify/generated-types.d.ts +0 -7
  37. package/dist/destinations/movable-ink/identify/generated-types.js +0 -3
  38. package/dist/destinations/movable-ink/identify/generated-types.js.map +0 -1
  39. package/dist/destinations/movable-ink/identify/index.d.ts +0 -5
  40. package/dist/destinations/movable-ink/identify/index.js +0 -32
  41. package/dist/destinations/movable-ink/identify/index.js.map +0 -1
  42. package/dist/destinations/movable-ink/productAdded/generated-types.d.ts +0 -22
  43. package/dist/destinations/movable-ink/productAdded/generated-types.js +0 -3
  44. package/dist/destinations/movable-ink/productAdded/generated-types.js.map +0 -1
  45. package/dist/destinations/movable-ink/productAdded/index.d.ts +0 -5
  46. package/dist/destinations/movable-ink/productAdded/index.js +0 -43
  47. package/dist/destinations/movable-ink/productAdded/index.js.map +0 -1
  48. package/dist/destinations/movable-ink/productViewed/generated-types.d.ts +0 -21
  49. package/dist/destinations/movable-ink/productViewed/generated-types.js +0 -3
  50. package/dist/destinations/movable-ink/productViewed/generated-types.js.map +0 -1
  51. package/dist/destinations/movable-ink/productViewed/index.d.ts +0 -5
  52. package/dist/destinations/movable-ink/productViewed/index.js +0 -43
  53. package/dist/destinations/movable-ink/productViewed/index.js.map +0 -1
  54. package/dist/destinations/movable-ink/search/generated-types.d.ts +0 -12
  55. package/dist/destinations/movable-ink/search/generated-types.js +0 -3
  56. package/dist/destinations/movable-ink/search/generated-types.js.map +0 -1
  57. package/dist/destinations/movable-ink/search/index.d.ts +0 -5
  58. package/dist/destinations/movable-ink/search/index.js +0 -43
  59. package/dist/destinations/movable-ink/search/index.js.map +0 -1
  60. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.d.ts +0 -25
  61. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.js +0 -3
  62. package/dist/destinations/movable-ink/sendCustomEvent/generated-types.js.map +0 -1
  63. package/dist/destinations/movable-ink/sendCustomEvent/index.d.ts +0 -5
  64. package/dist/destinations/movable-ink/sendCustomEvent/index.js +0 -48
  65. package/dist/destinations/movable-ink/sendCustomEvent/index.js.map +0 -1
  66. package/dist/destinations/trackey/group.types.d.ts +0 -11
  67. package/dist/destinations/trackey/group.types.js +0 -3
  68. package/dist/destinations/trackey/group.types.js.map +0 -1
  69. package/dist/destinations/trackey/identify.types.d.ts +0 -11
  70. package/dist/destinations/trackey/identify.types.js +0 -3
  71. package/dist/destinations/trackey/identify.types.js.map +0 -1
  72. package/dist/destinations/trackey/track.types.d.ts +0 -12
  73. package/dist/destinations/trackey/track.types.js +0 -3
  74. package/dist/destinations/trackey/track.types.js.map +0 -1
  75. package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.d.ts +0 -4
  76. package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.js +0 -3
  77. package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.js.map +0 -1
  78. package/dist/destinations/yahoo-audiences/createCustomerNode/index.d.ts +0 -5
  79. package/dist/destinations/yahoo-audiences/createCustomerNode/index.js +0 -33
  80. package/dist/destinations/yahoo-audiences/createCustomerNode/index.js.map +0 -1
  81. package/dist/destinations/yahoo-audiences/createSegment/generated-types.d.ts +0 -6
  82. package/dist/destinations/yahoo-audiences/createSegment/generated-types.js +0 -3
  83. package/dist/destinations/yahoo-audiences/createSegment/generated-types.js.map +0 -1
  84. package/dist/destinations/yahoo-audiences/createSegment/index.d.ts +0 -5
  85. package/dist/destinations/yahoo-audiences/createSegment/index.js +0 -45
  86. package/dist/destinations/yahoo-audiences/createSegment/index.js.map +0 -1
  87. package/dist/destinations/yahoo-audiences/utils.d.ts +0 -4
  88. package/dist/destinations/yahoo-audiences/utils.js +0 -30
  89. package/dist/destinations/yahoo-audiences/utils.js.map +0 -1
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.batch_size = exports.enable_batching = exports.external_id = exports.email = exports.list_id = void 0;
4
4
  exports.list_id = {
5
5
  label: 'List Id',
6
- description: `'Insert the ID of the default list that you'd like to subscribe users to when you call .identify().'`,
6
+ description: "'Insert the ID of the default list that you'd like to subscribe users to when you call .identify().'",
7
7
  type: 'string',
8
8
  default: {
9
9
  '@path': '$.context.personas.external_audience_id'
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.253.0-staging-4e92a29a3",
4
+ "version": "3.253.0-staging-a4e2acb32",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -43,7 +43,7 @@
43
43
  "@bufbuild/protobuf": "^1.4.2",
44
44
  "@bufbuild/protoc-gen-es": "^1.4.2",
45
45
  "@segment/a1-notation": "^2.1.4",
46
- "@segment/actions-core": "3.102.0-staging-4e92a29a3",
46
+ "@segment/actions-core": "3.102.0-staging-a4e2acb32",
47
47
  "@segment/actions-shared": "^1.83.0",
48
48
  "@types/node": "^18.11.15",
49
49
  "ajv-formats": "^2.1.1",
@@ -1,184 +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 test_data_1 = require("../../../../lib/test-data");
8
- const index_1 = __importDefault(require("../../index"));
9
- const nock_1 = __importDefault(require("nock"));
10
- const testDestination = actions_core_1.createTestIntegration(index_1.default);
11
- const actionSlug = 'updateUserProfile';
12
- const destinationSlug = 'Braze';
13
- const seedName = `${destinationSlug}#${actionSlug}`;
14
- const receivedAt = '2021-08-03T17:40:04.055Z';
15
- const settings = {
16
- app_id: 'my-app-id',
17
- api_key: 'my-api-key',
18
- endpoint: 'https://rest.iad-01.braze.com'
19
- };
20
- describe(`Testing snapshot for ${destinationSlug}'s ${actionSlug} destination action:`, () => {
21
- it('required fields', async () => {
22
- const action = index_1.default.actions[actionSlug];
23
- const [eventData, settingsData] = test_data_1.generateTestData(seedName, index_1.default, action, true);
24
- nock_1.default(/.*/).persist().get(/.*/).reply(200);
25
- nock_1.default(/.*/).persist().post(/.*/).reply(200);
26
- nock_1.default(/.*/).persist().put(/.*/).reply(200);
27
- const event = actions_core_1.createTestEvent({
28
- properties: eventData
29
- });
30
- const responses = await testDestination.testAction(actionSlug, {
31
- event: event,
32
- mapping: event.properties,
33
- settings: settingsData,
34
- auth: undefined
35
- });
36
- const request = responses[0].request;
37
- const rawBody = await request.text();
38
- try {
39
- const json = JSON.parse(rawBody);
40
- expect(json).toMatchSnapshot();
41
- return;
42
- }
43
- catch (err) {
44
- expect(rawBody).toMatchSnapshot();
45
- }
46
- expect(request.headers).toMatchSnapshot();
47
- });
48
- it('all fields', async () => {
49
- const action = index_1.default.actions[actionSlug];
50
- const [eventData, settingsData] = test_data_1.generateTestData(seedName, index_1.default, action, false);
51
- nock_1.default(/.*/).persist().get(/.*/).reply(200);
52
- nock_1.default(/.*/).persist().post(/.*/).reply(200);
53
- nock_1.default(/.*/).persist().put(/.*/).reply(200);
54
- const event = actions_core_1.createTestEvent({
55
- properties: eventData
56
- });
57
- const responses = await testDestination.testAction(actionSlug, {
58
- event: event,
59
- mapping: event.properties,
60
- settings: settingsData,
61
- auth: undefined
62
- });
63
- const request = responses[0].request;
64
- const rawBody = await request.text();
65
- try {
66
- const json = JSON.parse(rawBody);
67
- expect(json).toMatchSnapshot();
68
- return;
69
- }
70
- catch (err) {
71
- expect(rawBody).toMatchSnapshot();
72
- }
73
- });
74
- it('it should work with batched events', async () => {
75
- nock_1.default('https://rest.iad-01.braze.com').post('/users/track').reply(200, {});
76
- const events = [
77
- actions_core_1.createTestEvent({
78
- event: 'Test Event 1',
79
- type: 'track',
80
- receivedAt,
81
- properties: {}
82
- }),
83
- actions_core_1.createTestEvent({
84
- event: 'Test Event 2',
85
- type: 'track',
86
- receivedAt,
87
- properties: {}
88
- })
89
- ];
90
- const responses = await testDestination.testBatchAction(actionSlug, {
91
- events,
92
- useDefaultMappings: true,
93
- mapping: {
94
- external_id: {
95
- '@path': '$.userId'
96
- },
97
- user_alias: {},
98
- braze_id: {
99
- '@path': '$.properties.braze_id'
100
- },
101
- name: {
102
- '@path': '$.event'
103
- },
104
- time: {
105
- '@path': '$.receivedAt'
106
- },
107
- properties: {
108
- '@path': '$.properties'
109
- },
110
- products: {
111
- '@path': '$.properties.products'
112
- },
113
- enable_batching: true,
114
- _update_existing_only: true
115
- },
116
- settings: {
117
- ...settings
118
- }
119
- });
120
- expect(responses.length).toBe(1);
121
- expect(responses[0].status).toBe(200);
122
- expect(responses[0].options.headers).toMatchSnapshot();
123
- expect(responses[0].options.json).toMatchSnapshot();
124
- });
125
- it('it should work with a single batched events', async () => {
126
- nock_1.default('https://rest.iad-01.braze.com').post('/users/track').reply(200, {});
127
- const events = [
128
- actions_core_1.createTestEvent({
129
- event: 'Test Event 1',
130
- type: 'track',
131
- receivedAt,
132
- properties: {
133
- products: [
134
- {
135
- quantity: 1,
136
- product_id: 'Bowflex Treadmill 10',
137
- price: 100
138
- },
139
- {
140
- quantity: 2,
141
- product_id: 'Bowflex Treadmill 20',
142
- price: 200
143
- }
144
- ]
145
- }
146
- })
147
- ];
148
- const responses = await testDestination.testBatchAction(actionSlug, {
149
- events,
150
- useDefaultMappings: true,
151
- mapping: {
152
- external_id: {
153
- '@path': '$.userId'
154
- },
155
- user_alias: {},
156
- braze_id: {
157
- '@path': '$.properties.braze_id'
158
- },
159
- name: {
160
- '@path': '$.event'
161
- },
162
- time: {
163
- '@path': '$.receivedAt'
164
- },
165
- properties: {
166
- '@path': '$.properties'
167
- },
168
- products: {
169
- '@path': '$.properties.products'
170
- },
171
- enable_batching: true,
172
- _update_existing_only: true
173
- },
174
- settings: {
175
- ...settings
176
- }
177
- });
178
- expect(responses.length).toBe(1);
179
- expect(responses[0].status).toBe(200);
180
- expect(responses[0].options.headers).toMatchSnapshot();
181
- expect(responses[0].options.json).toMatchSnapshot();
182
- });
183
- });
184
- //# sourceMappingURL=snapshot.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot.test.js","sourceRoot":"","sources":["../../../../../src/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export interface Profile {
2
- user_id?: string;
3
- anonymous_id?: string;
4
- email?: string;
5
- traits: Record<string, string>;
6
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Profile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Profile.js","sourceRoot":"","sources":["../../../../src/destinations/engage/sendgrid/Profile.ts"],"names":[],"mappings":""}
@@ -1,21 +0,0 @@
1
- import { InputField } from '@segment/actions-core';
2
- import { RequestClient } from '@segment/actions-core';
3
- import { Logger, StatsClient, DataFeedCache } from '@segment/actions-core/destination-kit';
4
- import type { Settings } from '../generated-types';
5
- import { Profile } from '../Profile';
6
- export declare type ApiLookupConfig = {
7
- id?: string | undefined;
8
- name: string;
9
- url: string;
10
- method: string;
11
- cacheTtl: number;
12
- body?: string | undefined;
13
- headers?: object | undefined;
14
- responseType: string;
15
- };
16
- export declare const getRequestId: ({ method, url, body, headers }: ApiLookupConfig) => string;
17
- export declare const getCachedResponse: ({ responseType }: ApiLookupConfig, requestId: string, dataFeedCache: DataFeedCache, datafeedTags: string[]) => Promise<any>;
18
- export declare const performApiLookup: (request: RequestClient, apiLookupConfig: ApiLookupConfig, profile: Profile, statsClient: StatsClient | undefined, tags: string[], settings: Settings, logger?: Logger | undefined, dataFeedCache?: DataFeedCache | undefined) => Promise<any>;
19
- export declare const apiLookupActionFields: Record<string, InputField>;
20
- export declare const apiLookupLiquidKey = "lookups";
21
- export declare const FLAGON_NAME_DATA_FEEDS = "is-datafeeds-enabled";
@@ -1,174 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FLAGON_NAME_DATA_FEEDS = exports.apiLookupLiquidKey = exports.apiLookupActionFields = exports.performApiLookup = exports.getCachedResponse = exports.getRequestId = void 0;
4
- const crypto_1 = require("crypto");
5
- const actions_core_1 = require("@segment/actions-core");
6
- const liquidjs_1 = require("liquidjs");
7
- const Liquid = new liquidjs_1.Liquid();
8
- const maxResponseSizeBytes = 1000000;
9
- const renderLiquidFields = async ({ id, url, body }, profile, datafeedTags, settings, logger) => {
10
- let renderedUrl;
11
- let renderedBody;
12
- try {
13
- renderedUrl = await Liquid.parseAndRender(url, { profile });
14
- }
15
- catch (error) {
16
- logger?.error(`TE Messaging: Email datafeed url parse failure - api lookup id: ${id} - ${settings.spaceId} - [${error}]`);
17
- datafeedTags.push('error:true', `error_message:${error?.message}`, 'reason:rendering_failure', 'rendering:url');
18
- throw new actions_core_1.IntegrationError('Unable to parse email api lookup url', 'api lookup url parse failure', 400);
19
- }
20
- try {
21
- renderedBody = body ? await Liquid.parseAndRender(body, { profile }) : undefined;
22
- }
23
- catch (error) {
24
- logger?.error(`TE Messaging: Email datafeed body parse failure - api lookup id: ${id} - ${settings.spaceId} - [${error}]`);
25
- datafeedTags.push('error:true', `error_message:${error?.message}`, 'reason:rendering_failure', 'rendering:body');
26
- throw new actions_core_1.IntegrationError('Unable to parse email api lookup body', 'api lookup body parse failure', 400);
27
- }
28
- return {
29
- renderedUrl,
30
- renderedBody
31
- };
32
- };
33
- const getRequestId = ({ method, url, body, headers }) => {
34
- const requestHash = crypto_1.createHash('sha256');
35
- requestHash.update(`${method}${url}${body}${JSON.stringify(headers)}`);
36
- const requestId = requestHash.digest('hex');
37
- return requestId;
38
- };
39
- exports.getRequestId = getRequestId;
40
- const getCachedResponse = async ({ responseType }, requestId, dataFeedCache, datafeedTags) => {
41
- const cachedResponse = await dataFeedCache?.getRequestResponse(requestId);
42
- if (!cachedResponse) {
43
- datafeedTags.push('cache_hit:false');
44
- return;
45
- }
46
- datafeedTags.push('cache_hit:true');
47
- if (responseType === 'json') {
48
- return JSON.parse(cachedResponse);
49
- }
50
- return cachedResponse;
51
- };
52
- exports.getCachedResponse = getCachedResponse;
53
- const performApiLookup = async (request, apiLookupConfig, profile, statsClient, tags, settings, logger, dataFeedCache) => {
54
- const { id, method, headers, cacheTtl, name } = apiLookupConfig;
55
- const datafeedTags = [
56
- ...tags,
57
- `datafeed_id:${id}`,
58
- `datafeed_name:${name}`,
59
- `space_id:${settings.spaceId}`,
60
- `cache_ttl_greater_than_0:${cacheTtl > 0}`
61
- ];
62
- try {
63
- const { renderedUrl, renderedBody } = await renderLiquidFields(apiLookupConfig, profile, datafeedTags, settings, logger);
64
- const requestId = exports.getRequestId({ ...apiLookupConfig, url: renderedUrl, body: renderedBody });
65
- if (cacheTtl > 0 && dataFeedCache) {
66
- const cachedResponse = await exports.getCachedResponse(apiLookupConfig, requestId, dataFeedCache, datafeedTags);
67
- if (cachedResponse) {
68
- datafeedTags.push('error:false');
69
- return cachedResponse;
70
- }
71
- }
72
- let data;
73
- try {
74
- const res = await request(renderedUrl, {
75
- headers: headers ?? undefined,
76
- timeout: 3000,
77
- method: method,
78
- body: renderedBody,
79
- skipResponseCloning: true
80
- });
81
- data = await res.data;
82
- }
83
- catch (error) {
84
- const respError = error.response;
85
- logger?.error(`TE Messaging: Email api lookup failure - api lookup id: ${id} - ${settings.spaceId} - [${error}]`);
86
- datafeedTags.push(`error:true`, `error_message:${error.message}`, `error_status:${respError?.status}`, 'reason:api_call_failure');
87
- throw error;
88
- }
89
- const dataString = JSON.stringify(data);
90
- const size = Buffer.byteLength(dataString, 'utf-8');
91
- datafeedTags.push(`response_size_greater_than_mb:${size > maxResponseSizeBytes}`);
92
- if (cacheTtl > 0) {
93
- if (size <= maxResponseSizeBytes) {
94
- try {
95
- await dataFeedCache?.setRequestResponse(requestId, dataString, cacheTtl / 1000);
96
- datafeedTags.push('cache_set:true');
97
- }
98
- catch (err) {
99
- logger?.error(`TE Messaging: Email api lookup cache set failure - api lookup id: ${id} - ${settings.spaceId} - [${err}]`);
100
- datafeedTags.push('cache_set:false');
101
- datafeedTags.push('error:true', 'reason:cache_set_failure', `error_message:${err?.message}`);
102
- throw err;
103
- }
104
- }
105
- else {
106
- datafeedTags.push('cache_set:false');
107
- }
108
- }
109
- return data;
110
- }
111
- catch (error) {
112
- const isErrorCapturedInTags = datafeedTags.find((str) => str.includes('error:true'));
113
- if (!isErrorCapturedInTags) {
114
- datafeedTags.push('error:true', `error_message:${error?.message}`, 'reason:unknown');
115
- }
116
- tags.push('reason:datafeed_failure');
117
- logger?.error(`TE Messaging: Email api lookup failure - api lookup id: ${id} - ${settings.spaceId} - [${error}]`);
118
- throw error;
119
- }
120
- finally {
121
- statsClient?.incr('datafeed-execution', 1, datafeedTags);
122
- }
123
- };
124
- exports.performApiLookup = performApiLookup;
125
- exports.apiLookupActionFields = {
126
- id: {
127
- label: 'ID',
128
- description: 'The id of the API lookup for use in logging & observability',
129
- type: 'string'
130
- },
131
- name: {
132
- label: 'Name',
133
- description: 'The name of the API lookup referenced in liquid syntax',
134
- type: 'string',
135
- required: true
136
- },
137
- url: {
138
- label: 'URL',
139
- description: 'The URL endpoint to call',
140
- type: 'string',
141
- required: true
142
- },
143
- method: {
144
- label: 'Request Method',
145
- description: 'The request method, e.g. GET/POST/etc.',
146
- type: 'string',
147
- required: true
148
- },
149
- cacheTtl: {
150
- label: 'Cache TTL',
151
- description: 'The cache TTL in ms',
152
- type: 'integer',
153
- required: true
154
- },
155
- body: {
156
- label: 'Request Body',
157
- description: 'The request body for use with POST/PUT/PATCH requests',
158
- type: 'string'
159
- },
160
- headers: {
161
- label: 'Request Headers',
162
- description: 'Headers in JSON to be sent with the request',
163
- type: 'object'
164
- },
165
- responseType: {
166
- label: 'Response Type',
167
- description: 'The response type of the request. Currently only supporting JSON.',
168
- type: 'string',
169
- required: true
170
- }
171
- };
172
- exports.apiLookupLiquidKey = 'lookups';
173
- exports.FLAGON_NAME_DATA_FEEDS = 'is-datafeeds-enabled';
174
- //# sourceMappingURL=api-lookups.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-lookups.js","sourceRoot":"","sources":["../../../../../src/destinations/engage/sendgrid/previewApiLookup/api-lookups.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export interface Payload {
2
- email?: string;
3
- list_id?: string;
4
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=generated-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/klaviyo/removeProfileToList/generated-types.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import { ActionDefinition } from '@segment/actions-core';
2
- import type { Settings } from '../generated-types';
3
- import { Payload } from './generated-types';
4
- declare const action: ActionDefinition<Settings, Payload>;
5
- export default action;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const actions_core_1 = require("@segment/actions-core");
4
- const functions_1 = require("../functions");
5
- const properties_1 = require("../properties");
6
- const action = {
7
- title: 'Remove profile from list',
8
- description: 'Remove profile from list',
9
- fields: {
10
- email: { ...properties_1.email },
11
- list_id: { ...properties_1.external_id }
12
- },
13
- perform: async (request, { payload }) => {
14
- const { email, list_id } = payload;
15
- if (!email || !list_id) {
16
- throw new actions_core_1.IntegrationError("Insert the ID of the default list that you'd like to subscribe users", 'Missing required fields', 400);
17
- }
18
- try {
19
- const profileData = await functions_1.getProfile(request, email);
20
- const v = JSON.parse(profileData.content);
21
- if (Object.keys(v).length !== 0) {
22
- console.log(v);
23
- const listData = {
24
- data: [
25
- {
26
- type: 'profile',
27
- id: v.data[0].id
28
- }
29
- ]
30
- };
31
- const list = await functions_1.executeProfileList(request, 'DELETE', listData, list_id);
32
- return list;
33
- }
34
- return;
35
- }
36
- catch (error) {
37
- console.log(error);
38
- throw new Error('An error occurred while processing the request');
39
- }
40
- }
41
- };
42
- exports.default = action;
43
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/klaviyo/removeProfileToList/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAK1E,4CAA6D;AAC7D,8CAAkD;AAElD,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,0BAA0B;IACvC,MAAM,EAAE;QACN,KAAK,EAAE,EAAE,GAAG,kBAAK,EAAE;QACnB,OAAO,EAAE,EAAE,GAAG,wBAAW,EAAE;KAC5B;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACtC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAClC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;YACtB,MAAM,IAAI,+BAAgB,CACxB,sEAAsE,EACtE,yBAAyB,EACzB,GAAG,CACJ,CAAA;SACF;QACD,IAAI;YACF,MAAM,WAAW,GAA2B,MAAM,sBAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YACzC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACd,MAAM,QAAQ,GAAa;oBACzB,IAAI,EAAE;wBACJ;4BACE,IAAI,EAAE,SAAS;4BACf,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;yBACjB;qBACF;iBACF,CAAA;gBAED,MAAM,IAAI,GAAG,MAAM,8BAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAC3E,OAAO,IAAI,CAAA;aACZ;YACD,OAAM;SACP;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;SAClE;IACH,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,13 +0,0 @@
1
- export declare enum ApiRegions {
2
- US = "US \uD83C\uDDFA\uD83C\uDDF8",
3
- EU = "EU \uD83C\uDDEA\uD83C\uDDFA"
4
- }
5
- export declare enum StrictMode {
6
- ON = "1",
7
- OFF = "0"
8
- }
9
- export declare function getConcatenatedName(firstName: unknown, lastName: unknown, name: unknown): unknown;
10
- export declare function getApiServerUrl(apiRegion: string | undefined): "https://api-eu.mixpanel.com" | "https://api.mixpanel.com";
11
- export declare function getBrowser(userAgent: string): string;
12
- export declare function getBrowserVersion(userAgent: string): string | undefined;
13
- export declare function cheapGuid(maxlen?: number): string;
@@ -1,117 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cheapGuid = exports.getBrowserVersion = exports.getBrowser = exports.getApiServerUrl = exports.getConcatenatedName = exports.StrictMode = exports.ApiRegions = void 0;
4
- var ApiRegions;
5
- (function (ApiRegions) {
6
- ApiRegions["US"] = "US \uD83C\uDDFA\uD83C\uDDF8";
7
- ApiRegions["EU"] = "EU \uD83C\uDDEA\uD83C\uDDFA";
8
- })(ApiRegions = exports.ApiRegions || (exports.ApiRegions = {}));
9
- var StrictMode;
10
- (function (StrictMode) {
11
- StrictMode["ON"] = "1";
12
- StrictMode["OFF"] = "0";
13
- })(StrictMode = exports.StrictMode || (exports.StrictMode = {}));
14
- function getConcatenatedName(firstName, lastName, name) {
15
- return name ?? (firstName && lastName ? `${firstName} ${lastName}` : undefined);
16
- }
17
- exports.getConcatenatedName = getConcatenatedName;
18
- function getApiServerUrl(apiRegion) {
19
- if (apiRegion == ApiRegions.EU) {
20
- return 'https://api-eu.mixpanel.com';
21
- }
22
- return 'https://api.mixpanel.com';
23
- }
24
- exports.getApiServerUrl = getApiServerUrl;
25
- function getBrowser(userAgent) {
26
- if (userAgent.includes(' OPR/')) {
27
- if (userAgent.includes('Mini')) {
28
- return 'Opera Mini';
29
- }
30
- return 'Opera';
31
- }
32
- else if (/(BlackBerry|PlayBook|BB10)/i.test(userAgent)) {
33
- return 'BlackBerry';
34
- }
35
- else if (userAgent.includes('IEMobile') || userAgent.includes('WPDesktop')) {
36
- return 'Internet Explorer Mobile';
37
- }
38
- else if (userAgent.includes('SamsungBrowser/')) {
39
- return 'Samsung Internet';
40
- }
41
- else if (userAgent.includes('Edge') || userAgent.includes('Edg/')) {
42
- return 'Microsoft Edge';
43
- }
44
- else if (userAgent.includes('FBIOS')) {
45
- return 'Facebook Mobile';
46
- }
47
- else if (userAgent.includes('Chrome')) {
48
- return 'Chrome';
49
- }
50
- else if (userAgent.includes('CriOS')) {
51
- return 'Chrome iOS';
52
- }
53
- else if (userAgent.includes('UCWEB') || userAgent.includes('UCBrowser')) {
54
- return 'UC Browser';
55
- }
56
- else if (userAgent.includes('FxiOS')) {
57
- return 'Firefox iOS';
58
- }
59
- else if (userAgent.includes('Safari')) {
60
- return 'Safari';
61
- }
62
- else if (userAgent.includes('Android')) {
63
- return 'Android Mobile';
64
- }
65
- else if (userAgent.includes('Konqueror')) {
66
- return 'Konqueror';
67
- }
68
- else if (userAgent.includes('Firefox')) {
69
- return 'Firefox';
70
- }
71
- else if (userAgent.includes('MSIE') || userAgent.includes('Trident/')) {
72
- return 'Internet Explorer';
73
- }
74
- else if (userAgent.includes('Gecko')) {
75
- return 'Mozilla';
76
- }
77
- else {
78
- return '';
79
- }
80
- }
81
- exports.getBrowser = getBrowser;
82
- function getBrowserVersion(userAgent) {
83
- const browser = getBrowser(userAgent);
84
- const versionRegexs = {
85
- 'Internet Explorer Mobile': /rv:(\d+(\.\d+)?)/,
86
- 'Microsoft Edge': /Edge?\/(\d+(\.\d+)?)/,
87
- Chrome: /Chrome\/(\d+(\.\d+)?)/,
88
- 'Chrome iOS': /CriOS\/(\d+(\.\d+)?)/,
89
- 'UC Browser': /(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,
90
- Safari: /Version\/(\d+(\.\d+)?)/,
91
- 'Mobile Safari': /Version\/(\d+(\.\d+)?)/,
92
- Opera: /(Opera|OPR)\/(\d+(\.\d+)?)/,
93
- Firefox: /Firefox\/(\d+(\.\d+)?)/,
94
- 'Firefox iOS': /FxiOS\/(\d+(\.\d+)?)/,
95
- Konqueror: /Konqueror:(\d+(\.\d+)?)/,
96
- BlackBerry: /BlackBerry (\d+(\.\d+)?)/,
97
- 'Android Mobile': /android\s(\d+(\.\d+)?)/,
98
- 'Samsung Internet': /SamsungBrowser\/(\d+(\.\d+)?)/,
99
- 'Internet Explorer': /(rv:|MSIE )(\d+(\.\d+)?)/,
100
- Mozilla: /rv:(\d+(\.\d+)?)/
101
- };
102
- const regex = versionRegexs[browser];
103
- if (!regex)
104
- return regex;
105
- const matches = regex.exec(userAgent);
106
- if (!matches) {
107
- return undefined;
108
- }
109
- return matches[matches.length - 2];
110
- }
111
- exports.getBrowserVersion = getBrowserVersion;
112
- function cheapGuid(maxlen) {
113
- const guid = Math.random().toString(36).substring(2, 10) + Math.random().toString(36).substring(2, 10);
114
- return maxlen ? guid.substring(0, maxlen) : guid;
115
- }
116
- exports.cheapGuid = cheapGuid;
117
- //# sourceMappingURL=utils.js.map