@activepieces/piece-elastic-email 0.2.2 → 0.2.3

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 (61) hide show
  1. package/package.json +7 -13
  2. package/src/index.js +20 -51
  3. package/src/index.d.ts +0 -2
  4. package/src/index.d.ts.map +0 -1
  5. package/src/index.js.map +0 -1
  6. package/src/lib/actions/add-contact.d.ts +0 -12
  7. package/src/lib/actions/add-contact.d.ts.map +0 -1
  8. package/src/lib/actions/add-contact.js +0 -100
  9. package/src/lib/actions/add-contact.js.map +0 -1
  10. package/src/lib/actions/create-campaign.d.ts +0 -11
  11. package/src/lib/actions/create-campaign.d.ts.map +0 -1
  12. package/src/lib/actions/create-campaign.js +0 -84
  13. package/src/lib/actions/create-campaign.js.map +0 -1
  14. package/src/lib/actions/create-contact.d.ts +0 -8
  15. package/src/lib/actions/create-contact.d.ts.map +0 -1
  16. package/src/lib/actions/create-contact.js +0 -68
  17. package/src/lib/actions/create-contact.js.map +0 -1
  18. package/src/lib/actions/create-segment.d.ts +0 -5
  19. package/src/lib/actions/create-segment.d.ts.map +0 -1
  20. package/src/lib/actions/create-segment.js +0 -44
  21. package/src/lib/actions/create-segment.js.map +0 -1
  22. package/src/lib/actions/list-campaigns.d.ts +0 -6
  23. package/src/lib/actions/list-campaigns.d.ts.map +0 -1
  24. package/src/lib/actions/list-campaigns.js +0 -60
  25. package/src/lib/actions/list-campaigns.js.map +0 -1
  26. package/src/lib/actions/list-contacts.d.ts +0 -5
  27. package/src/lib/actions/list-contacts.d.ts.map +0 -1
  28. package/src/lib/actions/list-contacts.js +0 -52
  29. package/src/lib/actions/list-contacts.js.map +0 -1
  30. package/src/lib/actions/send-email.d.ts +0 -17
  31. package/src/lib/actions/send-email.d.ts.map +0 -1
  32. package/src/lib/actions/send-email.js +0 -133
  33. package/src/lib/actions/send-email.js.map +0 -1
  34. package/src/lib/actions/unsubscribe-contact.d.ts +0 -4
  35. package/src/lib/actions/unsubscribe-contact.d.ts.map +0 -1
  36. package/src/lib/actions/unsubscribe-contact.js +0 -39
  37. package/src/lib/actions/unsubscribe-contact.js.map +0 -1
  38. package/src/lib/actions/update-campaign.d.ts +0 -12
  39. package/src/lib/actions/update-campaign.d.ts.map +0 -1
  40. package/src/lib/actions/update-campaign.js +0 -94
  41. package/src/lib/actions/update-campaign.js.map +0 -1
  42. package/src/lib/actions/update-contact.d.ts +0 -7
  43. package/src/lib/actions/update-contact.d.ts.map +0 -1
  44. package/src/lib/actions/update-contact.js +0 -52
  45. package/src/lib/actions/update-contact.js.map +0 -1
  46. package/src/lib/auth.d.ts +0 -2
  47. package/src/lib/auth.d.ts.map +0 -1
  48. package/src/lib/auth.js +0 -59
  49. package/src/lib/auth.js.map +0 -1
  50. package/src/lib/common/client.d.ts +0 -9
  51. package/src/lib/common/client.d.ts.map +0 -1
  52. package/src/lib/common/client.js +0 -19
  53. package/src/lib/common/client.js.map +0 -1
  54. package/src/lib/common/constants.d.ts +0 -8
  55. package/src/lib/common/constants.d.ts.map +0 -1
  56. package/src/lib/common/constants.js +0 -47
  57. package/src/lib/common/constants.js.map +0 -1
  58. package/src/lib/common/props.d.ts +0 -6
  59. package/src/lib/common/props.d.ts.map +0 -1
  60. package/src/lib/common/props.js +0 -165
  61. package/src/lib/common/props.js.map +0 -1
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateCampaignAction = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_common_1 = require("@activepieces/pieces-common");
6
- const pieces_framework_1 = require("@activepieces/pieces-framework");
7
- const auth_1 = require("../auth");
8
- const client_1 = require("../common/client");
9
- const constants_1 = require("../common/constants");
10
- const props_1 = require("../common/props");
11
- exports.updateCampaignAction = (0, pieces_framework_1.createAction)({
12
- name: 'update_campaign',
13
- displayName: 'Update Campaign',
14
- description: 'Update an existing campaign in Elastic Email.',
15
- audience: 'both',
16
- aiMetadata: {
17
- description: 'Updates an existing campaign in Elastic Email, identified by its name, merging any provided fields (name, sender, recipients, subject, template, status) with the campaign\'s current values so omitted fields are preserved. Use to revise a campaign before it sends. Idempotent: applying the same values yields the same campaign state.',
18
- idempotent: true,
19
- },
20
- auth: auth_1.elasticEmailAuth,
21
- props: {
22
- campaign: props_1.campaignNameProp,
23
- name: pieces_framework_1.Property.ShortText({
24
- displayName: 'New Campaign Name',
25
- description: 'New name for the campaign. Leave empty to keep existing.',
26
- required: false,
27
- }),
28
- from: pieces_framework_1.Property.ShortText({
29
- displayName: 'From',
30
- description: 'Sender email with optional name. Leave empty to keep existing.',
31
- required: false,
32
- }),
33
- recipientListNames: props_1.listNamesProp,
34
- recipientSegmentNames: props_1.segmentNamesProp,
35
- replyTo: pieces_framework_1.Property.ShortText({
36
- displayName: 'Reply To',
37
- description: 'Reply-to email address. Leave empty to keep existing.',
38
- required: false,
39
- }),
40
- subject: pieces_framework_1.Property.ShortText({
41
- displayName: 'Subject',
42
- description: 'Email subject. Leave empty to keep existing.',
43
- required: false,
44
- }),
45
- templateName: props_1.templateNameProp,
46
- status: pieces_framework_1.Property.StaticDropdown({
47
- displayName: 'Status',
48
- description: 'Campaign status. Leave empty to keep existing.',
49
- required: false,
50
- options: {
51
- options: constants_1.CAMPAIGN_STATUS_OPTIONS.map((s) => ({ label: s, value: s })),
52
- },
53
- }),
54
- },
55
- run(_a) {
56
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue }) {
57
- var _b, _c, _d, _e, _f, _g;
58
- const campaignName = String(propsValue.campaign);
59
- // Fetch current campaign to merge unchanged fields
60
- const current = yield (0, client_1.elasticEmailRequest)({
61
- apiKey: auth.secret_text,
62
- method: pieces_common_1.HttpMethod.GET,
63
- path: `/campaigns/${encodeURIComponent(campaignName)}`,
64
- });
65
- const currentContent = (_c = (_b = current.Content) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : {};
66
- return (0, client_1.elasticEmailRequest)({
67
- apiKey: auth.secret_text,
68
- method: pieces_common_1.HttpMethod.PUT,
69
- path: `/campaigns/${encodeURIComponent(campaignName)}`,
70
- body: {
71
- Name: propsValue.name || current.Name,
72
- Recipients: {
73
- ListNames: propsValue.recipientListNames && propsValue.recipientListNames.length > 0
74
- ? propsValue.recipientListNames
75
- : ((_e = (_d = current.Recipients) === null || _d === void 0 ? void 0 : _d.ListNames) !== null && _e !== void 0 ? _e : undefined),
76
- SegmentNames: propsValue.recipientSegmentNames && propsValue.recipientSegmentNames.length > 0
77
- ? propsValue.recipientSegmentNames
78
- : ((_g = (_f = current.Recipients) === null || _f === void 0 ? void 0 : _f.SegmentNames) !== null && _g !== void 0 ? _g : undefined),
79
- },
80
- Content: [
81
- {
82
- From: propsValue.from || currentContent.From,
83
- ReplyTo: propsValue.replyTo || currentContent.ReplyTo,
84
- Subject: propsValue.subject || currentContent.Subject,
85
- TemplateName: propsValue.templateName || currentContent.TemplateName,
86
- },
87
- ],
88
- Status: propsValue.status || current.Status,
89
- },
90
- });
91
- });
92
- },
93
- });
94
- //# sourceMappingURL=update-campaign.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-campaign.js","sourceRoot":"","sources":["../../../../src/lib/actions/update-campaign.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export declare const updateContactAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
- contact: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
3
- firstName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
4
- lastName: import("@activepieces/pieces-framework").ShortTextProperty<false>;
5
- customFields: import("@activepieces/pieces-framework").ObjectProperty<false>;
6
- }>;
7
- //# sourceMappingURL=update-contact.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-contact.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/update-contact.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB;;;;;EAwC9B,CAAC"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateContactAction = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_common_1 = require("@activepieces/pieces-common");
6
- const pieces_framework_1 = require("@activepieces/pieces-framework");
7
- const auth_1 = require("../auth");
8
- const client_1 = require("../common/client");
9
- const props_1 = require("../common/props");
10
- exports.updateContactAction = (0, pieces_framework_1.createAction)({
11
- name: 'update_contact',
12
- displayName: 'Update Contact',
13
- description: 'Update an existing contact in Elastic Email.',
14
- audience: 'both',
15
- aiMetadata: {
16
- description: 'Updates an existing contact in Elastic Email, identified by email address, setting first name, last name, and/or custom fields. Use to edit contact details after creation. Idempotent: applying the same values yields the same contact state.',
17
- idempotent: true,
18
- },
19
- auth: auth_1.elasticEmailAuth,
20
- props: {
21
- contact: props_1.contactEmailProp,
22
- firstName: pieces_framework_1.Property.ShortText({
23
- displayName: 'First Name',
24
- required: false,
25
- }),
26
- lastName: pieces_framework_1.Property.ShortText({
27
- displayName: 'Last Name',
28
- required: false,
29
- }),
30
- customFields: pieces_framework_1.Property.Object({
31
- displayName: 'Custom Fields',
32
- description: 'Key-value pairs of custom contact fields. Only existing custom fields will be saved.',
33
- required: false,
34
- }),
35
- },
36
- run(_a) {
37
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue }) {
38
- var _b, _c, _d;
39
- return (0, client_1.elasticEmailRequest)({
40
- apiKey: auth.secret_text,
41
- method: pieces_common_1.HttpMethod.PUT,
42
- path: `/contacts/${encodeURIComponent(String(propsValue.contact))}`,
43
- body: {
44
- FirstName: (_b = propsValue.firstName) !== null && _b !== void 0 ? _b : undefined,
45
- LastName: (_c = propsValue.lastName) !== null && _c !== void 0 ? _c : undefined,
46
- CustomFields: (_d = propsValue.customFields) !== null && _d !== void 0 ? _d : undefined,
47
- },
48
- });
49
- });
50
- },
51
- });
52
- //# sourceMappingURL=update-contact.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-contact.js","sourceRoot":"","sources":["../../../../src/lib/actions/update-contact.ts"],"names":[],"mappings":";;;;AAAA,+DAAyD;AACzD,qEAAwE;AAExE,kCAA2C;AAC3C,6CAAuD;AACvD,2CAAmD;AAEtC,QAAA,mBAAmB,GAAG,IAAA,+BAAY,EAAC;IAC9C,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,8CAA8C;IAC3D,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE;QACV,WAAW,EACT,iPAAiP;QACnP,UAAU,EAAE,IAAI;KACjB;IACD,IAAI,EAAE,uBAAgB;IACtB,KAAK,EAAE;QACL,OAAO,EAAE,wBAAgB;QACzB,SAAS,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC5B,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC3B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,eAAe;YAC5B,WAAW,EACT,sFAAsF;YACxF,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG;qEAAC,EAAE,IAAI,EAAE,UAAU,EAAE;;YAC5B,OAAO,IAAA,4BAAmB,EAAC;gBACzB,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,IAAI,EAAE,aAAa,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE;gBACnE,IAAI,EAAE;oBACJ,SAAS,EAAE,MAAA,UAAU,CAAC,SAAS,mCAAI,SAAS;oBAC5C,QAAQ,EAAE,MAAA,UAAU,CAAC,QAAQ,mCAAI,SAAS;oBAC1C,YAAY,EAAE,MAAA,UAAU,CAAC,YAAY,mCAAI,SAAS;iBACnD;aACF,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAC,CAAC"}
package/src/lib/auth.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare const elasticEmailAuth: import("@activepieces/pieces-framework").SecretTextProperty<true>;
2
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/lib/auth.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,mEAqD3B,CAAC"}
package/src/lib/auth.js DELETED
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.elasticEmailAuth = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const pieces_common_1 = require("@activepieces/pieces-common");
7
- const constants_1 = require("./common/constants");
8
- exports.elasticEmailAuth = pieces_framework_1.PieceAuth.SecretText({
9
- displayName: 'API Key',
10
- description: `
11
- To obtain your Elastic Email API key:
12
- 1. Log in to your Elastic Email account
13
- 2. Navigate to **Settings → Manage API Keys**
14
- 3. Click **Create API Key**
15
- 4. Ensure the key has the required permissions (Contacts, Campaigns, Emails, Segments)
16
- 5. Copy the key and paste it here
17
- `,
18
- required: true,
19
- validate: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
20
- try {
21
- const response = yield pieces_common_1.httpClient.sendRequest({
22
- method: pieces_common_1.HttpMethod.GET,
23
- url: `${constants_1.ELASTIC_EMAIL_API_BASE}/contacts`,
24
- headers: {
25
- 'X-ElasticEmail-ApiKey': auth,
26
- },
27
- queryParams: { limit: '1' },
28
- });
29
- if (response.status === 200) {
30
- return { valid: true };
31
- }
32
- return {
33
- valid: false,
34
- error: 'Invalid API key — could not authenticate with Elastic Email.',
35
- };
36
- }
37
- catch (error) {
38
- const statusCode = error != null &&
39
- typeof error === 'object' &&
40
- 'response' in error &&
41
- error.response != null &&
42
- typeof error.response === 'object' &&
43
- 'status' in error.response
44
- ? error.response.status
45
- : undefined;
46
- if (statusCode === 401 || statusCode === 403) {
47
- return {
48
- valid: false,
49
- error: 'Invalid API key — could not authenticate with Elastic Email.',
50
- };
51
- }
52
- return {
53
- valid: false,
54
- error: 'Could not reach the Elastic Email API. Check your network connection and try again.',
55
- };
56
- }
57
- }),
58
- });
59
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/auth.ts"],"names":[],"mappings":";;;;AAAA,qEAA2D;AAC3D,+DAAqE;AAErE,kDAA4D;AAE/C,QAAA,gBAAgB,GAAG,4BAAS,CAAC,UAAU,CAAC;IACnD,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE;;;;;;;GAOZ;IACD,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,kCAAsB,WAAW;gBACzC,OAAO,EAAE;oBACP,uBAAuB,EAAE,IAAI;iBAC9B;gBACD,WAAW,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;aAC5B,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACzB,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,8DAA8D;aACtE,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,UAAU,GACd,KAAK,IAAI,IAAI;gBACb,OAAO,KAAK,KAAK,QAAQ;gBACzB,UAAU,IAAI,KAAK;gBACnB,KAAK,CAAC,QAAQ,IAAI,IAAI;gBACtB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;gBAClC,QAAQ,IAAI,KAAK,CAAC,QAAQ;gBACxB,CAAC,CAAE,KAAK,CAAC,QAA+B,CAAC,MAAM;gBAC/C,CAAC,CAAC,SAAS,CAAC;YAEhB,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC7C,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,8DAA8D;iBACtE,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EACH,qFAAqF;aACxF,CAAC;QACJ,CAAC;IACH,CAAC,CAAA;CACF,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import { HttpMethod, QueryParams } from '@activepieces/pieces-common';
2
- export declare function elasticEmailRequest<T = unknown>({ apiKey, method, path, queryParams, body, }: {
3
- apiKey: string;
4
- method: HttpMethod;
5
- path: string;
6
- queryParams?: QueryParams;
7
- body?: unknown;
8
- }): Promise<T>;
9
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EAEZ,MAAM,6BAA6B,CAAC;AAIrC,wBAAsB,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAAE,EACrD,MAAM,EACN,MAAM,EACN,IAAI,EACJ,WAAW,EACX,IAAI,GACL,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,CAAC,CAAC,CAYb"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.elasticEmailRequest = elasticEmailRequest;
4
- const tslib_1 = require("tslib");
5
- const pieces_common_1 = require("@activepieces/pieces-common");
6
- const constants_1 = require("./constants");
7
- function elasticEmailRequest(_a) {
8
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ apiKey, method, path, queryParams, body, }) {
9
- const response = yield pieces_common_1.httpClient.sendRequest({
10
- method,
11
- url: `${constants_1.ELASTIC_EMAIL_API_BASE}${path}`,
12
- headers: Object.assign({ 'X-ElasticEmail-ApiKey': apiKey }, (body ? { 'Content-Type': 'application/json' } : {})),
13
- queryParams,
14
- body,
15
- });
16
- return response.body;
17
- });
18
- }
19
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/lib/common/client.ts"],"names":[],"mappings":";;AAQA,kDAwBC;;AAhCD,+DAIqC;AAErC,2CAAqD;AAErD,SAAsB,mBAAmB;iEAAc,EACrD,MAAM,EACN,MAAM,EACN,IAAI,EACJ,WAAW,EACX,IAAI,GAOL;QACC,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAI;YAC/C,MAAM;YACN,GAAG,EAAE,GAAG,kCAAsB,GAAG,IAAI,EAAE;YACvC,OAAO,kBACL,uBAAuB,EAAE,MAAM,IAC5B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACxD;YACD,WAAW;YACX,IAAI;SACL,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CAAA"}
@@ -1,8 +0,0 @@
1
- export declare const ELASTIC_EMAIL_API_BASE = "https://api.elasticemail.com/v4";
2
- export declare const CONTACT_STATUS_OPTIONS: readonly ["Transactional", "Engaged", "Active", "Bounced", "Unsubscribed", "Abuse", "Inactive", "Stale", "NotConfirmed"];
3
- export declare const CAMPAIGN_STATUS_OPTIONS: readonly ["Deleted", "Active", "Processing", "Sending", "Completed", "Paused", "Cancelled", "Draft"];
4
- export declare const BODY_CONTENT_TYPE_OPTIONS: readonly ["HTML", "PlainText", "AMP", "CSS"];
5
- export declare const ENCODING_OPTIONS: readonly ["UserProvided", "None", "Raw7bit", "Raw8bit", "QuotedPrintable", "Base64", "Uue"];
6
- export declare const CONSENT_TRACKING_OPTIONS: readonly ["Unknown", "Allow", "Deny"];
7
- export declare const DEFAULT_LIMIT = 100;
8
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,oCAAoC,CAAC;AAExE,eAAO,MAAM,sBAAsB,0HAUzB,CAAC;AAEX,eAAO,MAAM,uBAAuB,sGAS1B,CAAC;AAEX,eAAO,MAAM,yBAAyB,8CAK5B,CAAC;AAEX,eAAO,MAAM,gBAAgB,6FAQnB,CAAC;AAEX,eAAO,MAAM,wBAAwB,uCAI3B,CAAC;AAEX,eAAO,MAAM,aAAa,MAAM,CAAC"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_LIMIT = exports.CONSENT_TRACKING_OPTIONS = exports.ENCODING_OPTIONS = exports.BODY_CONTENT_TYPE_OPTIONS = exports.CAMPAIGN_STATUS_OPTIONS = exports.CONTACT_STATUS_OPTIONS = exports.ELASTIC_EMAIL_API_BASE = void 0;
4
- exports.ELASTIC_EMAIL_API_BASE = 'https://api.elasticemail.com/v4';
5
- exports.CONTACT_STATUS_OPTIONS = [
6
- 'Transactional',
7
- 'Engaged',
8
- 'Active',
9
- 'Bounced',
10
- 'Unsubscribed',
11
- 'Abuse',
12
- 'Inactive',
13
- 'Stale',
14
- 'NotConfirmed',
15
- ];
16
- exports.CAMPAIGN_STATUS_OPTIONS = [
17
- 'Deleted',
18
- 'Active',
19
- 'Processing',
20
- 'Sending',
21
- 'Completed',
22
- 'Paused',
23
- 'Cancelled',
24
- 'Draft',
25
- ];
26
- exports.BODY_CONTENT_TYPE_OPTIONS = [
27
- 'HTML',
28
- 'PlainText',
29
- 'AMP',
30
- 'CSS',
31
- ];
32
- exports.ENCODING_OPTIONS = [
33
- 'UserProvided',
34
- 'None',
35
- 'Raw7bit',
36
- 'Raw8bit',
37
- 'QuotedPrintable',
38
- 'Base64',
39
- 'Uue',
40
- ];
41
- exports.CONSENT_TRACKING_OPTIONS = [
42
- 'Unknown',
43
- 'Allow',
44
- 'Deny',
45
- ];
46
- exports.DEFAULT_LIMIT = 100;
47
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/lib/common/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,iCAAiC,CAAC;AAE3D,QAAA,sBAAsB,GAAG;IACpC,eAAe;IACf,SAAS;IACT,QAAQ;IACR,SAAS;IACT,cAAc;IACd,OAAO;IACP,UAAU;IACV,OAAO;IACP,cAAc;CACN,CAAC;AAEE,QAAA,uBAAuB,GAAG;IACrC,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,SAAS;IACT,WAAW;IACX,QAAQ;IACR,WAAW;IACX,OAAO;CACC,CAAC;AAEE,QAAA,yBAAyB,GAAG;IACvC,MAAM;IACN,WAAW;IACX,KAAK;IACL,KAAK;CACG,CAAC;AAEE,QAAA,gBAAgB,GAAG;IAC9B,cAAc;IACd,MAAM;IACN,SAAS;IACT,SAAS;IACT,iBAAiB;IACjB,QAAQ;IACR,KAAK;CACG,CAAC;AAEE,QAAA,wBAAwB,GAAG;IACtC,SAAS;IACT,OAAO;IACP,MAAM;CACE,CAAC;AAEE,QAAA,aAAa,GAAG,GAAG,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare const contactEmailProp: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
2
- export declare const campaignNameProp: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
3
- export declare const listNamesProp: import("@activepieces/pieces-framework").MultiSelectDropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
4
- export declare const segmentNamesProp: import("@activepieces/pieces-framework").MultiSelectDropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
5
- export declare const templateNameProp: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").SecretTextProperty<true>>;
6
- //# sourceMappingURL=props.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/props.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,gBAAgB,4IA8B3B,CAAC;AAEH,eAAO,MAAM,gBAAgB,4IA8B3B,CAAC;AAEH,eAAO,MAAM,aAAa,wJA8BxB,CAAC;AAEH,eAAO,MAAM,gBAAgB,wJA8B3B,CAAC;AAEH,eAAO,MAAM,gBAAgB,6IA8B3B,CAAC"}
@@ -1,165 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.templateNameProp = exports.segmentNamesProp = exports.listNamesProp = exports.campaignNameProp = exports.contactEmailProp = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_common_1 = require("@activepieces/pieces-common");
6
- const pieces_framework_1 = require("@activepieces/pieces-framework");
7
- const auth_1 = require("../auth");
8
- const client_1 = require("./client");
9
- const constants_1 = require("./constants");
10
- exports.contactEmailProp = pieces_framework_1.Property.Dropdown({
11
- displayName: 'Contact Email',
12
- description: 'Select an existing contact by email address.',
13
- required: true,
14
- refreshers: [],
15
- auth: auth_1.elasticEmailAuth,
16
- options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
17
- if (!auth) {
18
- return {
19
- disabled: true,
20
- placeholder: 'Connect your Elastic Email account first.',
21
- options: [],
22
- };
23
- }
24
- const contacts = yield (0, client_1.elasticEmailRequest)({
25
- apiKey: auth.secret_text,
26
- method: pieces_common_1.HttpMethod.GET,
27
- path: '/contacts',
28
- queryParams: { limit: String(constants_1.DEFAULT_LIMIT) },
29
- });
30
- return {
31
- disabled: false,
32
- options: (contacts !== null && contacts !== void 0 ? contacts : [])
33
- .filter((c) => c.Email)
34
- .map((c) => ({
35
- label: c.Email,
36
- value: c.Email,
37
- })),
38
- };
39
- }),
40
- });
41
- exports.campaignNameProp = pieces_framework_1.Property.Dropdown({
42
- displayName: 'Campaign',
43
- description: 'Select an existing campaign by name.',
44
- required: true,
45
- refreshers: [],
46
- auth: auth_1.elasticEmailAuth,
47
- options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
48
- if (!auth) {
49
- return {
50
- disabled: true,
51
- placeholder: 'Connect your Elastic Email account first.',
52
- options: [],
53
- };
54
- }
55
- const campaigns = yield (0, client_1.elasticEmailRequest)({
56
- apiKey: auth.secret_text,
57
- method: pieces_common_1.HttpMethod.GET,
58
- path: '/campaigns',
59
- queryParams: { limit: String(constants_1.DEFAULT_LIMIT) },
60
- });
61
- return {
62
- disabled: false,
63
- options: (campaigns !== null && campaigns !== void 0 ? campaigns : [])
64
- .filter((c) => c.Name)
65
- .map((c) => ({
66
- label: c.Name,
67
- value: c.Name,
68
- })),
69
- };
70
- }),
71
- });
72
- exports.listNamesProp = pieces_framework_1.Property.MultiSelectDropdown({
73
- displayName: 'Mailing Lists',
74
- description: 'Select mailing lists.',
75
- required: false,
76
- refreshers: [],
77
- auth: auth_1.elasticEmailAuth,
78
- options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
79
- if (!auth) {
80
- return {
81
- disabled: true,
82
- placeholder: 'Connect your Elastic Email account first.',
83
- options: [],
84
- };
85
- }
86
- const lists = yield (0, client_1.elasticEmailRequest)({
87
- apiKey: auth.secret_text,
88
- method: pieces_common_1.HttpMethod.GET,
89
- path: '/lists',
90
- queryParams: { limit: String(constants_1.DEFAULT_LIMIT) },
91
- });
92
- return {
93
- disabled: false,
94
- options: (lists !== null && lists !== void 0 ? lists : [])
95
- .filter((l) => l.ListName)
96
- .map((l) => ({
97
- label: l.ListName,
98
- value: l.ListName,
99
- })),
100
- };
101
- }),
102
- });
103
- exports.segmentNamesProp = pieces_framework_1.Property.MultiSelectDropdown({
104
- displayName: 'Segments',
105
- description: 'Select segments.',
106
- required: false,
107
- refreshers: [],
108
- auth: auth_1.elasticEmailAuth,
109
- options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
110
- if (!auth) {
111
- return {
112
- disabled: true,
113
- placeholder: 'Connect your Elastic Email account first.',
114
- options: [],
115
- };
116
- }
117
- const segments = yield (0, client_1.elasticEmailRequest)({
118
- apiKey: auth.secret_text,
119
- method: pieces_common_1.HttpMethod.GET,
120
- path: '/segments',
121
- queryParams: { limit: String(constants_1.DEFAULT_LIMIT) },
122
- });
123
- return {
124
- disabled: false,
125
- options: (segments !== null && segments !== void 0 ? segments : [])
126
- .filter((s) => s.Name)
127
- .map((s) => ({
128
- label: s.Name,
129
- value: s.Name,
130
- })),
131
- };
132
- }),
133
- });
134
- exports.templateNameProp = pieces_framework_1.Property.Dropdown({
135
- displayName: 'Template',
136
- description: 'Select an email template.',
137
- required: false,
138
- refreshers: [],
139
- auth: auth_1.elasticEmailAuth,
140
- options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth }) {
141
- if (!auth) {
142
- return {
143
- disabled: true,
144
- placeholder: 'Connect your Elastic Email account first.',
145
- options: [],
146
- };
147
- }
148
- const templates = yield (0, client_1.elasticEmailRequest)({
149
- apiKey: auth.secret_text,
150
- method: pieces_common_1.HttpMethod.GET,
151
- path: '/templates',
152
- queryParams: { limit: String(constants_1.DEFAULT_LIMIT), scopeType: 'Personal' },
153
- });
154
- return {
155
- disabled: false,
156
- options: (templates !== null && templates !== void 0 ? templates : [])
157
- .filter((t) => t.Name)
158
- .map((t) => ({
159
- label: t.Name,
160
- value: t.Name,
161
- })),
162
- };
163
- }),
164
- });
165
- //# sourceMappingURL=props.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"props.js","sourceRoot":"","sources":["../../../../src/lib/common/props.ts"],"names":[],"mappings":"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"}