@segment/action-destinations 3.409.0 → 3.411.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 (66) hide show
  1. package/dist/destinations/aampe/constants.d.ts +3 -0
  2. package/dist/destinations/aampe/constants.js +7 -0
  3. package/dist/destinations/aampe/constants.js.map +1 -0
  4. package/dist/destinations/aampe/fields.d.ts +8 -0
  5. package/dist/destinations/aampe/fields.js +71 -0
  6. package/dist/destinations/aampe/fields.js.map +1 -0
  7. package/dist/destinations/aampe/generated-types.d.ts +4 -0
  8. package/dist/destinations/aampe/generated-types.js +3 -0
  9. package/dist/destinations/aampe/generated-types.js.map +1 -0
  10. package/dist/destinations/aampe/index.d.ts +4 -0
  11. package/dist/destinations/aampe/index.js +66 -0
  12. package/dist/destinations/aampe/index.js.map +1 -0
  13. package/dist/destinations/aampe/sendEvent/generated-types.d.ts +10 -0
  14. package/dist/destinations/aampe/sendEvent/generated-types.js +3 -0
  15. package/dist/destinations/aampe/sendEvent/generated-types.js.map +1 -0
  16. package/dist/destinations/aampe/sendEvent/index.d.ts +5 -0
  17. package/dist/destinations/aampe/sendEvent/index.js +33 -0
  18. package/dist/destinations/aampe/sendEvent/index.js.map +1 -0
  19. package/dist/destinations/aampe/types.d.ts +11 -0
  20. package/dist/destinations/aampe/types.js +3 -0
  21. package/dist/destinations/aampe/types.js.map +1 -0
  22. package/dist/destinations/aampe/upsertUserProfile/generated-types.d.ts +12 -0
  23. package/dist/destinations/aampe/upsertUserProfile/generated-types.js +3 -0
  24. package/dist/destinations/aampe/upsertUserProfile/generated-types.js.map +1 -0
  25. package/dist/destinations/aampe/upsertUserProfile/index.d.ts +5 -0
  26. package/dist/destinations/aampe/upsertUserProfile/index.js +40 -0
  27. package/dist/destinations/aampe/upsertUserProfile/index.js.map +1 -0
  28. package/dist/destinations/amazon-amc/syncAudiencesToDSP/index.js +4 -3
  29. package/dist/destinations/amazon-amc/syncAudiencesToDSP/index.js.map +1 -1
  30. package/dist/destinations/amazon-conversions-api/trackConversion/fields.js +81 -45
  31. package/dist/destinations/amazon-conversions-api/trackConversion/fields.js.map +1 -1
  32. package/dist/destinations/amazon-conversions-api/trackConversion/generated-types.d.ts +15 -6
  33. package/dist/destinations/amazon-conversions-api/trackConversion/utils.js +13 -4
  34. package/dist/destinations/amazon-conversions-api/trackConversion/utils.js.map +1 -1
  35. package/dist/destinations/amazon-conversions-api/types.d.ts +0 -3
  36. package/dist/destinations/amazon-conversions-api/types.js.map +1 -1
  37. package/dist/destinations/attentive/customEvents/index.js +1 -1
  38. package/dist/destinations/attentive/customEvents/index.js.map +1 -1
  39. package/dist/destinations/attentive/index.js +2 -2
  40. package/dist/destinations/braze-cohorts/api/index.js +6 -1
  41. package/dist/destinations/braze-cohorts/api/index.js.map +1 -1
  42. package/dist/destinations/braze-cohorts/syncAudiences/index.js +65 -6
  43. package/dist/destinations/braze-cohorts/syncAudiences/index.js.map +1 -1
  44. package/dist/destinations/eagleeye-audiences/triggerBehavioralAction/index.js +2 -2
  45. package/dist/destinations/eagleeye-audiences/triggerBehavioralAction/index.js.map +1 -1
  46. package/dist/destinations/index.js +1 -0
  47. package/dist/destinations/index.js.map +1 -1
  48. package/dist/destinations/singlestore/generated-types.d.ts +2 -2
  49. package/dist/destinations/singlestore/index.js +46 -58
  50. package/dist/destinations/singlestore/index.js.map +1 -1
  51. package/dist/destinations/singlestore/send/generated-types.d.ts +17 -2
  52. package/dist/destinations/singlestore/send/index.js +120 -62
  53. package/dist/destinations/singlestore/send/index.js.map +1 -1
  54. package/dist/destinations/singlestore/send/utils.d.ts +5 -0
  55. package/dist/destinations/singlestore/send/utils.js +64 -0
  56. package/dist/destinations/singlestore/send/utils.js.map +1 -0
  57. package/dist/destinations/singlestore/types.d.ts +23 -37
  58. package/dist/destinations/twilio-messaging/sendMessage/utils.js +20 -14
  59. package/dist/destinations/twilio-messaging/sendMessage/utils.js.map +1 -1
  60. package/package.json +2 -2
  61. package/dist/destinations/singlestore/const.d.ts +0 -5
  62. package/dist/destinations/singlestore/const.js +0 -17
  63. package/dist/destinations/singlestore/const.js.map +0 -1
  64. package/dist/destinations/singlestore/util.d.ts +0 -10
  65. package/dist/destinations/singlestore/util.js +0 -88
  66. package/dist/destinations/singlestore/util.js.map +0 -1
