@segment/action-destinations 3.339.0-staging.0 → 3.340.1-staging.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/destinations/acoustic-s3tc/receiveEvents/eventprocessing.js +6 -2
- package/dist/destinations/acoustic-s3tc/receiveEvents/eventprocessing.js.map +1 -1
- package/dist/destinations/acoustic-s3tc/receiveEvents/preCheck.js +7 -1
- package/dist/destinations/acoustic-s3tc/receiveEvents/preCheck.js.map +1 -1
- package/dist/destinations/aggregations-io/generated-types.d.ts +4 -0
- package/dist/destinations/aggregations-io/generated-types.js +3 -0
- package/dist/destinations/aggregations-io/generated-types.js.map +1 -0
- package/dist/destinations/aggregations-io/index.d.ts +4 -0
- package/dist/destinations/aggregations-io/index.js +48 -0
- package/dist/destinations/aggregations-io/index.js.map +1 -0
- package/dist/destinations/aggregations-io/send/generated-types.d.ts +7 -0
- package/dist/destinations/aggregations-io/send/generated-types.js +3 -0
- package/dist/destinations/aggregations-io/send/generated-types.js.map +1 -0
- package/dist/destinations/aggregations-io/send/index.d.ts +5 -0
- package/dist/destinations/aggregations-io/send/index.js +44 -0
- package/dist/destinations/aggregations-io/send/index.js.map +1 -0
- package/dist/destinations/airship/registerAndAssociate/generated-types.d.ts +3 -0
- package/dist/destinations/airship/registerAndAssociate/index.js +35 -7
- package/dist/destinations/airship/registerAndAssociate/index.js.map +1 -1
- package/dist/destinations/airship/utilities.d.ts +3 -1
- package/dist/destinations/airship/utilities.js +76 -41
- package/dist/destinations/airship/utilities.js.map +1 -1
- package/dist/destinations/algolia-insights/conversionEvents/generated-types.d.ts +2 -2
- package/dist/destinations/algolia-insights/conversionEvents/index.js +2 -2
- package/dist/destinations/algolia-insights/conversionEvents/index.js.map +1 -1
- package/dist/destinations/algolia-insights/productAddedEvents/generated-types.d.ts +2 -2
- package/dist/destinations/algolia-insights/productAddedEvents/index.js +2 -2
- package/dist/destinations/algolia-insights/productAddedEvents/index.js.map +1 -1
- package/dist/destinations/algolia-insights/productClickedEvents/generated-types.d.ts +2 -2
- package/dist/destinations/algolia-insights/productClickedEvents/index.js +2 -2
- package/dist/destinations/algolia-insights/productClickedEvents/index.js.map +1 -1
- package/dist/destinations/algolia-insights/productListFilteredEvents/generated-types.d.ts +2 -2
- package/dist/destinations/algolia-insights/productListFilteredEvents/index.js +2 -2
- package/dist/destinations/algolia-insights/productListFilteredEvents/index.js.map +1 -1
- package/dist/destinations/algolia-insights/productViewedEvents/generated-types.d.ts +2 -2
- package/dist/destinations/algolia-insights/productViewedEvents/index.js +2 -2
- package/dist/destinations/algolia-insights/productViewedEvents/index.js.map +1 -1
- package/dist/destinations/blackbaud-raisers-edge-nxt/utils/index.d.ts +1 -1
- package/dist/destinations/braze/index.js.map +1 -1
- package/dist/destinations/braze/trackEvent/generated-types.d.ts +0 -1
- package/dist/destinations/braze/trackEvent/index.js +0 -8
- package/dist/destinations/braze/trackEvent/index.js.map +1 -1
- package/dist/destinations/braze/trackPurchase/generated-types.d.ts +0 -1
- package/dist/destinations/braze/trackPurchase/index.js +0 -8
- package/dist/destinations/braze/trackPurchase/index.js.map +1 -1
- package/dist/destinations/braze/utils.js +11 -15
- package/dist/destinations/braze/utils.js.map +1 -1
- package/dist/destinations/criteo-audiences/addUserToAudience/index.js +5 -5
- package/dist/destinations/criteo-audiences/addUserToAudience/index.js.map +1 -1
- package/dist/destinations/criteo-audiences/criteo-audiences.js +10 -4
- package/dist/destinations/criteo-audiences/criteo-audiences.js.map +1 -1
- package/dist/destinations/criteo-audiences/removeUserFromAudience/index.js +5 -5
- package/dist/destinations/criteo-audiences/removeUserFromAudience/index.js.map +1 -1
- package/dist/destinations/devrev/createRevUser/index.js +9 -6
- package/dist/destinations/devrev/createRevUser/index.js.map +1 -1
- package/dist/destinations/devrev/utils/types.d.ts +9 -0
- package/dist/destinations/display-video-360/properties.js +4 -4
- package/dist/destinations/display-video-360/properties.js.map +1 -1
- package/dist/destinations/display-video-360/proto/protofile.d.ts +1 -0
- package/dist/destinations/display-video-360/proto/protofile.js +1 -0
- package/dist/destinations/display-video-360/proto/protofile.js.map +1 -1
- package/dist/destinations/display-video-360/shared.js +1 -0
- package/dist/destinations/display-video-360/shared.js.map +1 -1
- package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js +0 -2
- package/dist/destinations/engage/sendgrid/sendEmail/SendEmailPerformer.js.map +1 -1
- package/dist/destinations/engage/twilio/sendSms/SmsMessageSender.js +0 -3
- package/dist/destinations/engage/twilio/sendSms/SmsMessageSender.js.map +1 -1
- package/dist/destinations/engage/utils/EngageStats.js +0 -4
- package/dist/destinations/engage/utils/EngageStats.js.map +1 -1
- package/dist/destinations/equals/generated-types.d.ts +3 -0
- package/dist/destinations/equals/generated-types.js +3 -0
- package/dist/destinations/equals/generated-types.js.map +1 -0
- package/dist/destinations/equals/index.d.ts +4 -0
- package/dist/destinations/equals/index.js +38 -0
- package/dist/destinations/equals/index.js.map +1 -0
- package/dist/destinations/equals/send/generated-types.d.ts +5 -0
- package/dist/destinations/equals/send/generated-types.js +3 -0
- package/dist/destinations/equals/send/generated-types.js.map +1 -0
- package/dist/destinations/equals/send/index.d.ts +5 -0
- package/dist/destinations/equals/send/index.js +38 -0
- package/dist/destinations/equals/send/index.js.map +1 -0
- package/dist/destinations/facebook-conversions-api/fb-capi-app-data.js +1 -1
- package/dist/destinations/google-enhanced-conversions/functions.d.ts +3 -3
- package/dist/destinations/google-enhanced-conversions/functions.js +6 -5
- package/dist/destinations/google-enhanced-conversions/functions.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadCallConversion/index.js +2 -2
- package/dist/destinations/google-enhanced-conversions/uploadCallConversion/index.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion/index.js +2 -2
- package/dist/destinations/google-enhanced-conversions/uploadClickConversion/index.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/index.js +2 -2
- package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/index.js.map +1 -1
- package/dist/destinations/hubspot/sendCustomBehavioralEvent/index.js +0 -27
- package/dist/destinations/hubspot/sendCustomBehavioralEvent/index.js.map +1 -1
- package/dist/destinations/hubspot/utils.d.ts +0 -10
- package/dist/destinations/index.js +3 -1
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/kevel/generated-types.d.ts +4 -0
- package/dist/destinations/kevel/generated-types.js +3 -0
- package/dist/destinations/kevel/generated-types.js.map +1 -0
- package/dist/destinations/kevel/index.d.ts +4 -0
- package/dist/destinations/kevel/index.js +45 -0
- package/dist/destinations/kevel/index.js.map +1 -0
- package/dist/destinations/kevel/syncAudience/generated-types.d.ts +8 -0
- package/dist/destinations/kevel/syncAudience/generated-types.js +3 -0
- package/dist/destinations/kevel/syncAudience/generated-types.js.map +1 -0
- package/dist/destinations/kevel/syncAudience/index.d.ts +5 -0
- package/dist/destinations/kevel/syncAudience/index.js +64 -0
- package/dist/destinations/kevel/syncAudience/index.js.map +1 -0
- package/dist/destinations/kevel/syncTraits/generated-types.d.ts +6 -0
- package/dist/destinations/kevel/syncTraits/generated-types.js +3 -0
- package/dist/destinations/kevel/syncTraits/generated-types.js.map +1 -0
- package/dist/destinations/kevel/syncTraits/index.d.ts +5 -0
- package/dist/destinations/kevel/syncTraits/index.js +39 -0
- package/dist/destinations/kevel/syncTraits/index.js.map +1 -0
- package/dist/destinations/linkedin-conversions/streamConversion/index.js.map +1 -1
- package/dist/destinations/marketo-static-lists/addToList/index.js +2 -2
- package/dist/destinations/marketo-static-lists/addToList/index.js.map +1 -1
- package/dist/destinations/marketo-static-lists/functions.js +7 -7
- package/dist/destinations/marketo-static-lists/functions.js.map +1 -1
- package/dist/destinations/marketo-static-lists/removeFromList/index.js +2 -2
- package/dist/destinations/marketo-static-lists/removeFromList/index.js.map +1 -1
- package/dist/destinations/mixpanel/incrementProperties/__test__/index.test.d.ts +1 -0
- package/dist/destinations/mixpanel/incrementProperties/__test__/index.test.js +129 -0
- package/dist/destinations/mixpanel/incrementProperties/__test__/index.test.js.map +1 -0
- package/dist/destinations/mixpanel/incrementProperties/__test__/snapshot.test.d.ts +1 -0
- package/dist/destinations/mixpanel/incrementProperties/__test__/snapshot.test.js +69 -0
- package/dist/destinations/mixpanel/incrementProperties/__test__/snapshot.test.js.map +1 -0
- package/dist/destinations/mixpanel/incrementProperties/generated-types.d.ts +8 -0
- package/dist/destinations/mixpanel/incrementProperties/generated-types.js +3 -0
- package/dist/destinations/mixpanel/incrementProperties/generated-types.js.map +1 -0
- package/dist/destinations/mixpanel/incrementProperties/index.d.ts +5 -0
- package/dist/destinations/mixpanel/incrementProperties/index.js +84 -0
- package/dist/destinations/mixpanel/incrementProperties/index.js.map +1 -0
- package/dist/destinations/mixpanel/index.js +3 -1
- package/dist/destinations/mixpanel/index.js.map +1 -1
- package/dist/destinations/mixpanel/mixpanel-types.d.ts +4 -0
- package/dist/destinations/mixpanel/utils.d.ts +13 -0
- package/dist/destinations/mixpanel/utils.js +117 -0
- package/dist/destinations/mixpanel/utils.js.map +1 -0
- package/dist/destinations/moengage/trackEvent/generated-types.d.ts +1 -0
- package/dist/destinations/moengage/trackEvent/index.js +10 -2
- package/dist/destinations/moengage/trackEvent/index.js.map +1 -1
- package/dist/destinations/segment/generated-types.d.ts +0 -1
- package/dist/destinations/segment/index.js +3 -13
- package/dist/destinations/segment/index.js.map +1 -1
- package/dist/destinations/segment/properties.d.ts +1 -1
- package/dist/destinations/segment/properties.js +3 -3
- package/dist/destinations/segment/properties.js.map +1 -1
- package/dist/destinations/segment/sendGroup/index.js +5 -16
- package/dist/destinations/segment/sendGroup/index.js.map +1 -1
- package/dist/destinations/segment/sendIdentify/index.js +5 -16
- package/dist/destinations/segment/sendIdentify/index.js.map +1 -1
- package/dist/destinations/segment/sendPage/index.js +5 -16
- package/dist/destinations/segment/sendPage/index.js.map +1 -1
- package/dist/destinations/segment/sendScreen/index.js +5 -16
- package/dist/destinations/segment/sendScreen/index.js.map +1 -1
- package/dist/destinations/segment/sendTrack/index.js +5 -16
- package/dist/destinations/segment/sendTrack/index.js.map +1 -1
- package/dist/destinations/segment-profiles/sendTrack/generated-types.d.ts +10 -0
- package/dist/destinations/segment-profiles/sendTrack/generated-types.js +3 -0
- package/dist/destinations/segment-profiles/sendTrack/generated-types.js.map +1 -0
- package/dist/destinations/segment-profiles/sendTrack/index.d.ts +5 -0
- package/dist/destinations/segment-profiles/sendTrack/index.js +36 -0
- package/dist/destinations/segment-profiles/sendTrack/index.js.map +1 -0
- package/dist/destinations/tiktok-conversions/index.js +3 -92
- package/dist/destinations/tiktok-conversions/index.js.map +1 -1
- package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.d.ts +3 -3
- package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.js +24 -33
- package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.js.map +1 -1
- package/dist/destinations/tiktok-conversions/reportWebEvent/generated-types.d.ts +4 -12
- package/dist/destinations/tiktok-conversions/reportWebEvent/index.js +40 -113
- package/dist/destinations/tiktok-conversions/reportWebEvent/index.js.map +1 -1
- package/dist/destinations/tiktok-offline-conversions/index.js +48 -199
- package/dist/destinations/tiktok-offline-conversions/index.js.map +1 -1
- package/dist/destinations/webhook-audiences/index.js +1 -3
- package/dist/destinations/webhook-audiences/index.js.map +1 -1
- package/dist/destinations/yahoo-audiences/index.js +9 -1
- package/dist/destinations/yahoo-audiences/index.js.map +1 -1
- package/dist/destinations/yahoo-audiences/updateSegment/generated-types.d.ts +6 -2
- package/dist/destinations/yahoo-audiences/updateSegment/index.js +36 -11
- package/dist/destinations/yahoo-audiences/updateSegment/index.js.map +1 -1
- package/dist/destinations/yahoo-audiences/utils-rt.js +3 -3
- package/dist/destinations/yahoo-audiences/utils-rt.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,129 @@
|
|
|
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 nock_1 = __importDefault(require("nock"));
|
|
7
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
8
|
+
const index_1 = __importDefault(require("../../index"));
|
|
9
|
+
const utils_1 = require("../../common/utils");
|
|
10
|
+
const testDestination = actions_core_1.createTestIntegration(index_1.default);
|
|
11
|
+
const MIXPANEL_API_SECRET = 'test-api-key';
|
|
12
|
+
const MIXPANEL_PROJECT_TOKEN = 'test-proj-token';
|
|
13
|
+
const timestamp = '2021-08-17T15:21:15.449Z';
|
|
14
|
+
describe('Mixpanel.incrementProperties', () => {
|
|
15
|
+
const defaultProperties = { term: 'foo', increment: { searches: 1 } };
|
|
16
|
+
it('should use EU server URL', async () => {
|
|
17
|
+
const event = actions_core_1.createTestEvent({ timestamp, event: 'search', properties: defaultProperties });
|
|
18
|
+
nock_1.default('https://api-eu.mixpanel.com').post('/engage').reply(200, {});
|
|
19
|
+
nock_1.default('https://api-eu.mixpanel.com').post('/track').reply(200, {});
|
|
20
|
+
const responses = await testDestination.testAction('incrementProperties', {
|
|
21
|
+
event,
|
|
22
|
+
useDefaultMappings: true,
|
|
23
|
+
settings: {
|
|
24
|
+
projectToken: MIXPANEL_PROJECT_TOKEN,
|
|
25
|
+
apiSecret: MIXPANEL_API_SECRET,
|
|
26
|
+
apiRegion: utils_1.ApiRegions.EU
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
expect(responses[0].status).toBe(200);
|
|
30
|
+
expect(responses[0].data).toMatchObject({});
|
|
31
|
+
expect(responses[0].options.body).toMatchObject(new URLSearchParams({
|
|
32
|
+
data: JSON.stringify({
|
|
33
|
+
$token: MIXPANEL_PROJECT_TOKEN,
|
|
34
|
+
$distinct_id: 'user1234',
|
|
35
|
+
$ip: '8.8.8.8',
|
|
36
|
+
$add: {
|
|
37
|
+
searches: 1
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
}));
|
|
41
|
+
});
|
|
42
|
+
it('should default to US endpoint if apiRegion setting is undefined', async () => {
|
|
43
|
+
const event = actions_core_1.createTestEvent({ timestamp, event: 'search', properties: defaultProperties });
|
|
44
|
+
nock_1.default('https://api.mixpanel.com').post('/engage').reply(200, {});
|
|
45
|
+
nock_1.default('https://api.mixpanel.com').post('/track').reply(200, {});
|
|
46
|
+
const responses = await testDestination.testAction('incrementProperties', {
|
|
47
|
+
event,
|
|
48
|
+
useDefaultMappings: true,
|
|
49
|
+
settings: {
|
|
50
|
+
projectToken: MIXPANEL_PROJECT_TOKEN,
|
|
51
|
+
apiSecret: MIXPANEL_API_SECRET
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
expect(responses[0].status).toBe(200);
|
|
55
|
+
expect(responses[0].data).toMatchObject({});
|
|
56
|
+
expect(responses[0].options.body).toMatchObject(new URLSearchParams({
|
|
57
|
+
data: JSON.stringify({
|
|
58
|
+
$token: MIXPANEL_PROJECT_TOKEN,
|
|
59
|
+
$distinct_id: 'user1234',
|
|
60
|
+
$ip: '8.8.8.8',
|
|
61
|
+
$add: {
|
|
62
|
+
searches: 1
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
}));
|
|
66
|
+
});
|
|
67
|
+
it('should use anonymous_id as distinct_id if user_id is missing', async () => {
|
|
68
|
+
const event = actions_core_1.createTestEvent({ userId: null, event: 'search', properties: defaultProperties });
|
|
69
|
+
nock_1.default('https://api.mixpanel.com').post('/track').reply(200, {});
|
|
70
|
+
nock_1.default('https://api.mixpanel.com').post('/engage').reply(200, {});
|
|
71
|
+
const responses = await testDestination.testAction('incrementProperties', {
|
|
72
|
+
event,
|
|
73
|
+
useDefaultMappings: true,
|
|
74
|
+
settings: {
|
|
75
|
+
projectToken: MIXPANEL_PROJECT_TOKEN,
|
|
76
|
+
apiSecret: MIXPANEL_API_SECRET
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
expect(responses[0].status).toBe(200);
|
|
80
|
+
expect(responses[0].data).toMatchObject({});
|
|
81
|
+
expect(responses[0].options.body).toMatchObject(new URLSearchParams({
|
|
82
|
+
data: JSON.stringify({
|
|
83
|
+
$token: MIXPANEL_PROJECT_TOKEN,
|
|
84
|
+
$distinct_id: event.anonymousId,
|
|
85
|
+
$ip: '8.8.8.8',
|
|
86
|
+
$add: {
|
|
87
|
+
searches: 1
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
}));
|
|
91
|
+
});
|
|
92
|
+
it('should $add values to increment numerical properties', async () => {
|
|
93
|
+
const event = actions_core_1.createTestEvent({
|
|
94
|
+
timestamp,
|
|
95
|
+
event: 'search',
|
|
96
|
+
properties: {
|
|
97
|
+
abc: '123',
|
|
98
|
+
increment: {
|
|
99
|
+
positive: 2,
|
|
100
|
+
negative: -2
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
nock_1.default('https://api.mixpanel.com').post('/track').reply(200, {});
|
|
105
|
+
nock_1.default('https://api.mixpanel.com').post('/engage').reply(200, {});
|
|
106
|
+
const responses = await testDestination.testAction('incrementProperties', {
|
|
107
|
+
event,
|
|
108
|
+
useDefaultMappings: true,
|
|
109
|
+
settings: {
|
|
110
|
+
projectToken: MIXPANEL_PROJECT_TOKEN,
|
|
111
|
+
apiSecret: MIXPANEL_API_SECRET
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
expect(responses[0].status).toBe(200);
|
|
115
|
+
expect(responses[0].data).toMatchObject({});
|
|
116
|
+
expect(responses[0].options.body).toMatchObject(new URLSearchParams({
|
|
117
|
+
data: JSON.stringify({
|
|
118
|
+
$token: MIXPANEL_PROJECT_TOKEN,
|
|
119
|
+
$distinct_id: 'user1234',
|
|
120
|
+
$ip: '8.8.8.8',
|
|
121
|
+
$add: {
|
|
122
|
+
positive: 2,
|
|
123
|
+
negative: -2
|
|
124
|
+
}
|
|
125
|
+
})
|
|
126
|
+
}));
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../../src/destinations/mixpanel/incrementProperties/__test__/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
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 = 'identifyUser';
|
|
12
|
+
const destinationSlug = 'Mixpanel';
|
|
13
|
+
const seedName = `${destinationSlug}#${actionSlug}`;
|
|
14
|
+
describe(`Testing snapshot for ${destinationSlug}'s ${actionSlug} destination action:`, () => {
|
|
15
|
+
it('required fields', async () => {
|
|
16
|
+
const action = index_1.default.actions[actionSlug];
|
|
17
|
+
const [eventData, settingsData] = test_data_1.generateTestData(seedName, index_1.default, action, true);
|
|
18
|
+
nock_1.default(/.*/).persist().get(/.*/).reply(200);
|
|
19
|
+
nock_1.default(/.*/).persist().post(/.*/).reply(200);
|
|
20
|
+
nock_1.default(/.*/).persist().put(/.*/).reply(200);
|
|
21
|
+
const event = actions_core_1.createTestEvent({
|
|
22
|
+
properties: eventData
|
|
23
|
+
});
|
|
24
|
+
const responses = await testDestination.testAction(actionSlug, {
|
|
25
|
+
event: event,
|
|
26
|
+
mapping: event.properties,
|
|
27
|
+
settings: settingsData,
|
|
28
|
+
auth: undefined
|
|
29
|
+
});
|
|
30
|
+
const request = responses[0].request;
|
|
31
|
+
const rawBody = await request.text();
|
|
32
|
+
try {
|
|
33
|
+
const json = JSON.parse(rawBody);
|
|
34
|
+
expect(json).toMatchSnapshot();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
expect(rawBody).toMatchSnapshot();
|
|
39
|
+
}
|
|
40
|
+
expect(request.headers).toMatchSnapshot();
|
|
41
|
+
});
|
|
42
|
+
it('all fields', async () => {
|
|
43
|
+
const action = index_1.default.actions[actionSlug];
|
|
44
|
+
const [eventData, settingsData] = test_data_1.generateTestData(seedName, index_1.default, action, false);
|
|
45
|
+
nock_1.default(/.*/).persist().get(/.*/).reply(200);
|
|
46
|
+
nock_1.default(/.*/).persist().post(/.*/).reply(200);
|
|
47
|
+
nock_1.default(/.*/).persist().put(/.*/).reply(200);
|
|
48
|
+
const event = actions_core_1.createTestEvent({
|
|
49
|
+
properties: eventData
|
|
50
|
+
});
|
|
51
|
+
const responses = await testDestination.testAction(actionSlug, {
|
|
52
|
+
event: event,
|
|
53
|
+
mapping: event.properties,
|
|
54
|
+
settings: settingsData,
|
|
55
|
+
auth: undefined
|
|
56
|
+
});
|
|
57
|
+
const request = responses[0].request;
|
|
58
|
+
const rawBody = await request.text();
|
|
59
|
+
try {
|
|
60
|
+
const json = JSON.parse(rawBody);
|
|
61
|
+
expect(json).toMatchSnapshot();
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
expect(rawBody).toMatchSnapshot();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=snapshot.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.test.js","sourceRoot":"","sources":["../../../../../src/destinations/mixpanel/incrementProperties/__test__/snapshot.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/mixpanel/incrementProperties/generated-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
4
|
+
const utils_1 = require("../common/utils");
|
|
5
|
+
const action = {
|
|
6
|
+
title: 'Increment Properties',
|
|
7
|
+
description: 'Increment the value of a user profile property. [Learn More](https://developer.mixpanel.com/reference/profile-numerical-add).',
|
|
8
|
+
defaultSubscription: 'type = "track"',
|
|
9
|
+
fields: {
|
|
10
|
+
ip: {
|
|
11
|
+
label: 'IP Address',
|
|
12
|
+
type: 'string',
|
|
13
|
+
description: "The IP address of the user. This is only used for geolocation and won't be stored.",
|
|
14
|
+
default: {
|
|
15
|
+
'@path': '$.context.ip'
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
user_id: {
|
|
19
|
+
label: 'User ID',
|
|
20
|
+
type: 'string',
|
|
21
|
+
allowNull: true,
|
|
22
|
+
description: 'The unique user identifier set by you',
|
|
23
|
+
default: {
|
|
24
|
+
'@path': '$.userId'
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
anonymous_id: {
|
|
28
|
+
label: 'Anonymous ID',
|
|
29
|
+
type: 'string',
|
|
30
|
+
allowNull: true,
|
|
31
|
+
description: 'The generated anonymous ID for the user',
|
|
32
|
+
default: {
|
|
33
|
+
'@path': '$.anonymousId'
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
increment: {
|
|
37
|
+
label: 'Increment Numerical Properties',
|
|
38
|
+
type: 'object',
|
|
39
|
+
description: 'Object of properties and the values to increment or decrement. For example: `{"purchases": 1, "items": 6}}.',
|
|
40
|
+
multiple: false,
|
|
41
|
+
required: true,
|
|
42
|
+
defaultObjectUI: 'keyvalue',
|
|
43
|
+
default: {
|
|
44
|
+
'@path': '$.properties.increment'
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
perform: async (request, { payload, settings }) => {
|
|
49
|
+
if (!settings.projectToken) {
|
|
50
|
+
throw new actions_core_1.IntegrationError('Missing project token', 'Missing required field', 400);
|
|
51
|
+
}
|
|
52
|
+
const apiServerUrl = utils_1.getApiServerUrl(settings.apiRegion);
|
|
53
|
+
const responses = [];
|
|
54
|
+
if (payload.increment && Object.keys(payload.increment).length > 0) {
|
|
55
|
+
const keys = Object.keys(payload.increment);
|
|
56
|
+
if (keys.length > 20) {
|
|
57
|
+
throw new actions_core_1.PayloadValidationError('Exceeded maximum of 20 properties for increment call');
|
|
58
|
+
}
|
|
59
|
+
const data = {
|
|
60
|
+
$token: settings.projectToken,
|
|
61
|
+
$distinct_id: payload.user_id ?? payload.anonymous_id,
|
|
62
|
+
$ip: payload.ip
|
|
63
|
+
};
|
|
64
|
+
data.$add = {};
|
|
65
|
+
for (const key of keys) {
|
|
66
|
+
const value = payload.increment[key];
|
|
67
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
68
|
+
if (isNaN(+value)) {
|
|
69
|
+
throw new actions_core_1.IntegrationError(`The key "${key}" was not numeric`, 'Non numeric increment value', 400);
|
|
70
|
+
}
|
|
71
|
+
data.$add[key] = +value;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const response = request(`${apiServerUrl}/engage`, {
|
|
75
|
+
method: 'post',
|
|
76
|
+
body: new URLSearchParams({ data: JSON.stringify(data) })
|
|
77
|
+
});
|
|
78
|
+
responses.push(response);
|
|
79
|
+
}
|
|
80
|
+
return Promise.all(responses);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
exports.default = action;
|
|
84
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/mixpanel/incrementProperties/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ const actions_core_1 = require("@segment/actions-core");
|
|
|
7
7
|
const trackEvent_1 = __importDefault(require("./trackEvent"));
|
|
8
8
|
const identifyUser_1 = __importDefault(require("./identifyUser"));
|
|
9
9
|
const groupIdentifyUser_1 = __importDefault(require("./groupIdentifyUser"));
|
|
10
|
+
const incrementProperties_1 = __importDefault(require("./incrementProperties"));
|
|
10
11
|
const alias_1 = __importDefault(require("./alias"));
|
|
11
12
|
const utils_1 = require("./common/utils");
|
|
12
13
|
const trackPurchase_1 = __importDefault(require("./trackPurchase"));
|
|
@@ -119,7 +120,8 @@ const destination = {
|
|
|
119
120
|
identifyUser: identifyUser_1.default,
|
|
120
121
|
groupIdentifyUser: groupIdentifyUser_1.default,
|
|
121
122
|
alias: alias_1.default,
|
|
122
|
-
trackPurchase: trackPurchase_1.default
|
|
123
|
+
trackPurchase: trackPurchase_1.default,
|
|
124
|
+
incrementProperties: incrementProperties_1.default
|
|
123
125
|
}
|
|
124
126
|
};
|
|
125
127
|
exports.default = destination;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/mixpanel/index.ts"],"names":[],"mappings":";;;;;AACA,wDAAqD;AACrD,8DAAqC;AAGrC,kEAAyC;AACzC,4EAAmD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/mixpanel/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,4 +81,8 @@ export declare type MixpanelEngageProperties = {
|
|
|
81
81
|
$distinct_id?: string | null;
|
|
82
82
|
$ip?: string;
|
|
83
83
|
$set?: MixpanelEngageSet;
|
|
84
|
+
$add?: MixpanelIncrementPropertiesObject;
|
|
85
|
+
};
|
|
86
|
+
export declare type MixpanelIncrementPropertiesObject = {
|
|
87
|
+
[key: string]: number;
|
|
84
88
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
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;
|
|
@@ -0,0 +1,117 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/mixpanel/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,7 +80,14 @@ const action = {
|
|
|
80
80
|
default: {
|
|
81
81
|
'@path': '$.properties'
|
|
82
82
|
}
|
|
83
|
-
}
|
|
83
|
+
},
|
|
84
|
+
update_existing_only: {
|
|
85
|
+
label: 'Update Existing Users Only',
|
|
86
|
+
type: 'boolean',
|
|
87
|
+
description: 'If set to true, events from the Segment will only trigger updates for users who already exist in Moengage.',
|
|
88
|
+
required: false,
|
|
89
|
+
default: false
|
|
90
|
+
},
|
|
84
91
|
},
|
|
85
92
|
perform: async (request, { payload, settings }) => {
|
|
86
93
|
if (!settings.api_id || !settings.api_key) {
|
|
@@ -97,7 +104,8 @@ const action = {
|
|
|
97
104
|
library: { version: payload.library_version }
|
|
98
105
|
},
|
|
99
106
|
properties: payload.properties,
|
|
100
|
-
timestamp: payload.timestamp
|
|
107
|
+
timestamp: payload.timestamp,
|
|
108
|
+
update_existing_only: payload.update_existing_only || false
|
|
101
109
|
};
|
|
102
110
|
const endpoint = regional_endpoints_1.getEndpointByRegion(settings.region);
|
|
103
111
|
return request(`${endpoint}/v1/integrations/segment?appId=${settings.api_id}`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/moengage/trackEvent/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAG1E,8DAA2D;AAE3D,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,4BAA4B;IACzC,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,QAAQ;aAClB;SACF;QACD,KAAK,EAAE;YACL,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,SAAS;aACnB;SACF;QACD,MAAM,EAAE;YACN,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oCAAoC;YACjD,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;aACpB;SACF;QACD,WAAW,EAAE;YACX,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,8CAA8C;YAC3D,OAAO,EAAE;gBACP,OAAO,EAAE,eAAe;aACzB;SACF;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4EAA4E;YACzF,OAAO,EAAE;gBACP,OAAO,EAAE,mBAAmB;aAC7B;SACF;QACD,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0EAA0E;YACvF,OAAO,EAAE;gBACP,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,eAAe,EAAE;YACf,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0EAA0E;YACvF,OAAO,EAAE;gBACP,OAAO,EAAE,2BAA2B;aACrC;SACF;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,UAAU;YAChB,WAAW,EACT,oHAAoH;YACtH,OAAO,EAAE;gBACP,OAAO,EAAE,aAAa;aACvB;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+FAA+F;YAC5G,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzC,MAAM,IAAI,+BAAgB,CAAC,2BAA2B,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAA;SACvF;QAED,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,YAAY,EAAE,OAAO,CAAC,WAAW;YACjC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE;gBACP,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;gBACrC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE;gBAC7B,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE;aAC9C;YACD,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/moengage/trackEvent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,22 +21,12 @@ const destination = {
|
|
|
21
21
|
description: 'The **Write Key** of a Segment source.',
|
|
22
22
|
type: 'string',
|
|
23
23
|
required: true
|
|
24
|
-
},
|
|
25
|
-
endpoint: {
|
|
26
|
-
label: 'Endpoint Region',
|
|
27
|
-
description: 'The region to send your data.',
|
|
28
|
-
type: 'string',
|
|
29
|
-
format: 'text',
|
|
30
|
-
choices: Object.keys(properties_1.SEGMENT_ENDPOINTS).map((key) => ({
|
|
31
|
-
label: properties_1.SEGMENT_ENDPOINTS[key].label,
|
|
32
|
-
value: key
|
|
33
|
-
})),
|
|
34
|
-
default: properties_1.DEFAULT_SEGMENT_ENDPOINT
|
|
35
24
|
}
|
|
36
25
|
},
|
|
37
26
|
testAuthentication: async (request, { settings }) => {
|
|
38
|
-
const { source_write_key
|
|
39
|
-
|
|
27
|
+
const { source_write_key } = settings;
|
|
28
|
+
const AWS_REGION = process.env['AWS_REGION'] || properties_1.DEFAULT_SEGMENT_ENDPOINT;
|
|
29
|
+
return request(`${properties_1.SEGMENT_ENDPOINTS[AWS_REGION].cdn}/projects/${source_write_key}/settings`);
|
|
40
30
|
}
|
|
41
31
|
},
|
|
42
32
|
extendRequest({ settings }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/segment/index.ts"],"names":[],"mappings":";;;;;AAGA,kEAAyC;AACzC,4DAAmC;AACnC,8DAAqC;AACrC,0DAAiC;AACjC,4DAAmC;AAEnC,6CAA0E;AAE1E,MAAM,WAAW,GAAoC;IAEnD,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,gBAAgB,EAAE;gBAChB,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,wCAAwC;gBACrD,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/segment/index.ts"],"names":[],"mappings":";;;;;AAGA,kEAAyC;AACzC,4DAAmC;AACnC,8DAAqC;AACrC,0DAAiC;AACjC,4DAAmC;AAEnC,6CAA0E;AAE1E,MAAM,WAAW,GAAoC;IAEnD,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,gBAAgB,EAAE;gBAChB,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,wCAAwC;gBACrD,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAA;YACrC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,qCAAwB,CAAA;YACxE,OAAO,OAAO,CAAC,GAAG,8BAAiB,CAAC,UAAU,CAAC,CAAC,GAAG,aAAa,gBAAgB,WAAW,CAAC,CAAA;QAC9F,CAAC;KACF;IACD,aAAa,CAAC,EAAE,QAAQ,EAAE;QACxB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;aAC1F;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,YAAY,EAAZ,sBAAY;QACZ,SAAS,EAAT,mBAAS;QACT,UAAU,EAAV,oBAAU;QACV,QAAQ,EAAR,kBAAQ;QACR,SAAS,EAAT,mBAAS;KACV;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DEFAULT_SEGMENT_ENDPOINT = exports.SEGMENT_ENDPOINTS = void 0;
|
|
4
4
|
exports.SEGMENT_ENDPOINTS = {
|
|
5
|
-
|
|
5
|
+
'us-west-2': {
|
|
6
6
|
label: 'North America',
|
|
7
7
|
url: 'https://api.segment.io/v1',
|
|
8
8
|
cdn: 'https://cdn.segment.com/v1'
|
|
9
9
|
},
|
|
10
|
-
|
|
10
|
+
'eu-west-1': {
|
|
11
11
|
label: 'Europe',
|
|
12
12
|
url: 'https://events.eu1.segmentapis.com/v1',
|
|
13
13
|
cdn: 'https://cdn.segment.com/v1'
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
|
-
exports.DEFAULT_SEGMENT_ENDPOINT = '
|
|
16
|
+
exports.DEFAULT_SEGMENT_ENDPOINT = 'us-west-2';
|
|
17
17
|
//# sourceMappingURL=properties.js.map
|