@segment/action-destinations 3.345.7-staging → 3.345.7-staging-1461904fc.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 (163) hide show
  1. package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.d.ts +1 -0
  2. package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.js +325 -0
  3. package/dist/destinations/salesforce-marketing-cloud/_tests_/multistatus.test.js.map +1 -0
  4. package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js +1 -17
  5. package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js.map +1 -1
  6. package/dist/destinations/salesforce-marketing-cloud/dataExtension/index.js +1 -17
  7. package/dist/destinations/salesforce-marketing-cloud/dataExtension/index.js.map +1 -1
  8. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.d.ts +2 -2
  9. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js +45 -7
  10. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js.map +1 -1
  11. package/dist/destinations/salesforce-marketing-cloud/types.d.ts +19 -0
  12. package/dist/destinations/salesforce-marketing-cloud/types.js.map +1 -0
  13. package/package.json +2 -2
  14. package/dist/destinations/accoil-analytics/postToAccoil/generated-types.d.ts +0 -5
  15. package/dist/destinations/accoil-analytics/postToAccoil/generated-types.js +0 -3
  16. package/dist/destinations/accoil-analytics/postToAccoil/generated-types.js.map +0 -1
  17. package/dist/destinations/accoil-analytics/postToAccoil/index.d.ts +0 -5
  18. package/dist/destinations/accoil-analytics/postToAccoil/index.js +0 -28
  19. package/dist/destinations/accoil-analytics/postToAccoil/index.js.map +0 -1
  20. package/dist/destinations/braze/createAliasV2.types.d.ts +0 -5
  21. package/dist/destinations/braze/createAliasV2.types.js +0 -3
  22. package/dist/destinations/braze/createAliasV2.types.js.map +0 -1
  23. package/dist/destinations/braze/identifyUserV2.types.d.ts +0 -8
  24. package/dist/destinations/braze/identifyUserV2.types.js +0 -3
  25. package/dist/destinations/braze/identifyUserV2.types.js.map +0 -1
  26. package/dist/destinations/campaign-manager-360/common-fields.d.ts +0 -3
  27. package/dist/destinations/campaign-manager-360/common-fields.js +0 -306
  28. package/dist/destinations/campaign-manager-360/common-fields.js.map +0 -1
  29. package/dist/destinations/campaign-manager-360/conversionAdjustmentUpload/generated-types.d.ts +0 -45
  30. package/dist/destinations/campaign-manager-360/conversionAdjustmentUpload/generated-types.js +0 -3
  31. package/dist/destinations/campaign-manager-360/conversionAdjustmentUpload/generated-types.js.map +0 -1
  32. package/dist/destinations/campaign-manager-360/conversionAdjustmentUpload/index.d.ts +0 -5
  33. package/dist/destinations/campaign-manager-360/conversionAdjustmentUpload/index.js +0 -86
  34. package/dist/destinations/campaign-manager-360/conversionAdjustmentUpload/index.js.map +0 -1
  35. package/dist/destinations/campaign-manager-360/conversionUpload/generated-types.d.ts +0 -50
  36. package/dist/destinations/campaign-manager-360/conversionUpload/generated-types.js +0 -3
  37. package/dist/destinations/campaign-manager-360/conversionUpload/generated-types.js.map +0 -1
  38. package/dist/destinations/campaign-manager-360/conversionUpload/index.d.ts +0 -5
  39. package/dist/destinations/campaign-manager-360/conversionUpload/index.js +0 -131
  40. package/dist/destinations/campaign-manager-360/conversionUpload/index.js.map +0 -1
  41. package/dist/destinations/campaign-manager-360/generated-types.d.ts +0 -5
  42. package/dist/destinations/campaign-manager-360/generated-types.js +0 -3
  43. package/dist/destinations/campaign-manager-360/generated-types.js.map +0 -1
  44. package/dist/destinations/campaign-manager-360/index.d.ts +0 -4
  45. package/dist/destinations/campaign-manager-360/index.js +0 -63
  46. package/dist/destinations/campaign-manager-360/index.js.map +0 -1
  47. package/dist/destinations/campaign-manager-360/types.d.ts +0 -116
  48. package/dist/destinations/campaign-manager-360/types.js +0 -23
  49. package/dist/destinations/campaign-manager-360/types.js.map +0 -1
  50. package/dist/destinations/campaign-manager-360/utils.d.ts +0 -21
  51. package/dist/destinations/campaign-manager-360/utils.js +0 -175
  52. package/dist/destinations/campaign-manager-360/utils.js.map +0 -1
  53. package/dist/destinations/first-party-dv360/addToList/generated-types.d.ts +0 -2
  54. package/dist/destinations/first-party-dv360/addToList/generated-types.js +0 -3
  55. package/dist/destinations/first-party-dv360/addToList/generated-types.js.map +0 -1
  56. package/dist/destinations/first-party-dv360/addToList/index.d.ts +0 -5
  57. package/dist/destinations/first-party-dv360/addToList/index.js +0 -11
  58. package/dist/destinations/first-party-dv360/addToList/index.js.map +0 -1
  59. package/dist/destinations/first-party-dv360/addToList.types.d.ts +0 -9
  60. package/dist/destinations/first-party-dv360/addToList.types.js +0 -3
  61. package/dist/destinations/first-party-dv360/addToList.types.js.map +0 -1
  62. package/dist/destinations/hubspot/customEvent/dynamic-fields.d.ts +0 -5
  63. package/dist/destinations/hubspot/customEvent/dynamic-fields.js +0 -112
  64. package/dist/destinations/hubspot/customEvent/dynamic-fields.js.map +0 -1
  65. package/dist/destinations/hubspot/customEvent/event-completion.d.ts +0 -3
  66. package/dist/destinations/hubspot/customEvent/event-completion.js +0 -17
  67. package/dist/destinations/hubspot/customEvent/event-completion.js.map +0 -1
  68. package/dist/destinations/hubspot/customEvent/schema-functions.d.ts +0 -3
  69. package/dist/destinations/hubspot/customEvent/schema-functions.js +0 -30
  70. package/dist/destinations/hubspot/customEvent/schema-functions.js.map +0 -1
  71. package/dist/destinations/hubspot/customEvent/utils.d.ts +0 -14
  72. package/dist/destinations/hubspot/customEvent/utils.js +0 -303
  73. package/dist/destinations/hubspot/customEvent/utils.js.map +0 -1
  74. package/dist/destinations/hubspot/customEvent/validation-functions.d.ts +0 -3
  75. package/dist/destinations/hubspot/customEvent/validation-functions.js +0 -66
  76. package/dist/destinations/hubspot/customEvent/validation-functions.js.map +0 -1
  77. package/dist/destinations/hubspot/customEvent/validation.d.ts +0 -3
  78. package/dist/destinations/hubspot/customEvent/validation.js +0 -66
  79. package/dist/destinations/hubspot/customEvent/validation.js.map +0 -1
  80. package/dist/destinations/hubspot/upsertObject/association-functions.d.ts +0 -5
  81. package/dist/destinations/hubspot/upsertObject/association-functions.js +0 -136
  82. package/dist/destinations/hubspot/upsertObject/association-functions.js.map +0 -1
  83. package/dist/destinations/hubspot/upsertObject/cache-functions.d.ts +0 -3
  84. package/dist/destinations/hubspot/upsertObject/cache-functions.js +0 -20
  85. package/dist/destinations/hubspot/upsertObject/cache-functions.js.map +0 -1
  86. package/dist/destinations/hubspot/upsertObject/dynamic-fields.d.ts +0 -7
  87. package/dist/destinations/hubspot/upsertObject/dynamic-fields.js +0 -222
  88. package/dist/destinations/hubspot/upsertObject/dynamic-fields.js.map +0 -1
  89. package/dist/destinations/hubspot/upsertObject/hubspot-association-functions.d.ts +0 -5
  90. package/dist/destinations/hubspot/upsertObject/hubspot-association-functions.js +0 -136
  91. package/dist/destinations/hubspot/upsertObject/hubspot-association-functions.js.map +0 -1
  92. package/dist/destinations/hubspot/upsertObject/hubspot-properties-functions.d.ts +0 -4
  93. package/dist/destinations/hubspot/upsertObject/hubspot-properties-functions.js +0 -159
  94. package/dist/destinations/hubspot/upsertObject/hubspot-properties-functions.js.map +0 -1
  95. package/dist/destinations/hubspot/upsertObject/hubspot-record-functions.d.ts +0 -4
  96. package/dist/destinations/hubspot/upsertObject/hubspot-record-functions.js +0 -100
  97. package/dist/destinations/hubspot/upsertObject/hubspot-record-functions.js.map +0 -1
  98. package/dist/destinations/hubspot/upsertObject/schema-functions.d.ts +0 -3
  99. package/dist/destinations/hubspot/upsertObject/schema-functions.js +0 -80
  100. package/dist/destinations/hubspot/upsertObject/schema-functions.js.map +0 -1
  101. package/dist/destinations/hubspot/upsertObject/send-from-record-functions.d.ts +0 -4
  102. package/dist/destinations/hubspot/upsertObject/send-from-record-functions.js +0 -100
  103. package/dist/destinations/hubspot/upsertObject/send-from-record-functions.js.map +0 -1
  104. package/dist/destinations/hubspot/upsertObject/utils.d.ts +0 -13
  105. package/dist/destinations/hubspot/upsertObject/utils.js +0 -547
  106. package/dist/destinations/hubspot/upsertObject/utils.js.map +0 -1
  107. package/dist/destinations/hubspot/upsertObject/validation-functions.d.ts +0 -2
  108. package/dist/destinations/hubspot/upsertObject/validation-functions.js +0 -67
  109. package/dist/destinations/hubspot/upsertObject/validation-functions.js.map +0 -1
  110. package/dist/destinations/responsys/shared_properties.d.ts +0 -3
  111. package/dist/destinations/responsys/shared_properties.js +0 -19
  112. package/dist/destinations/responsys/shared_properties.js.map +0 -1
  113. package/dist/destinations/s3/syncAudienceToS3/generated-types.d.ts +0 -53
  114. package/dist/destinations/s3/syncAudienceToS3/generated-types.js +0 -3
  115. package/dist/destinations/s3/syncAudienceToS3/generated-types.js.map +0 -1
  116. package/dist/destinations/s3/syncAudienceToS3/index.d.ts +0 -5
  117. package/dist/destinations/s3/syncAudienceToS3/index.js +0 -22
  118. package/dist/destinations/s3/syncAudienceToS3/index.js.map +0 -1
  119. package/dist/destinations/s3/syncEventsToS3/generated-types.d.ts +0 -44
  120. package/dist/destinations/s3/syncEventsToS3/generated-types.js +0 -3
  121. package/dist/destinations/s3/syncEventsToS3/generated-types.js.map +0 -1
  122. package/dist/destinations/s3/syncEventsToS3/index.d.ts +0 -5
  123. package/dist/destinations/s3/syncEventsToS3/index.js +0 -19
  124. package/dist/destinations/s3/syncEventsToS3/index.js.map +0 -1
  125. package/dist/destinations/s3/syncToS3.types.d.ts +0 -44
  126. package/dist/destinations/s3/syncToS3.types.js +0 -3
  127. package/dist/destinations/s3/syncToS3.types.js.map +0 -1
  128. package/dist/destinations/singlestore/sendData/generated-types.d.ts +0 -2
  129. package/dist/destinations/singlestore/sendData/generated-types.js +0 -3
  130. package/dist/destinations/singlestore/sendData/generated-types.js.map +0 -1
  131. package/dist/destinations/singlestore/sendData/index.d.ts +0 -5
  132. package/dist/destinations/singlestore/sendData/index.js +0 -65
  133. package/dist/destinations/singlestore/sendData/index.js.map +0 -1
  134. package/dist/destinations/singlestore/utils.d.ts +0 -0
  135. package/dist/destinations/singlestore/utils.js +0 -2
  136. package/dist/destinations/singlestore/utils.js.map +0 -1
  137. package/dist/destinations/twilio-messaging/generated-types.d.ts +0 -6
  138. package/dist/destinations/twilio-messaging/generated-types.js +0 -3
  139. package/dist/destinations/twilio-messaging/generated-types.js.map +0 -1
  140. package/dist/destinations/twilio-messaging/index.d.ts +0 -4
  141. package/dist/destinations/twilio-messaging/index.js +0 -61
  142. package/dist/destinations/twilio-messaging/index.js.map +0 -1
  143. package/dist/destinations/twilio-messaging/sendMessage/constants.d.ts +0 -45
  144. package/dist/destinations/twilio-messaging/sendMessage/constants.js +0 -99
  145. package/dist/destinations/twilio-messaging/sendMessage/constants.js.map +0 -1
  146. package/dist/destinations/twilio-messaging/sendMessage/dynamic-fields.d.ts +0 -11
  147. package/dist/destinations/twilio-messaging/sendMessage/dynamic-fields.js +0 -209
  148. package/dist/destinations/twilio-messaging/sendMessage/dynamic-fields.js.map +0 -1
  149. package/dist/destinations/twilio-messaging/sendMessage/fields.d.ts +0 -2
  150. package/dist/destinations/twilio-messaging/sendMessage/fields.js +0 -261
  151. package/dist/destinations/twilio-messaging/sendMessage/fields.js.map +0 -1
  152. package/dist/destinations/twilio-messaging/sendMessage/generated-types.d.ts +0 -24
  153. package/dist/destinations/twilio-messaging/sendMessage/generated-types.js +0 -3
  154. package/dist/destinations/twilio-messaging/sendMessage/generated-types.js.map +0 -1
  155. package/dist/destinations/twilio-messaging/sendMessage/index.d.ts +0 -5
  156. package/dist/destinations/twilio-messaging/sendMessage/index.js +0 -42
  157. package/dist/destinations/twilio-messaging/sendMessage/index.js.map +0 -1
  158. package/dist/destinations/twilio-messaging/sendMessage/types.d.ts +0 -34
  159. package/dist/destinations/twilio-messaging/sendMessage/types.js.map +0 -1
  160. package/dist/destinations/twilio-messaging/sendMessage/utils.d.ts +0 -6
  161. package/dist/destinations/twilio-messaging/sendMessage/utils.js +0 -154
  162. package/dist/destinations/twilio-messaging/sendMessage/utils.js.map +0 -1
  163. /package/dist/destinations/{twilio-messaging/sendMessage → salesforce-marketing-cloud}/types.js +0 -0
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendEvent = void 0;
4
- async function sendEvent(client, fullyQualifiedName, payload) {
5
- const { record_details, properties, occurred_at: occurredAt } = payload;
6
- const json = {
7
- eventName: fullyQualifiedName,
8
- objectId: record_details.object_id ?? undefined,
9
- email: record_details.email ?? undefined,
10
- utk: record_details.utk ?? undefined,
11
- occurredAt,
12
- properties: properties
13
- };
14
- return await client.send(json);
15
- }
16
- exports.sendEvent = sendEvent;
17
- //# sourceMappingURL=event-completion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-completion.js","sourceRoot":"","sources":["../../../../src/destinations/hubspot/customEvent/event-completion.ts"],"names":[],"mappings":";;;AAIO,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,kBAA0B,EAAE,OAAgB;IAC1F,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAEvE,MAAM,IAAI,GAAuB;QAC/B,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,cAAc,CAAC,SAAS,IAAI,SAAS;QAC/C,KAAK,EAAE,cAAc,CAAC,KAAK,IAAI,SAAS;QACxC,GAAG,EAAE,cAAc,CAAC,GAAG,IAAI,SAAS;QACpC,UAAU;QACV,UAAU,EAAE,UAAU;KACvB,CAAA;IACD,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC;AAZD,8BAYC"}
@@ -1,3 +0,0 @@
1
- import type { Payload } from './generated-types';
2
- import { Schema } from './types';
3
- export declare function eventSchema(payload: Payload): Schema;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.eventSchema = void 0;
4
- function eventSchema(payload) {
5
- const { event_name, properties } = payload;
6
- const props = {};
7
- if (properties) {
8
- Object.entries(properties).forEach(([property, value]) => {
9
- if (value !== null) {
10
- props[property] = {
11
- type: typeof value,
12
- stringFormat: typeof value === 'string' ? stringFormat(value) : undefined
13
- };
14
- }
15
- });
16
- }
17
- return { name: event_name, primaryObject: payload.record_details.object_type, properties: props };
18
- }
19
- exports.eventSchema = eventSchema;
20
- function stringFormat(str) {
21
- const isoDateTimeRegex = /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])(?:([ T])(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;
22
- const dateOnlyRegex = /^\d{4}-\d{2}-\d{2}$/;
23
- if (isoDateTimeRegex.test(str)) {
24
- return dateOnlyRegex.test(str) ? 'date' : 'datetime';
25
- }
26
- else {
27
- return 'string';
28
- }
29
- }
30
- //# sourceMappingURL=schema-functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-functions.js","sourceRoot":"","sources":["../../../../src/destinations/hubspot/customEvent/schema-functions.ts"],"names":[],"mappings":";;;AAQA,SAAgB,WAAW,CAAC,OAAgB;IACxC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAC1C,MAAM,KAAK,GAAuC,EAAE,CAAA;IAEpD,IAAI,UAAU,EAAE;QACd,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;YACvD,IAAI,KAAK,KAAK,IAAI,EAAE;gBAClB,KAAK,CAAC,QAAQ,CAAC,GAAG;oBAChB,IAAI,EAAE,OAAO,KAA4B;oBACzC,YAAY,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC1E,CAAA;aACF;QACH,CAAC,CAAC,CAAA;KACH;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,CAAA;AACrG,CAAC;AAfD,kCAeC;AAED,SAAS,YAAY,CAAC,GAAW;IAE7B,MAAM,gBAAgB,GACpB,iJAAiJ,CAAA;IACnJ,MAAM,aAAa,GAAG,qBAAqB,CAAA;IAE3C,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC9B,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAA;KACrD;SAAM;QACL,OAAO,QAAQ,CAAA;KAChB;AACL,CAAC"}
@@ -1,14 +0,0 @@
1
- import { StatsContext } from '@segment/actions-core';
2
- import { SubscriptionMetadata } from '@segment/actions-core/destination-kit';
3
- import type { Payload } from './generated-types';
4
- import { Schema, CachableSchema, SchemaDiff } from './types';
5
- import { Client } from './client';
6
- import { LRUCache } from 'lru-cache';
7
- export declare const cache: LRUCache<string, CachableSchema, unknown>;
8
- export declare function eventSchema(payload: Payload): Schema;
9
- export declare function getSchemaFromCache(name: string, subscriptionMetadata?: SubscriptionMetadata, statsContext?: StatsContext): CachableSchema | undefined;
10
- export declare function saveSchemaToCache(schema: CachableSchema, subscriptionMetadata?: SubscriptionMetadata, statsContext?: StatsContext): Promise<void>;
11
- export declare function compareSchemas(schema1: Schema, schema2: CachableSchema | undefined): SchemaDiff;
12
- export declare function getSchemaFromHubspot(client: Client, schema: Schema): Promise<CachableSchema | undefined>;
13
- export declare function createHubspotEventSchema(client: Client, schema: Schema): Promise<string>;
14
- export declare function updateHubspotSchema(client: Client, fullyQualifiedName: string, schemaDiff: SchemaDiff): Promise<void>;
@@ -1,303 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateHubspotSchema = exports.createHubspotEventSchema = exports.getSchemaFromHubspot = exports.compareSchemas = exports.saveSchemaToCache = exports.getSchemaFromCache = exports.eventSchema = exports.cache = void 0;
4
- const actions_core_1 = require("@segment/actions-core");
5
- const lru_cache_1 = require("lru-cache");
6
- exports.cache = new lru_cache_1.LRUCache({
7
- max: 2000,
8
- ttl: 1000 * 60 * 60
9
- });
10
- function stringFormat(str) {
11
- const isoDateTimeRegex = /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])(?:([ T])(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;
12
- const dateOnlyRegex = /^\d{4}-\d{2}-\d{2}$/;
13
- if (isoDateTimeRegex.test(str)) {
14
- return dateOnlyRegex.test(str) ? 'date' : 'datetime';
15
- }
16
- else {
17
- return 'string';
18
- }
19
- }
20
- function eventSchema(payload) {
21
- const { event_name, properties } = payload;
22
- const props = {};
23
- if (properties) {
24
- Object.entries(properties).forEach(([property, value]) => {
25
- if (value !== null) {
26
- props[property] = {
27
- type: typeof value,
28
- stringFormat: typeof value === 'string' ? stringFormat(value) : undefined
29
- };
30
- }
31
- });
32
- }
33
- return { name: event_name, primaryObject: payload.record_details.object_type, properties: props };
34
- }
35
- exports.eventSchema = eventSchema;
36
- function getSchemaFromCache(name, subscriptionMetadata, statsContext) {
37
- if (!subscriptionMetadata || !subscriptionMetadata?.actionConfigId) {
38
- statsContext?.statsClient?.incr('cache.get.error', 1, statsContext?.tags);
39
- return undefined;
40
- }
41
- const schema = exports.cache.get(`${subscriptionMetadata.actionConfigId}-${name}`) ?? undefined;
42
- return schema;
43
- }
44
- exports.getSchemaFromCache = getSchemaFromCache;
45
- async function saveSchemaToCache(schema, subscriptionMetadata, statsContext) {
46
- if (!subscriptionMetadata || !subscriptionMetadata?.actionConfigId) {
47
- statsContext?.statsClient?.incr('cache.save.error', 1, statsContext?.tags);
48
- return;
49
- }
50
- exports.cache.set(`${subscriptionMetadata.actionConfigId}-${schema.name}`, schema);
51
- statsContext?.statsClient?.incr('cache.save.success', 1, statsContext?.tags);
52
- }
53
- exports.saveSchemaToCache = saveSchemaToCache;
54
- function compareSchemas(schema1, schema2) {
55
- if (schema2 === undefined) {
56
- return { match: 'no_match', missingProperties: {} };
57
- }
58
- if (schema1.name !== schema2.name && schema1.name !== schema2.fullyQualifiedName) {
59
- throw new actions_core_1.PayloadValidationError("Hubspot.CustomEvent.compareSchemas: Schema names don't match");
60
- }
61
- const missingProperties = {};
62
- for (const [key, prop1] of Object.entries(schema1.properties)) {
63
- const prop2 = schema2.properties[key];
64
- if (prop2 === undefined) {
65
- missingProperties[key] = prop1;
66
- continue;
67
- }
68
- if (prop1.stringFormat === prop2.stringFormat && prop1.type === prop2.type) {
69
- continue;
70
- }
71
- else {
72
- throw new actions_core_1.PayloadValidationError("Hubspot.CustomEvent.compareSchemas: Schema property types don't match");
73
- }
74
- }
75
- return {
76
- match: Object.keys(missingProperties).length > 0 ? 'properties_missing' : 'full_match',
77
- missingProperties
78
- };
79
- }
80
- exports.compareSchemas = compareSchemas;
81
- async function getSchemaFromHubspot(client, schema) {
82
- const response = await client.getEventDefinition(schema.name);
83
- switch (response.status) {
84
- case 200: {
85
- const { name, fullyQualifiedName, properties: hsProperties, archived } = response.data;
86
- if (archived) {
87
- return undefined;
88
- }
89
- const cacheableSchema = {
90
- name,
91
- fullyQualifiedName,
92
- primaryObject: '',
93
- properties: (() => {
94
- const props = {};
95
- for (const propName in schema.properties) {
96
- const maybeMatch = hsProperties.find((hsProp) => hsProp.name === propName);
97
- const prop = schema.properties[propName];
98
- if (maybeMatch === undefined) {
99
- continue;
100
- }
101
- if (maybeMatch?.archived === true) {
102
- throw new actions_core_1.PayloadValidationError(`Hubspot.CustomEvent.getSchemaFromHubspot: Property ${propName} is archived`);
103
- }
104
- if (['object', 'string', 'boolean'].includes(prop.type) && maybeMatch.type === 'number') {
105
- throw new actions_core_1.PayloadValidationError(`Hubspot.CustomEvent.getSchemaFromHubspot: Expected type ${prop.type} for property ${propName} - Hubspot returned type ${maybeMatch.type}`);
106
- }
107
- if (prop.type === 'number' && ['datetime', 'string', 'enumeration'].includes(maybeMatch.type)) {
108
- throw new actions_core_1.PayloadValidationError(`Hubspot.CustomEvent.getSchemaFromHubspot: Expected type ${prop.type} for property ${propName} - Hubspot returned type ${maybeMatch.type}`);
109
- }
110
- props[propName] = schema.properties[propName];
111
- }
112
- return props;
113
- })()
114
- };
115
- return cacheableSchema;
116
- }
117
- case 400:
118
- case 404:
119
- return undefined;
120
- case 408:
121
- case 423:
122
- case 429:
123
- case 500:
124
- case 502:
125
- case 503:
126
- case 504:
127
- case 505:
128
- case 506:
129
- case 507:
130
- case 508:
131
- case 509:
132
- case 510:
133
- case 511:
134
- case 598:
135
- case 599:
136
- throw new actions_core_1.RetryableError('Hubspot:CustomEvent:getSchemaFromHubspot: Retryable error', response.status);
137
- default:
138
- throw new actions_core_1.IntegrationError(`Hubspot.CustomEvent.getSchemaFromHubspot: ${response?.statusText ? response.statusText : 'Unexpected Error'}`, 'UNEXPECTED_ERROR', response.status);
139
- }
140
- }
141
- exports.getSchemaFromHubspot = getSchemaFromHubspot;
142
- async function createHubspotEventSchema(client, schema) {
143
- const json = {
144
- label: schema.name,
145
- name: schema.name,
146
- description: `${schema.name} - (created by Segment)`,
147
- primaryObject: schema.primaryObject,
148
- propertyDefinitions: Object.entries(schema.properties).map(([name, { type, stringFormat }]) => {
149
- return propertyBody(schema.name, type, name, stringFormat);
150
- })
151
- };
152
- const response = await client.createEventDefinition(json);
153
- switch (response.status) {
154
- case 201:
155
- case 200: {
156
- return response.data.fullyQualifiedName;
157
- }
158
- case 409: {
159
- if (response.data.message.includes('already exists')) {
160
- throw new actions_core_1.RetryableError('Hubspot:CustomEvent:createHubspotEventSchema: Event schema already exists', 429);
161
- }
162
- else {
163
- throw new actions_core_1.IntegrationError(`Hubspot.CustomEvent.createHubspotEventSchema: ${response?.statusText ? response.statusText : 'Unexpected Error'}`, 'UNEXPECTED_ERROR', response.status);
164
- }
165
- }
166
- case 408:
167
- case 423:
168
- case 429:
169
- case 500:
170
- case 502:
171
- case 503:
172
- case 504:
173
- case 505:
174
- case 506:
175
- case 507:
176
- case 508:
177
- case 509:
178
- case 510:
179
- case 511:
180
- case 598:
181
- case 599:
182
- throw new actions_core_1.RetryableError('Hubspot:CustomEvent:createHubspotEventSchema: Rate limit reached');
183
- default:
184
- throw new actions_core_1.IntegrationError(`Hubspot.CustomEvent.createHubspotEventSchema: ${response?.statusText ? response.statusText : 'Unexpected Error'}`, 'UNEXPECTED_ERROR', response.status);
185
- }
186
- }
187
- exports.createHubspotEventSchema = createHubspotEventSchema;
188
- async function updateHubspotSchema(client, fullyQualifiedName, schemaDiff) {
189
- const requests = [];
190
- Object.keys(schemaDiff.missingProperties).forEach((propName) => {
191
- const { type, stringFormat } = schemaDiff.missingProperties[propName];
192
- const json = propertyBody(fullyQualifiedName, type, propName, stringFormat);
193
- requests.push(client.createPropertyDefinition(json, fullyQualifiedName));
194
- });
195
- const responses = await Promise.allSettled(requests);
196
- for (const response of responses) {
197
- if (response.status === 'fulfilled') {
198
- const { status, statusText, data: { message } } = response.value;
199
- switch (status) {
200
- case 201:
201
- case 200:
202
- return;
203
- case 409: {
204
- if (message.includes('already exists')) {
205
- return;
206
- }
207
- else {
208
- throw new actions_core_1.IntegrationError(`Hubspot.CustomEvent.updateHubspotSchema: ${statusText ? statusText : 'Unexpected Error'}. ${message ? message : ''}`, 'UNEXPECTED_ERROR', status);
209
- }
210
- }
211
- case 408:
212
- case 423:
213
- case 429:
214
- case 500:
215
- case 502:
216
- case 503:
217
- case 504:
218
- case 505:
219
- case 506:
220
- case 507:
221
- case 508:
222
- case 509:
223
- case 510:
224
- case 511:
225
- case 598:
226
- case 599:
227
- throw new actions_core_1.RetryableError('Hubspot:CustomEvent:updateHubspotSchema: Retryable response status received', status);
228
- default: {
229
- throw new actions_core_1.IntegrationError(`Hubspot.CustomEvent.updateHubspotSchema: ${statusText ? statusText : 'Unexpected Error'}. ${message ? message : ''}`, 'UNEXPECTED_ERROR', status);
230
- }
231
- }
232
- }
233
- if (response.status === 'rejected') {
234
- throw new actions_core_1.RetryableError('Hubspot:CustomEvent:updateHubspotSchema: promise.allSettled rejected - retrying', 429);
235
- }
236
- }
237
- }
238
- exports.updateHubspotSchema = updateHubspotSchema;
239
- function propertyBody(eventName, type, name, stringFormat) {
240
- switch (type) {
241
- case 'number':
242
- return {
243
- name: name,
244
- label: name,
245
- type: 'number',
246
- description: `${name} - (created by Segment)`
247
- };
248
- case 'object':
249
- return {
250
- name: name,
251
- label: name,
252
- type: 'string',
253
- description: `${name} - (created by Segment)`
254
- };
255
- case 'boolean':
256
- return {
257
- name: name,
258
- label: name,
259
- type: 'enumeration',
260
- description: `${name} - (created by Segment)`,
261
- options: [
262
- {
263
- label: 'true',
264
- value: true,
265
- hidden: false,
266
- description: 'True',
267
- displayOrder: 1
268
- },
269
- {
270
- label: 'false',
271
- value: false,
272
- hidden: false,
273
- description: 'False',
274
- displayOrder: 2
275
- }
276
- ]
277
- };
278
- case 'string':
279
- switch (stringFormat) {
280
- case 'string':
281
- return {
282
- name: name,
283
- label: name,
284
- type: 'string',
285
- description: `${name} - (created by Segment)`
286
- };
287
- case 'date':
288
- case 'datetime':
289
- return {
290
- name: name,
291
- label: name,
292
- type: 'datetime',
293
- description: `${name} - (created by Segment)`
294
- };
295
- case undefined:
296
- default:
297
- throw new actions_core_1.PayloadValidationError(`Property ${name} in event ${eventName} has an unsupported type: ${type}`);
298
- }
299
- default:
300
- throw new actions_core_1.PayloadValidationError(`Property ${name} in event ${eventName} has an unsupported type: ${type}`);
301
- }
302
- }
303
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/destinations/hubspot/customEvent/utils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Payload } from './generated-types';
2
- export declare function validate(payload: Payload): Payload;
3
- export declare function cleanEventName(str: string): string;
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cleanEventName = exports.validate = void 0;
4
- const actions_core_1 = require("@segment/actions-core");
5
- function validate(payload) {
6
- if (payload.record_details.object_type !== 'contact' && typeof payload.record_details.object_id !== 'number') {
7
- throw new actions_core_1.PayloadValidationError('object_id is required and must be numeric');
8
- }
9
- if (payload.record_details.object_type === 'contact' &&
10
- typeof payload.record_details.object_id !== 'number' &&
11
- !payload.record_details.email &&
12
- !payload.record_details.utk) {
13
- throw new actions_core_1.PayloadValidationError('Contact requires at least one of object_id (as number), email or utk to be provided');
14
- }
15
- cleanIdentifiers(payload);
16
- payload.event_name = cleanEventName(payload.event_name);
17
- payload.properties = cleanPropObj(payload.properties ?? {});
18
- return payload;
19
- }
20
- exports.validate = validate;
21
- function cleanIdentifiers(payload) {
22
- if (payload.record_details.email && payload.record_details.object_type !== 'contact') {
23
- delete payload.record_details.email;
24
- }
25
- if (payload.record_details.utk && payload.record_details.object_type !== 'contact') {
26
- delete payload.record_details.utk;
27
- }
28
- }
29
- function cleanEventName(str) {
30
- return str.toLowerCase().replace(/[^a-z0-9_-]/g, '_');
31
- }
32
- exports.cleanEventName = cleanEventName;
33
- function cleanPropObj(obj) {
34
- const cleanObj = {};
35
- if (obj === undefined) {
36
- return undefined;
37
- }
38
- Object.keys(obj).forEach((key) => {
39
- const value = obj[key];
40
- const cleanKey = cleanProp(key);
41
- if (typeof value === 'boolean' || typeof value === 'number') {
42
- cleanObj[cleanKey] = value;
43
- }
44
- else if (typeof value === 'string' && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {
45
- cleanObj[cleanKey] = value.toLowerCase() === 'true';
46
- }
47
- else if (!isNaN(Number(value))) {
48
- cleanObj[cleanKey] = Number(value);
49
- }
50
- else if (typeof value === 'object' && value !== null) {
51
- cleanObj[cleanKey] = JSON.stringify(value);
52
- }
53
- else {
54
- cleanObj[cleanKey] = String(value);
55
- }
56
- });
57
- return cleanObj;
58
- }
59
- function cleanProp(str) {
60
- str = str.toLowerCase().replace(/[^a-z0-9_]/g, '_');
61
- if (!/^[a-z]/.test(str)) {
62
- throw new actions_core_1.PayloadValidationError(`Property ${str} in event has an invalid name. Property names must start with a letter.`);
63
- }
64
- return str;
65
- }
66
- //# sourceMappingURL=validation-functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation-functions.js","sourceRoot":"","sources":["../../../../src/destinations/hubspot/customEvent/validation-functions.ts"],"names":[],"mappings":";;;AACA,wDAA8D;AAE9D,SAAgB,QAAQ,CAAC,OAAgB;IACvC,IAAI,OAAO,CAAC,cAAc,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,cAAc,CAAC,SAAS,KAAK,QAAQ,EAAE;QAC5G,MAAM,IAAI,qCAAsB,CAAC,2CAA2C,CAAC,CAAA;KAC9E;IAED,IACE,OAAO,CAAC,cAAc,CAAC,WAAW,KAAK,SAAS;QAChD,OAAO,OAAO,CAAC,cAAc,CAAC,SAAS,KAAK,QAAQ;QACpD,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK;QAC7B,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAC3B;QACA,MAAM,IAAI,qCAAsB,CAC9B,qFAAqF,CACtF,CAAA;KACF;IAED,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACzB,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACvD,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IAE3D,OAAO,OAAO,CAAA;AAChB,CAAC;AArBD,4BAqBC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACxC,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,OAAO,CAAC,cAAc,CAAC,WAAW,KAAK,SAAS,EAAE;QACpF,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,CAAA;KACpC;IAED,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC,WAAW,KAAK,SAAS,EAAE;QAClF,OAAO,OAAO,CAAC,cAAc,CAAC,GAAG,CAAA;KAClC;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;AACvD,CAAC;AAFD,wCAEC;AAED,SAAS,YAAY,CACnB,GAAyC;IAEzC,MAAM,QAAQ,GAA+C,EAAE,CAAA;IAE/D,IAAI,GAAG,KAAK,SAAS,EAAE;QACrB,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;QAE/B,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3D,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;SAC3B;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,EAAE;YAE3G,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAA;SACpD;aAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YAEhC,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;SACnC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YAEtD,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;SAC3C;aAAM;YAEL,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;SACnC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;IAEnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACvB,MAAM,IAAI,qCAAsB,CAC9B,YAAY,GAAG,yEAAyE,CACzF,CAAA;KACF;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Payload } from './generated-types';
2
- export declare function validate(payload: Payload): Payload;
3
- export declare function cleanEventName(str: string): string;
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cleanEventName = exports.validate = void 0;
4
- const actions_core_1 = require("@segment/actions-core");
5
- function validate(payload) {
6
- if (payload.record_details.object_type !== 'contact' && typeof payload.record_details.object_id !== 'number') {
7
- throw new actions_core_1.PayloadValidationError('object_id is required and must be numeric');
8
- }
9
- if (payload.record_details.object_type === 'contact' &&
10
- typeof payload.record_details.object_id !== 'number' &&
11
- !payload.record_details.email &&
12
- !payload.record_details.utk) {
13
- throw new actions_core_1.PayloadValidationError('Contact requires at least one of object_id (as number), email or utk to be provided');
14
- }
15
- cleanIdentifiers(payload);
16
- payload.event_name = cleanEventName(payload.event_name);
17
- payload.properties = cleanPropObj(payload.properties ?? {});
18
- return payload;
19
- }
20
- exports.validate = validate;
21
- function cleanIdentifiers(payload) {
22
- if (payload.record_details.email && payload.record_details.object_type !== 'contact') {
23
- delete payload.record_details.email;
24
- }
25
- if (payload.record_details.utk && payload.record_details.object_type !== 'contact') {
26
- delete payload.record_details.utk;
27
- }
28
- }
29
- function cleanEventName(str) {
30
- return str.toLowerCase().replace(/[^a-z0-9_-]/g, '_');
31
- }
32
- exports.cleanEventName = cleanEventName;
33
- function cleanPropObj(obj) {
34
- const cleanObj = {};
35
- if (obj === undefined) {
36
- return undefined;
37
- }
38
- Object.keys(obj).forEach((key) => {
39
- const value = obj[key];
40
- const cleanKey = cleanProp(key);
41
- if (typeof value === 'boolean' || typeof value === 'number') {
42
- cleanObj[cleanKey] = value;
43
- }
44
- else if (typeof value === 'string' && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {
45
- cleanObj[cleanKey] = value.toLowerCase() === 'true';
46
- }
47
- else if (!isNaN(Number(value))) {
48
- cleanObj[cleanKey] = Number(value);
49
- }
50
- else if (typeof value === 'object' && value !== null) {
51
- cleanObj[cleanKey] = JSON.stringify(value);
52
- }
53
- else {
54
- cleanObj[cleanKey] = String(value);
55
- }
56
- });
57
- return cleanObj;
58
- }
59
- function cleanProp(str) {
60
- str = str.toLowerCase().replace(/[^a-z0-9_]/g, '_');
61
- if (!/^[a-z]/.test(str)) {
62
- throw new actions_core_1.PayloadValidationError(`Property ${str} in event has an invalid name. Property names must start with a letter.`);
63
- }
64
- return str;
65
- }
66
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/destinations/hubspot/customEvent/validation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Client } from './client';
2
- import { AssociationPayload, AssociationPayloadWithId, AssociationSyncMode, PayloadWithFromId } from './types';
3
- export declare function createAssociationPayloads(payloads: PayloadWithFromId[]): AssociationPayload[][];
4
- export declare function sendAssociatedRecords(client: Client, payloads: AssociationPayload[][], associationSyncMode: AssociationSyncMode): Promise<AssociationPayloadWithId[]>;
5
- export declare function sendAssociations(client: Client, payloads: AssociationPayloadWithId[]): Promise<void>;