@@ -1,81 +1,139 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const actions_core_1 = require("@segment/actions-core");
4
- const const_1 = require("../const");
5
- const kafkajs_1 = require("kafkajs");
6
- const util_1 = require("../util");
3
+ const utils_1 = require("./utils");
7
4
  const action = {
8
5
  title: 'Send Data',
9
- description: 'Send data to Singlestore.',
6
+ description: 'Send data to SingleStore.',
10
7
  defaultSubscription: 'type = "track" or type = "screen" or type = "identify" or type = "page" or type = "group" or type = "alias"',
11
8
  fields: {
12
- database: {
13
- label: 'Database',
14
- description: 'The name of the SingleStore database to send data to.',
9
+ messageid: {
10
+ label: 'Message ID',
11
+ description: 'A unique identifier for the message.',
15
12
  type: 'string',
16
13
  required: true,
17
- dynamic: true
14
+ default: {
15
+ '@path': '$.messageId'
16
+ }
18
17
  },
19
- message: {
20
- label: 'Message',
21
- description: 'The complete event payload.',
22
- type: 'object',
18
+ timestamp: {
19
+ label: 'Timestamp',
20
+ description: 'The timestamp of the event.',
21
+ type: 'string',
23
22
  required: true,
24
23
  default: {
25
- '@path': '$.'
24
+ '@path': '$.timestamp'
26
25
  }
27
- }
28
- },
29
- dynamicFields: {
30
- database: async (request, { settings }) => {
31
- const destination_id = (0, util_1.destinationId)(settings);
32
- const json = {
33
- destinationIdentifier: destination_id
34
- };
35
- try {
36
- await request(const_1.getDatabaseURL, {
37
- method: 'POST',
38
- headers: {
39
- 'x-security-key': process.env.ACTIONS_SINGLE_STORE_X_SECURITY_KEY
40
- },
41
- json
42
- });
26
+ },
27
+ type: {
28
+ label: 'Type',
29
+ description: 'The type of the event (e.g., "track", "identify", "page", "screen", "group", "alias").',
30
+ type: 'string',
31
+ required: true,
32
+ choices: [
33
+ { label: 'Track', value: 'track' },
34
+ { label: 'Identify', value: 'identify' },
35
+ { label: 'Page', value: 'page' },
36
+ { label: 'Screen', value: 'screen' },
37
+ { label: 'Group', value: 'group' },
38
+ { label: 'Alias', value: 'alias' }
39
+ ],
40
+ default: {
41
+ '@path': '$.type'
42
+ }
43
+ },
44
+ event: {
45
+ label: 'Event',
46
+ description: 'The name of the event. Only required for "track" events.',
47
+ type: 'string',
48
+ required: {
49
+ conditions: [{ fieldKey: 'type', operator: 'is', value: 'track' }]
50
+ },
51
+ default: {
52
+ '@path': '$.event'
53
+ }
54
+ },
55
+ name: {
56
+ label: 'Name',
57
+ description: 'The name of the page or screen.',
58
+ type: 'string',
59
+ default: {
60
+ '@path': '$.name'
43
61
  }
44
- catch (err) {
45
- return {
46
- choices: [],
47
- nextPage: '',
48
- error: {
49
- message: err.response?.data?.error?.message ?? 'Unknown error',
50
- code: err.response?.data?.error?.code ?? 'Unknown error'
51
- }
52
- };
62
+ },
63
+ properties: {
64
+ label: 'Properties',
65
+ description: 'The properties of the track, page or screen event.',
66
+ type: 'object',
67
+ default: {
68
+ '@path': '$.properties'
53
69
  }
54
- return Promise.resolve({
55
- choices: [
56
- {
57
- label: settings.dbName,
58
- value: settings.dbName
59
- }
60
- ]
61
- });
70
+ },
71
+ userId: {
72
+ label: 'User ID',
73
+ description: 'The user ID associated with the event.',
74
+ type: 'string',
75
+ default: {
76
+ '@path': '$.userId'
77
+ }
78
+ },
79
+ anonymousId: {
80
+ label: 'Anonymous ID',
81
+ description: 'The anonymous ID associated with the event.',
82
+ type: 'string',
83
+ default: {
84
+ '@path': '$.anonymousId'
85
+ }
86
+ },
87
+ groupId: {
88
+ label: 'Group ID',
89
+ description: 'The group ID associated with the event.',
90
+ type: 'string',
91
+ default: {
92
+ '@path': '$.groupId'
93
+ }
94
+ },
95
+ traits: {
96
+ label: 'Traits',
97
+ description: 'The traits of the user associated with the event.',
98
+ type: 'object',
99
+ default: {
100
+ '@if': {
101
+ exists: { '@path': '$.context.traits' },
102
+ then: { '@path': '$.context.traits' },
103
+ else: { '@path': '$.traits' }
104
+ }
105
+ }
106
+ },
107
+ context: {
108
+ label: 'Context',
109
+ description: 'The context of the event. Contains user environment information.',
110
+ type: 'object',
111
+ default: {
112
+ '@path': '$.context'
113
+ }
114
+ },
115
+ max_batch_size: {
116
+ label: 'Max Batch Size',
117
+ description: 'The maximum number of rows to include in a batch.',
118
+ type: 'number',
119
+ required: true,
120
+ default: 100,
121
+ minimum: 1,
122
+ maximum: 1000
123
+ },
124
+ enable_batching: {
125
+ type: 'boolean',
126
+ label: 'Enable Batching',
127
+ description: 'Batch events to SingleStore',
128
+ default: true,
129
+ unsafe_hidden: true
62
130
  }
63
131
  },
64
- perform: async (_, { payload, settings }) => {
65
- (0, util_1.checkChamber)();
66
- const { kafkaConfig, kafkaTopic } = (0, util_1.getKafkaConfiguration)(settings);
67
- const producerRecord = (0, util_1.getProducerRecord)(kafkaTopic, payload.message);
68
- try {
69
- const producer = new kafkajs_1.Kafka(kafkaConfig).producer({
70
- createPartitioner: kafkajs_1.Partitioners.DefaultPartitioner
71
- });
72
- await producer.connect();
73
- await producer.send(producerRecord);
74
- await producer.disconnect();
75
- }
76
- catch (error) {
77
- throw new actions_core_1.IntegrationError(`Kafka Connection Error: ${error.message}`, 'KAFKA_CONNECTION_ERROR', 400);
78
- }
132
+ perform: async (request, { payload, settings }) => {
133
+ return await (0, utils_1.send)(request, [payload], settings);
134
+ },
135
+ performBatch: async (request, { payload, settings }) => {
136
+ return await (0, utils_1.send)(request, payload, settings);
79
137
  }
80
138
  };
81
139
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/singlestore/send/index.ts"],"names":[],"mappings":";;AAAA,wDAAgG;AAIhG,oCAAyC;AACzC,qCAA2D;AAC3D,kCAA+F;AAE/F,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,2BAA2B;IACxC,mBAAmB,EACjB,6GAA6G;IAC/G,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,uDAAuD;YACpE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd;QACD,OAAO,EAAE;YACP,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,IAAI;aACd;SACF;KACF;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAiC,EAAE;YACvE,MAAM,cAAc,GAAG,IAAA,oBAAa,EAAC,QAAQ,CAAC,CAAA;YAC9C,MAAM,IAAI,GAAoB;gBAC5B,qBAAqB,EAAE,cAAc;aACtC,CAAA;YACD,IAAI,CAAC;gBACH,MAAM,OAAO,CAAkB,sBAAc,EAAE;oBAC7C,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,mCAA6C;qBAC5E;oBACD,IAAI;iBACL,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE;wBACL,OAAO,EAAG,GAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,eAAe;wBACrF,IAAI,EAAG,GAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,eAAe;qBAChF;iBACF,CAAA;YACH,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,QAAQ,CAAC,MAAM;wBACtB,KAAK,EAAE,QAAQ,CAAC,MAAM;qBACvB;iBACF;aACsB,CAAC,CAAA;QAC5B,CAAC;KACF;IACD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1C,IAAA,mBAAY,GAAE,CAAA;QACd,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAA,4BAAqB,EAAC,QAAQ,CAAC,CAAA;QACnE,MAAM,cAAc,GAAG,IAAA,wBAAiB,EAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAErE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,eAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;gBAC/C,iBAAiB,EAAE,sBAAY,CAAC,kBAAkB;aACnD,CAAC,CAAA;YACF,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAA;YACxB,MAAM,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YACnC,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAA;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,+BAAgB,CACxB,2BAA4B,KAAsB,CAAC,OAAO,EAAE,EAC5D,wBAAwB,EACxB,GAAG,CACJ,CAAA;QACH,CAAC;IACH,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/singlestore/send/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { RequestClient } from '@segment/actions-core';
2
+ import { Payload } from './generated-types';
3
+ import { Settings } from '../generated-types';
4
+ import { ExecJSONResponse } from '../types';
5
+ export declare function send(request: RequestClient, payloads: Payload[], settings: Settings): Promise<ExecJSONResponse>;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.send = send;
7
+ const actions_core_1 = require("@segment/actions-core");
8
+ const btoa_lite_1 = __importDefault(require("btoa-lite"));
9
+ async function send(request, payloads, settings) {
10
+ const { host, port, username, password, dbName, tableName } = settings;
11
+ const url = `https://${host}:${port}/api/v2/exec`;
12
+ const encodedCredentials = (0, btoa_lite_1.default)(`${username}:${password}`);
13
+ const columns = [
14
+ 'messageId',
15
+ 'timestamp',
16
+ 'type',
17
+ 'event',
18
+ 'name',
19
+ 'properties',
20
+ 'userId',
21
+ 'anonymousId',
22
+ 'groupId',
23
+ 'traits',
24
+ 'context'
25
+ ];
26
+ const sqlValuesClause = payloads.map(() => `(${columns.map(() => '?').join(', ')})`).join(', ');
27
+ const sql = `INSERT INTO \`${tableName.replace(/`/g, '``')}\` (${columns.join(', ')}) VALUES ${sqlValuesClause}`;
28
+ function toUTCDateTime(timestamp) {
29
+ return timestamp.replace('T', ' ').replace('Z', '');
30
+ }
31
+ const argsTuples = payloads.map((item) => [
32
+ item.messageid,
33
+ toUTCDateTime(item.timestamp),
34
+ item.type,
35
+ item.event ?? null,
36
+ item.name ?? null,
37
+ item.properties ?? null,
38
+ item.userId ?? null,
39
+ item.anonymousId ?? null,
40
+ item.groupId ?? null,
41
+ item.traits ?? null,
42
+ item.context ?? null
43
+ ]);
44
+ const args = argsTuples.flat();
45
+ const requestData = {
46
+ sql,
47
+ database: dbName,
48
+ args
49
+ };
50
+ const response = await request(url, {
51
+ method: 'POST',
52
+ headers: {
53
+ 'Content-Type': 'application/json',
54
+ Authorization: `Basic ${encodedCredentials}`
55
+ },
56
+ json: requestData,
57
+ throwHttpErrors: false
58
+ });
59
+ if (response.status !== 200 || response.ok === false) {
60
+ throw new actions_core_1.IntegrationError(`Failed to insert data: ${(await response.text()) || 'Unknown error'}`, response.statusText, response.status);
61
+ }
62
+ return response;
63
+ }
64
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/destinations/singlestore/send/utils.ts"],"names":[],"mappings":";;;;;AAMA,oBAqEC;AA3ED,wDAAuE;AAIvE,0DAA4B;AAErB,KAAK,UAAU,IAAI,CAAC,OAAsB,EAAE,QAAmB,EAAE,QAAkB;IACxF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAA;IACtE,MAAM,GAAG,GAAG,WAAW,IAAI,IAAI,IAAI,cAAc,CAAA;IACjD,MAAM,kBAAkB,GAAG,IAAA,mBAAI,EAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAA;IAE1D,MAAM,OAAO,GAAG;QACd,WAAW;QACX,WAAW;QACX,MAAM;QACN,OAAO;QACP,MAAM;QACN,YAAY;QACZ,QAAQ;QACR,aAAa;QACb,SAAS;QACT,QAAQ;QACR,SAAS;KACV,CAAA;IAED,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE/F,MAAM,GAAG,GAAG,iBAAiB,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,eAAe,EAAE,CAAA;IAEhH,SAAS,aAAa,CAAC,SAAiB;QACtC,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,UAAU,GAAoB,QAAQ,CAAC,GAAG,CAC9C,CAAC,IAAI,EAAiB,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS;QACd,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,IAAI;QACT,IAAI,CAAC,KAAK,IAAI,IAAI;QAClB,IAAI,CAAC,IAAI,IAAI,IAAI;QACjB,IAAI,CAAC,UAAU,IAAI,IAAI;QACvB,IAAI,CAAC,MAAM,IAAI,IAAI;QACnB,IAAI,CAAC,WAAW,IAAI,IAAI;QACxB,IAAI,CAAC,OAAO,IAAI,IAAI;QACpB,IAAI,CAAC,MAAM,IAAI,IAAI;QACnB,IAAI,CAAC,OAAO,IAAI,IAAI;KACrB,CACF,CAAA;IAED,MAAM,IAAI,GAAkB,UAAU,CAAC,IAAI,EAAE,CAAA;IAE7C,MAAM,WAAW,GAAoB;QACnC,GAAG;QACH,QAAQ,EAAE,MAAM;QAChB,IAAI;KACL,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAmB,GAAG,EAAE;QACpD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,SAAS,kBAAkB,EAAE;SAC7C;QACD,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,KAAK;KACvB,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QACrD,MAAM,IAAI,+BAAgB,CACxB,0BAA0B,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,eAAe,EAAE,EACtE,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,MAAM,CAChB,CAAA;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -1,37 +1,23 @@
1
- export interface SingleStoreCreateJSON {
2
- host: string;
3
- port: number;
4
- username: string;
5
- password: string;
6
- dbName: string;
7
- destinationIdentifier: string;
8
- noRollbackOnFailure: boolean;
9
- kafkaUsername: string;
10
- kafkaPassword: string;
11
- kafkaTopic: string;
12
- }
13
- export interface SingleStoreMessage {
14
- type: string;
15
- event: string;
16
- timestamp: string;
17
- messageId: string;
18
- message: string;
19
- }
20
- export interface GetDatabaseJSON {
21
- destinationIdentifier: string;
22
- }
23
- export interface GetDatabaseResponse {
24
- kafkaUserName: string;
25
- kafkaPassword: string;
26
- kafkaTopic: string;
27
- }
28
- export interface MaybeTimeoutError {
29
- response: {
30
- data: {
31
- error: {
32
- message: string;
33
- code: string;
34
- };
35
- };
36
- };
37
- }
1
+ export type ExecJSONRequest = {
2
+ sql: string;
3
+ database: string;
4
+ args?: FlattenedArgs;
5
+ };
6
+ export type ExecJSONResponse = {
7
+ ok?: boolean;
8
+ error?: string;
9
+ };
10
+ export type FlatArgsTuple = [
11
+ string,
12
+ string,
13
+ string,
14
+ string | null,
15
+ string | null,
16
+ Record<string, unknown> | null,
17
+ string | null,
18
+ string | null,
19
+ string | null,
20
+ Record<string, unknown> | null,
21
+ Record<string, unknown> | null
22
+ ];
23
+ export type FlattenedArgs = FlatArgsTuple[number][];
@@ -7,7 +7,7 @@ const actions_core_1 = require("@segment/actions-core");
7
7
  const constants_1 = require("./constants");
8
8
  async function send(request, payload, settings) {
9
9
  let { toPhoneNumber, fromPhoneNumber, messagingServiceSid, contentSid } = payload;
10
- const { channel, senderType, contentVariables, validityPeriod, sendAt, inlineMediaUrls, inlineBody } = payload;
10
+ const { channel, senderType, contentVariables, validityPeriod, sendAt, inlineMediaUrls, inlineBody, contentTemplateType } = payload;
11
11
  const getTo = () => {
12
12
  switch (channel) {
13
13
  case 'SMS':
@@ -57,24 +57,30 @@ async function send(request, payload, settings) {
57
57
  throw new actions_core_1.PayloadValidationError('Unsupported Sender Type');
58
58
  };
59
59
  const getContent = () => {
60
- contentSid = parseFieldValue(contentSid);
61
- if (contentSid) {
62
- if (!constants_1.CONTENT_SID_REGEX.test(contentSid)) {
63
- throw new actions_core_1.PayloadValidationError("Content SID should start with 'HX' followed by 32 hexadecimal characters.");
64
- }
65
- const contentTemplate = {
66
- ContentSid: contentSid
60
+ if (contentTemplateType === constants_1.ALL_CONTENT_TYPES.INLINE.friendly_name) {
61
+ return {
62
+ Body: inlineBody || ''
67
63
  };
68
- if (Object.keys(contentVariables ?? {}).length > 0) {
69
- contentTemplate.ContentVariables = JSON.stringify(contentVariables);
70
- }
71
- return contentTemplate;
72
64
  }
73
- return {
74
- Body: inlineBody || ''
65
+ contentSid = parseFieldValue(contentSid);
66
+ if (!contentSid) {
67
+ throw new actions_core_1.PayloadValidationError("'Content Template SID' field value is required when sending a content template message.");
68
+ }
69
+ if (!constants_1.CONTENT_SID_REGEX.test(contentSid)) {
70
+ throw new actions_core_1.PayloadValidationError("'Content Template SID' field value should start with 'HX' followed by 32 hexadecimal characters.");
71
+ }
72
+ const contentTemplate = {
73
+ ContentSid: contentSid
75
74
  };
75
+ if (Object.keys(contentVariables ?? {}).length > 0) {
76
+ contentTemplate.ContentVariables = JSON.stringify(contentVariables);
77
+ }
78
+ return contentTemplate;
76
79
  };
77
80
  const getInlineMediaUrls = () => {
81
+ if (contentTemplateType !== constants_1.ALL_CONTENT_TYPES.INLINE.friendly_name) {
82
+ return {};
83
+ }
78
84
  if (!inlineMediaUrls || inlineMediaUrls.length === 0) {
79
85
  return {};
80
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/destinations/twilio-messaging/sendMessage/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/destinations/twilio-messaging/sendMessage/utils.ts"],"names":[],"mappings":"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"}
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.409.0",
4
+ "version": "3.411.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -90,5 +90,5 @@
90
90
  "__tests__/__helpers__/"
91
91
  ]
92
92
  },
93
- "gitHead": "9366cbcd03e6f3cd9cb58085d17169367c0dfc4e"
93
+ "gitHead": "819fa9f73654004583ac965c0264ee3a3f818b93"
94
94
  }
@@ -1,5 +0,0 @@
1
- export declare const createUrl = "https://xl8i974eyd.execute-api.us-east-1.amazonaws.com/prod/?action=create";
2
- export declare const getDatabaseURL = "https://xl8i974eyd.execute-api.us-east-1.amazonaws.com/prod/?action=get";
3
- export declare const CLIENT_ID = "singlestore_segment_destination";
4
- export declare const STAGE_BROKERS: string[];
5
- export declare const PROD_BROKERS: string[];
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PROD_BROKERS = exports.STAGE_BROKERS = exports.CLIENT_ID = exports.getDatabaseURL = exports.createUrl = void 0;
4
- exports.createUrl = 'https://xl8i974eyd.execute-api.us-east-1.amazonaws.com/prod/?action=create';
5
- exports.getDatabaseURL = 'https://xl8i974eyd.execute-api.us-east-1.amazonaws.com/prod/?action=get';
6
- exports.CLIENT_ID = 'singlestore_segment_destination';
7
- exports.STAGE_BROKERS = [
8
- 'b-3-public.singlestoretestcluste.rj6efu.c20.kafka.us-east-1.amazonaws.com:9196',
9
- 'b-2-public.singlestoretestcluste.rj6efu.c20.kafka.us-east-1.amazonaws.com:9196',
10
- 'b-1-public.singlestoretestcluste.rj6efu.c20.kafka.us-east-1.amazonaws.com:9196'
11
- ];
12
- exports.PROD_BROKERS = [
13
- 'b-3-public.singlestoretestcluste.rj6efu.c20.kafka.us-east-1.amazonaws.com:9196',
14
- 'b-2-public.singlestoretestcluste.rj6efu.c20.kafka.us-east-1.amazonaws.com:9196',
15
- 'b-1-public.singlestoretestcluste.rj6efu.c20.kafka.us-east-1.amazonaws.com:9196'
16
- ];
17
- //# sourceMappingURL=const.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../src/destinations/singlestore/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,4EAA4E,CAAA;AAExF,QAAA,cAAc,GAAG,yEAAyE,CAAA;AAE1F,QAAA,SAAS,GAAG,iCAAiC,CAAA;AAE7C,QAAA,aAAa,GAAG;IAC3B,gFAAgF;IAChF,gFAAgF;IAChF,gFAAgF;CACjF,CAAA;AAEY,QAAA,YAAY,GAAG;IAC1B,gFAAgF;IAChF,gFAAgF;IAChF,gFAAgF;CACjF,CAAA"}
@@ -1,10 +0,0 @@
1
- import { Settings } from './generated-types';
2
- import { KafkaConfig, ProducerRecord } from 'kafkajs';
3
- export declare const checkChamber: () => void;
4
- export declare const encryptText: (inputData: string) => string;
5
- export declare const destinationId: (settings: Settings) => string;
6
- export declare const getKafkaConfiguration: (settings: Settings) => {
7
- kafkaConfig: KafkaConfig;
8
- kafkaTopic: string;
9
- };
10
- export declare const getProducerRecord: (kafkaTopic: string, message: unknown) => ProducerRecord;
@@ -1,88 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.getProducerRecord = exports.getKafkaConfiguration = exports.destinationId = exports.encryptText = exports.checkChamber = void 0;
27
- const crypto = __importStar(require("crypto"));
28
- const const_1 = require("./const");
29
- const actions_core_1 = require("@segment/actions-core");
30
- const crypto_1 = require("crypto");
31
- const checkChamber = () => {
32
- if (!process.env.ACTIONS_SINGLE_STORE_ENCRYPTION_KEY) {
33
- throw new actions_core_1.IntegrationError('Missing SingleStore ENCRYPTION_KEY', 'MISSING_REQUIRED_FIELD', 400);
34
- }
35
- if (!process.env.ACTIONS_SINGLE_STORE_X_SECURITY_KEY) {
36
- throw new actions_core_1.IntegrationError('Missing SingleStore X_SECURITY_KEY', 'MISSING_REQUIRED_FIELD', 400);
37
- }
38
- if (!process.env.ACTIONS_SINGLE_STORE_IV) {
39
- throw new actions_core_1.IntegrationError('Missing SingleStore IV', 'MISSING_REQUIRED_FIELD', 400);
40
- }
41
- };
42
- exports.checkChamber = checkChamber;
43
- const encryptText = (inputData) => {
44
- const keyBuffer = Buffer.from(process.env.ACTIONS_SINGLE_STORE_ENCRYPTION_KEY, 'hex');
45
- const ivBuffer = Buffer.from(process.env.ACTIONS_SINGLE_STORE_IV, 'hex');
46
- const cipher = crypto.createCipheriv('aes-256-cbc', keyBuffer, ivBuffer);
47
- let encryptedData = cipher.update(inputData, 'utf8', 'hex');
48
- encryptedData += cipher.final('hex');
49
- return encryptedData;
50
- };
51
- exports.encryptText = encryptText;
52
- const databaseUri = (settings) => {
53
- return `${settings.username}@${settings.host}:${settings.port}/${settings.dbName}`;
54
- };
55
- const destinationId = (settings) => {
56
- return (0, crypto_1.createHash)('sha256').update(databaseUri(settings)).digest('hex');
57
- };
58
- exports.destinationId = destinationId;
59
- const getKafkaConfiguration = (settings) => {
60
- const destination_id = (0, exports.destinationId)(settings);
61
- const kafkaTopic = (0, crypto_1.createHash)('sha256').update(destination_id).digest('hex');
62
- const kafkaUsername = (0, crypto_1.createHash)('sha256').update(`${destination_id}_user`).digest('hex');
63
- const kafkaPassword = (0, exports.encryptText)(kafkaUsername);
64
- const kafkaConfig = {
65
- clientId: const_1.CLIENT_ID,
66
- brokers: settings.environment === 'Prod' ? const_1.PROD_BROKERS : const_1.STAGE_BROKERS,
67
- sasl: {
68
- username: kafkaUsername,
69
- password: kafkaPassword,
70
- mechanism: 'scram-sha-512'
71
- },
72
- ssl: true
73
- };
74
- return { kafkaConfig, kafkaTopic };
75
- };
76
- exports.getKafkaConfiguration = getKafkaConfiguration;
77
- const getProducerRecord = (kafkaTopic, message) => {
78
- return {
79
- topic: kafkaTopic,
80
- messages: [
81
- {
82
- value: JSON.stringify(message)
83
- }
84
- ]
85
- };
86
- };
87
- exports.getProducerRecord = getProducerRecord;
88
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/destinations/singlestore/util.ts"],"names":[],"mappings":"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"}