@proca/cli 3.3.1 → 3.8.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.
- package/README.md +1992 -60
- package/package.json +88 -71
- package/proca-cli +8 -0
- package/src/commands/action/add.mjs +192 -0
- package/src/commands/action/confirm.mjs +93 -0
- package/src/commands/action/count.mjs +61 -0
- package/src/commands/action/list.mjs +204 -0
- package/src/commands/action/replay.mjs +56 -0
- package/src/commands/action/requeue.mjs +156 -0
- package/src/commands/campaign/add.mjs +113 -0
- package/src/commands/campaign/copy.mjs +91 -0
- package/src/commands/campaign/delete.mjs +41 -0
- package/src/commands/campaign/get.mjs +132 -0
- package/src/commands/campaign/list.mjs +161 -0
- package/src/commands/campaign/mtt.mjs +131 -0
- package/src/commands/campaign/queries.graphql +19 -0
- package/src/commands/campaign/status.mjs +63 -0
- package/src/commands/campaign/widget/archive.mjs +124 -0
- package/src/commands/campaign/widget/copy.mjs +175 -0
- package/src/commands/campaign/widget/get.mjs +19 -0
- package/src/commands/campaign/widget/index.mjs +17 -0
- package/src/commands/campaign/widget/rebuild.mjs +50 -0
- package/src/commands/config/add.mjs +97 -0
- package/src/commands/config/folder.mjs +42 -0
- package/src/commands/config/server.mjs +33 -0
- package/src/commands/config/set.mjs +103 -0
- package/src/commands/config/user.mjs +79 -0
- package/src/commands/contact/count.mjs +41 -0
- package/src/commands/contact/list.mjs +207 -0
- package/src/commands/org/add.mjs +75 -0
- package/src/commands/org/crm.mjs +88 -0
- package/src/commands/org/delete.mjs +48 -0
- package/src/commands/org/email.mjs +111 -0
- package/src/commands/org/get.mjs +152 -0
- package/src/commands/service/add.mjs +78 -0
- package/src/commands/service/list.mjs +24 -0
- package/src/commands/target/add.mjs +94 -0
- package/src/commands/template/add.mjs +97 -0
- package/src/commands/template/list.mjs +61 -0
- package/src/commands/user/get.mjs +91 -0
- package/src/commands/user/invite.mjs +56 -0
- package/src/commands/user/join.mjs +81 -0
- package/src/commands/user/leave.mjs +57 -0
- package/src/commands/user/list.mjs +80 -0
- package/src/commands/user/reset.mjs +83 -0
- package/src/commands/widget/add.mjs +116 -0
- package/src/commands/widget/delete.mjs +45 -0
- package/src/commands/widget/get.mjs +60 -0
- package/src/commands/widget/list.mjs +135 -0
- package/src/commands/widget/rebuild.mjs +64 -0
- package/src/commands/widget/update.mjs +174 -0
- package/src/config.mjs +49 -0
- package/src/generated/schema.json +10677 -0
- package/src/hooks/help.mjs +14 -0
- package/src/hooks/init.mjs +41 -0
- package/src/index.mjs +1 -0
- package/src/procaCommand.mjs +316 -0
- package/src/queries/campaign.mjs +35 -0
- package/src/queries/widget.mjs +25 -0
- package/src/urql.mjs +60 -0
- package/src/util/twitter.mjs +23 -0
- package/theme.json +29 -0
- package/LICENSE +0 -661
- package/bin/proca-cli +0 -4
- package/dist/a.d.ts +0 -1
- package/dist/a.js +0 -21
- package/dist/a.js.map +0 -1
- package/dist/browser.d.ts +0 -1
- package/dist/browser.js +0 -24
- package/dist/browser.js.map +0 -1
- package/dist/campaign.d.ts +0 -156
- package/dist/campaign.js +0 -188
- package/dist/campaign.js.map +0 -1
- package/dist/cli.d.ts +0 -40
- package/dist/cli.js +0 -411
- package/dist/cli.js.map +0 -1
- package/dist/client.d.ts +0 -2
- package/dist/client.js +0 -18
- package/dist/client.js.map +0 -1
- package/dist/config.d.ts +0 -35
- package/dist/config.js +0 -71
- package/dist/config.js.map +0 -1
- package/dist/crypto.d.ts +0 -40
- package/dist/crypto.js +0 -53
- package/dist/crypto.js.map +0 -1
- package/dist/decrypt.d.ts +0 -7
- package/dist/decrypt.js +0 -29
- package/dist/decrypt.js.map +0 -1
- package/dist/export.d.ts +0 -15
- package/dist/export.js +0 -141
- package/dist/export.js.map +0 -1
- package/dist/format.d.ts +0 -37
- package/dist/format.js +0 -200
- package/dist/format.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.js +0 -35
- package/dist/index.js.map +0 -1
- package/dist/keys.d.ts +0 -4
- package/dist/keys.js +0 -38
- package/dist/keys.js.map +0 -1
- package/dist/org.d.ts +0 -11
- package/dist/org.js +0 -93
- package/dist/org.js.map +0 -1
- package/dist/proca.d.ts +0 -2066
- package/dist/proca.js +0 -396
- package/dist/proca.js.map +0 -1
- package/dist/queue.d.ts +0 -8
- package/dist/queue.js +0 -126
- package/dist/queue.js.map +0 -1
- package/dist/queueMessage.d.ts +0 -102
- package/dist/queueMessage.js +0 -109
- package/dist/queueMessage.js.map +0 -1
- package/dist/scalarLocations.d.ts +0 -4
- package/dist/scalarLocations.js +0 -236
- package/dist/scalarLocations.js.map +0 -1
- package/dist/service/actionnetwork.d.ts +0 -10
- package/dist/service/actionnetwork.js +0 -302
- package/dist/service/actionnetwork.js.map +0 -1
- package/dist/service/distance.d.ts +0 -3
- package/dist/service/distance.js +0 -92
- package/dist/service/distance.js.map +0 -1
- package/dist/service/echo.d.ts +0 -4
- package/dist/service/echo.js +0 -19
- package/dist/service/echo.js.map +0 -1
- package/dist/service/email.d.ts +0 -14
- package/dist/service/email.js +0 -67
- package/dist/service/email.js.map +0 -1
- package/dist/service/identity.d.ts +0 -58
- package/dist/service/identity.js +0 -190
- package/dist/service/identity.js.map +0 -1
- package/dist/service/index.d.ts +0 -14
- package/dist/service/index.js +0 -61
- package/dist/service/index.js.map +0 -1
- package/dist/setup.d.ts +0 -2
- package/dist/setup.js +0 -287
- package/dist/setup.js.map +0 -1
- package/dist/test.d.ts +0 -1
- package/dist/test.js +0 -33
- package/dist/test.js.map +0 -1
- package/dist/util.d.ts +0 -5
- package/dist/util.js +0 -30
- package/dist/util.js.map +0 -1
- package/dist/watch.d.ts +0 -9
- package/dist/watch.js +0 -76
- package/dist/watch.js.map +0 -1
package/dist/service/echo.d.ts
DELETED
package/dist/service/echo.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.syncAction = void 0;
|
|
13
|
-
function syncAction(action, _1, _2) {
|
|
14
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
console.log(JSON.stringify(action, null, 2));
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
exports.syncAction = syncAction;
|
|
19
|
-
//# sourceMappingURL=echo.js.map
|
package/dist/service/echo.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"echo.js","sourceRoot":"","sources":["../../src/service/echo.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,SAAsB,UAAU,CAAC,MAAsB,EAAE,EAAgB,EAAE,EAAc;;QACvF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;CAAA;AAFD,gCAEC"}
|
package/dist/service/email.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import mailjet from "node-mailjet";
|
|
2
|
-
import { ActionMessageV2 } from '../queueMessage';
|
|
3
|
-
import { CliConfig } from '../config';
|
|
4
|
-
import { ServiceOpts } from '.';
|
|
5
|
-
export declare function syncAction(action: ActionMessageV2, _1: ServiceOpts, _2: CliConfig): Promise<mailjet.Email.Response>;
|
|
6
|
-
export declare function connect(): mailjet.Email.Client;
|
|
7
|
-
export declare function varsFromAction(action: ActionMessageV2): {
|
|
8
|
-
first_name: string;
|
|
9
|
-
email: string;
|
|
10
|
-
ref: any;
|
|
11
|
-
campaign_name: string;
|
|
12
|
-
campaign_title: string;
|
|
13
|
-
action_page_name: string;
|
|
14
|
-
};
|
package/dist/service/email.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.varsFromAction = exports.connect = exports.syncAction = void 0;
|
|
16
|
-
const node_mailjet_1 = __importDefault(require("node-mailjet"));
|
|
17
|
-
function syncAction(action, _1, _2) {
|
|
18
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
const conn = connect();
|
|
20
|
-
const tmplId = process.env['MAILJET_TEMPLATE'] || action.actionPage.thankYouTemplateRef;
|
|
21
|
-
if (!tmplId)
|
|
22
|
-
throw new Error('No MAILJET_TEMPLATE set not thankYouTemplateRef on action page');
|
|
23
|
-
const vars = varsFromAction(action);
|
|
24
|
-
// console.log(vars)
|
|
25
|
-
let res = yield conn.post("send").request({
|
|
26
|
-
FromEmail: 'noreply@proca.app',
|
|
27
|
-
FromName: 'Is this correct',
|
|
28
|
-
'Mj-TemplateID': tmplId,
|
|
29
|
-
'Mj-TemplateLanguage': true,
|
|
30
|
-
Recipients: [{ 'Email': 'marcin@cahoots.pl', 'Vars': vars }]
|
|
31
|
-
});
|
|
32
|
-
return res;
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
exports.syncAction = syncAction;
|
|
36
|
-
function connect() {
|
|
37
|
-
const mjKey = process.env['MAILJET_KEY'];
|
|
38
|
-
const mjSec = process.env['MAILJET_SECRET'];
|
|
39
|
-
if (!mjKey || !mjSec) {
|
|
40
|
-
throw new Error('No MAILJET_KEY or MAILJET_SECRET set');
|
|
41
|
-
}
|
|
42
|
-
const conn = node_mailjet_1.default.connect(mjKey, mjSec);
|
|
43
|
-
return conn;
|
|
44
|
-
}
|
|
45
|
-
exports.connect = connect;
|
|
46
|
-
function varsFromAction(action) {
|
|
47
|
-
let vars = {
|
|
48
|
-
first_name: action.contact ? action.contact.firstName : null,
|
|
49
|
-
email: action.contact ? action.contact.email : null,
|
|
50
|
-
ref: action.contact ? action.contact.ref : null,
|
|
51
|
-
campaign_name: action.campaign ? action.campaign.name : null,
|
|
52
|
-
campaign_title: action.campaign ? action.campaign.title : null,
|
|
53
|
-
action_page_name: action.actionPage ? action.actionPage.name : null,
|
|
54
|
-
};
|
|
55
|
-
if (action.tracking) {
|
|
56
|
-
vars = Object.assign(vars, {
|
|
57
|
-
utm_source: action.tracking.source,
|
|
58
|
-
utm_medium: action.tracking.medium,
|
|
59
|
-
utm_campaign: action.tracking.campaign,
|
|
60
|
-
utm_content: action.tracking.content
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
vars = Object.assign(vars, action.action.customFields);
|
|
64
|
-
return vars;
|
|
65
|
-
}
|
|
66
|
-
exports.varsFromAction = varsFromAction;
|
|
67
|
-
//# sourceMappingURL=email.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/service/email.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,gEAAkC;AAKlC,SAAsB,UAAU,CAAC,MAAwB,EAAE,EAAe,EAAE,EAAc;;QACxF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;QAEtB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAA;QACvF,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;QAE9F,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;QACnC,oBAAoB;QAEpB,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACxC,SAAS,EAAE,mBAAmB;YAC9B,QAAQ,EAAE,iBAAiB;YAC7B,eAAe,EAAE,MAAM;YACvB,qBAAqB,EAAE,IAAI;YACzB,UAAU,EAAE,CAAC,EAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC;SAC3D,CAAC,CAAA;QAEF,OAAO,GAAG,CAAA;IACZ,CAAC;CAAA;AAlBD,gCAkBC;AAED,SAAgB,OAAO;IACrB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC3C,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;KACxD;IACD,MAAM,IAAI,GAAG,sBAAO,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC1C,OAAO,IAAI,CAAA;AACb,CAAC;AARD,0BAQC;AAED,SAAgB,cAAc,CAAC,MAAwB;IACrD,IAAI,IAAI,GAAG;QACT,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QAC5D,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACnD,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;QAC/C,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QAC5D,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAC9D,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;KACpE,CAAA;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACzB,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YAClC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YAClC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;YACtC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;SACrC,CAAC,CAAA;KACH;IAED,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAEtD,OAAO,IAAI,CAAA;AACb,CAAC;AAtBD,wCAsBC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { ActionMessageV2 } from '../queueMessage';
|
|
2
|
-
import { CliConfig } from '../config';
|
|
3
|
-
import { ServiceOpts } from '.';
|
|
4
|
-
declare type ConsentConfig = {
|
|
5
|
-
[key: string]: Consent;
|
|
6
|
-
};
|
|
7
|
-
declare type Consent = {
|
|
8
|
-
level: "communication" | "double_opt_in" | "none_given" | "implicit" | "explicit_not_opt_out" | "explicit_opt_in";
|
|
9
|
-
locale?: string;
|
|
10
|
-
};
|
|
11
|
-
export declare function syncAction(action: ActionMessageV2, argv: ServiceOpts, config: CliConfig): Promise<string | false | {
|
|
12
|
-
[key: string]: any;
|
|
13
|
-
[key: number]: any;
|
|
14
|
-
}>;
|
|
15
|
-
declare type DataApiCustomField = {
|
|
16
|
-
name: string;
|
|
17
|
-
value: string;
|
|
18
|
-
};
|
|
19
|
-
declare type DataApiSource = {
|
|
20
|
-
source: string;
|
|
21
|
-
medium: string;
|
|
22
|
-
campaign: string;
|
|
23
|
-
};
|
|
24
|
-
export declare function toDataApi(action: ActionMessageV2, consent_map: ConsentConfig, action_fields: string[], contact_fields: string[]): {
|
|
25
|
-
api_token: string;
|
|
26
|
-
metadata: Record<string, string>;
|
|
27
|
-
source: DataApiSource;
|
|
28
|
-
action_type: string;
|
|
29
|
-
action_technical_type: string;
|
|
30
|
-
create_dt: string;
|
|
31
|
-
action_name: string;
|
|
32
|
-
action_public_name: string;
|
|
33
|
-
language: string;
|
|
34
|
-
external_id: number;
|
|
35
|
-
consents: {
|
|
36
|
-
public_id: string;
|
|
37
|
-
consent_level: string;
|
|
38
|
-
}[];
|
|
39
|
-
cons_hash: {
|
|
40
|
-
firstname: string;
|
|
41
|
-
lastname: any;
|
|
42
|
-
emails: {
|
|
43
|
-
email: string;
|
|
44
|
-
}[];
|
|
45
|
-
custom_fields: DataApiCustomField[];
|
|
46
|
-
addresses: {
|
|
47
|
-
postcode: any;
|
|
48
|
-
country: any;
|
|
49
|
-
town: any;
|
|
50
|
-
state: any;
|
|
51
|
-
}[];
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
export declare function toConsent(action: ActionMessageV2, consent_id: string, consent: Consent): {
|
|
55
|
-
public_id: string;
|
|
56
|
-
consent_level: string;
|
|
57
|
-
};
|
|
58
|
-
export {};
|
package/dist/service/identity.js
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.toConsent = exports.toDataApi = exports.syncAction = void 0;
|
|
16
|
-
const bent_1 = __importDefault(require("bent"));
|
|
17
|
-
const debug_1 = __importDefault(require("debug"));
|
|
18
|
-
const util_1 = require("../util");
|
|
19
|
-
/*
|
|
20
|
-
* How to configure Identity consent.
|
|
21
|
-
*
|
|
22
|
-
* Consents in speakout/identity have levels:
|
|
23
|
-
* - none_given # complex way to say: opt out
|
|
24
|
-
* - implicit # complex way to say: no checkbox, opt in assumed
|
|
25
|
-
* - explicit_not_opt_out # complex way to say: prechecked opt in
|
|
26
|
-
* - explicit_opt_in # complex way to say: checked opt in
|
|
27
|
-
*
|
|
28
|
-
* In Proca we have:
|
|
29
|
-
* - opt_in: false/true
|
|
30
|
-
* - email_status: null/double_opt_in
|
|
31
|
-
*
|
|
32
|
-
* Identity might require a few different consents (each for some different goal)
|
|
33
|
-
* For identity we want to configure mapping
|
|
34
|
-
* {
|
|
35
|
-
* data_processing_2022: { level: 'explicit_opt_in' }
|
|
36
|
-
* newsletter_v2: { level: 'communication' } # will depend on Proca optIn ? 'explicit_opt_in' : 'none_given',
|
|
37
|
-
* newsletter_v3: { level: 'double_opt_in' } # will depend on Proca double_opt_in ? 'explicit_opt_in' : 'none_given'
|
|
38
|
-
* }
|
|
39
|
-
*
|
|
40
|
-
*/
|
|
41
|
-
const log = debug_1.default('proca:service:identity');
|
|
42
|
-
function syncAction(action, argv, config) {
|
|
43
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
const url = argv.service_url || config.identity_url;
|
|
45
|
-
const api_token = config.identity_api_token;
|
|
46
|
-
const comm_consent = config.identity_consent;
|
|
47
|
-
const only_opt_in = 'IDENTITY_ONLY_OPT_IN' in process.env;
|
|
48
|
-
const only_double_opt_in = 'IDENTITY_ONLY_DOUBLE_OPT_IN' in process.env;
|
|
49
|
-
if (!url)
|
|
50
|
-
throw new Error("identity url not set");
|
|
51
|
-
if (!api_token)
|
|
52
|
-
throw new Error("identity api token not set");
|
|
53
|
-
// XXX the only_* mode indents to drop data where
|
|
54
|
-
if (only_double_opt_in && action.privacy.emailStatus !== 'double_opt_in') {
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
if (only_opt_in && action.privacy.optIn === false) {
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
let consent = null;
|
|
61
|
-
if (comm_consent === null || comm_consent === undefined) {
|
|
62
|
-
log('ProcaCli argv.identity_consent is not set');
|
|
63
|
-
throw "Please set IDENTITY_CONSENT";
|
|
64
|
-
}
|
|
65
|
-
if (comm_consent[0] == "{") {
|
|
66
|
-
log('ProcaCli argv.identity_consent has JSON argv');
|
|
67
|
-
// this is a hash with consent map
|
|
68
|
-
consent = JSON.parse(comm_consent);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
log(`ProcaCli argv.identity_consent uses ${comm_consent} as commmunication consent`);
|
|
72
|
-
consent = {};
|
|
73
|
-
consent[comm_consent] = { level: 'communication' };
|
|
74
|
-
}
|
|
75
|
-
const payload = toDataApi(action, consent, config.identity_action_fields, config.identity_contact_fields);
|
|
76
|
-
log(`Identity DATA API payload (without api_token)`, payload);
|
|
77
|
-
payload.api_token = api_token;
|
|
78
|
-
const post = bent_1.default(url, 'POST', 200);
|
|
79
|
-
const r = yield post('/api/actions', util_1.removeBlank(payload));
|
|
80
|
-
return r;
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
exports.syncAction = syncAction;
|
|
84
|
-
/* identity uses these keys to find Action
|
|
85
|
-
* - external_id
|
|
86
|
-
* - action_technical_type
|
|
87
|
-
* - language
|
|
88
|
-
*/
|
|
89
|
-
function toDataApi(action, consent_map, action_fields, contact_fields) {
|
|
90
|
-
const ah = {
|
|
91
|
-
api_token: null,
|
|
92
|
-
metadata: {},
|
|
93
|
-
source: null,
|
|
94
|
-
action_type: action.action.actionType,
|
|
95
|
-
action_technical_type: `proca:${action.action.actionType}`,
|
|
96
|
-
create_dt: action.action.createdAt,
|
|
97
|
-
action_name: action.campaign.name,
|
|
98
|
-
action_public_name: action.campaign.name,
|
|
99
|
-
language: action.actionPage.locale,
|
|
100
|
-
external_id: action.actionPageId,
|
|
101
|
-
consents: Object.entries(consent_map).map(([pub_id, con_conf]) => toConsent(action, pub_id, con_conf)).filter(x => x),
|
|
102
|
-
cons_hash: {
|
|
103
|
-
firstname: action.contact.firstName,
|
|
104
|
-
lastname: action.contact.lastName,
|
|
105
|
-
emails: [{ email: action.contact.email }],
|
|
106
|
-
custom_fields: [],
|
|
107
|
-
addresses: [{
|
|
108
|
-
postcode: action.contact.postcode,
|
|
109
|
-
country: action.contact.country,
|
|
110
|
-
town: action.contact.locality,
|
|
111
|
-
state: action.contact.region
|
|
112
|
-
}]
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
const custom_fields = [];
|
|
116
|
-
const metadata = {};
|
|
117
|
-
custom_fields.push({ name: "contactRef", value: action.contact.ref });
|
|
118
|
-
for (const [key, value] of Object.entries(action.action.customFields)) {
|
|
119
|
-
if ((action_fields || []).includes(key.toLowerCase())) {
|
|
120
|
-
metadata[key] = `${value}`;
|
|
121
|
-
}
|
|
122
|
-
if ((contact_fields || []).includes(key.toLowerCase())) {
|
|
123
|
-
custom_fields.push({ name: key, value: `${value}` });
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
if (Object.keys(metadata).length > 0)
|
|
127
|
-
ah.metadata = metadata;
|
|
128
|
-
if (custom_fields.length > 0)
|
|
129
|
-
ah.cons_hash.custom_fields = custom_fields;
|
|
130
|
-
if (action.tracking) {
|
|
131
|
-
ah.source = {
|
|
132
|
-
campaign: action.tracking.campaign,
|
|
133
|
-
source: action.tracking.source,
|
|
134
|
-
medium: action.tracking.medium,
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
return ah;
|
|
138
|
-
}
|
|
139
|
-
exports.toDataApi = toDataApi;
|
|
140
|
-
function toConsent(action, consent_id, consent) {
|
|
141
|
-
const { level, locale } = consent;
|
|
142
|
-
// Skip if this is not this locale
|
|
143
|
-
if (locale && locale.toLowerCase() != action.actionPage.locale.toLowerCase())
|
|
144
|
-
return null;
|
|
145
|
-
// If it's a hardcoded consent, send it
|
|
146
|
-
if (level == 'implicit' || level == 'explicit_opt_in')
|
|
147
|
-
return {
|
|
148
|
-
public_id: consent_id,
|
|
149
|
-
consent_level: level
|
|
150
|
-
};
|
|
151
|
-
// Handle opt in to communication
|
|
152
|
-
if (level === 'communication') {
|
|
153
|
-
if (action.privacy) {
|
|
154
|
-
if (action.privacy.optIn === true) {
|
|
155
|
-
return {
|
|
156
|
-
public_id: consent_id,
|
|
157
|
-
consent_level: 'explicit_opt_in'
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
else if (action.privacy.optIn === false) {
|
|
161
|
-
return {
|
|
162
|
-
public_id: consent_id,
|
|
163
|
-
consent_level: 'none_given'
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
// watch out, optIn key can be missing if this is non-consent action
|
|
167
|
-
}
|
|
168
|
-
return {
|
|
169
|
-
public_id: consent_id,
|
|
170
|
-
consent_level: 'no_change'
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
if (level === 'double_opt_in') {
|
|
174
|
-
if (action.privacy.emailStatus === 'double_opt_in') {
|
|
175
|
-
return {
|
|
176
|
-
public_id: consent_id,
|
|
177
|
-
consent_level: 'explicit_opt_in'
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
else {
|
|
181
|
-
return {
|
|
182
|
-
public_id: consent_id,
|
|
183
|
-
consent_level: 'no_change'
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
throw `unsuported argv for consent ${consent_id}: ${level} for locale ${locale}`;
|
|
188
|
-
}
|
|
189
|
-
exports.toConsent = toConsent;
|
|
190
|
-
//# sourceMappingURL=identity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/service/identity.ts"],"names":[],"mappings":"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"}
|
package/dist/service/index.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { CliConfig } from '../config';
|
|
2
|
-
import { ActionMessage } from '../queueMessage';
|
|
3
|
-
export declare type SyncFunction = (action: ActionMessage, argv: ServiceOpts, config: CliConfig) => any;
|
|
4
|
-
export interface ServiceOpts {
|
|
5
|
-
service?: string;
|
|
6
|
-
service_url?: string;
|
|
7
|
-
queueName?: string;
|
|
8
|
-
queuePrefetch?: number;
|
|
9
|
-
backoff?: boolean;
|
|
10
|
-
filePath?: string;
|
|
11
|
-
sentry?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export declare function getService(argv: ServiceOpts): any;
|
|
14
|
-
export declare function addBackoff(fun: SyncFunction): (...args: any[]) => Promise<any>;
|
package/dist/service/index.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.addBackoff = exports.getService = void 0;
|
|
16
|
-
const backoff_1 = __importDefault(require("backoff"));
|
|
17
|
-
function getService(argv) {
|
|
18
|
-
if (typeof argv.service === 'string') {
|
|
19
|
-
let service = require(`./${argv.service}`);
|
|
20
|
-
if (argv.backoff) {
|
|
21
|
-
service.syncAction = addBackoff(service.syncAction);
|
|
22
|
-
}
|
|
23
|
-
return service;
|
|
24
|
-
}
|
|
25
|
-
if (typeof argv.service === 'object') {
|
|
26
|
-
return argv.service;
|
|
27
|
-
}
|
|
28
|
-
throw "argv.service should be a name of module in src/service or function";
|
|
29
|
-
}
|
|
30
|
-
exports.getService = getService;
|
|
31
|
-
function addBackoff(fun) {
|
|
32
|
-
function newFun(...args) {
|
|
33
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
return new Promise((ok, fail) => {
|
|
35
|
-
const bo = backoff_1.default.exponential({
|
|
36
|
-
randomisationFactor: 0,
|
|
37
|
-
initialDelay: 100,
|
|
38
|
-
maxDelay: 30000
|
|
39
|
-
});
|
|
40
|
-
bo.failAfter(10);
|
|
41
|
-
bo.on('ready', function (number, delay) {
|
|
42
|
-
try {
|
|
43
|
-
fun.apply(null, args).then((r) => ok(r)).catch((err) => {
|
|
44
|
-
console.log(`😵 rejected: ${err}`);
|
|
45
|
-
bo.backoff();
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
console.log(`😵 exception: ${error}`);
|
|
50
|
-
bo.backoff();
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
bo.on('fail', () => fail('failed too many times'));
|
|
54
|
-
bo.backoff();
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
return newFun;
|
|
59
|
-
}
|
|
60
|
-
exports.addBackoff = addBackoff;
|
|
61
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA6B;AAiB7B,SAAgB,UAAU,CAAC,IAAkB;IAC3C,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;QACpC,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SACrD;QACD,OAAO,OAAO,CAAA;KACf;IAED,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;QACpC,OAAO,IAAI,CAAC,OAAO,CAAA;KACpB;IAED,MAAM,oEAAoE,CAAA;AAC5E,CAAC;AAfD,gCAeC;AAGD,SAAgB,UAAU,CAAC,GAAkB;IAC3C,SAAe,MAAM,CAAC,GAAG,IAAY;;YACnC,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;gBAC9B,MAAM,EAAE,GAAG,iBAAO,CAAC,WAAW,CAAC;oBAC7B,mBAAmB,EAAE,CAAC;oBACtB,YAAY,EAAE,GAAG;oBACjB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBACH,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;gBAChB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,UAAS,MAAM,EAAE,KAAK;oBACnC,IAAI;wBACF,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAW,EAAE,EAAE;4BACpE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAA;4BAClC,EAAE,CAAC,OAAO,EAAE,CAAA;wBACd,CAAC,CAAC,CAAA;qBACH;oBAAC,OAAM,KAAW,EAAE;wBACnB,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAA;wBACrC,EAAE,CAAC,OAAO,EAAE,CAAA;qBACb;gBACH,CAAC,CAAC,CAAA;gBAEF,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAA;gBAElD,EAAE,CAAC,OAAO,EAAE,CAAA;YACd,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AA3BD,gCA2BC"}
|
package/dist/setup.d.ts
DELETED