@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.
Files changed (145) hide show
  1. package/README.md +1992 -60
  2. package/package.json +88 -71
  3. package/proca-cli +8 -0
  4. package/src/commands/action/add.mjs +192 -0
  5. package/src/commands/action/confirm.mjs +93 -0
  6. package/src/commands/action/count.mjs +61 -0
  7. package/src/commands/action/list.mjs +204 -0
  8. package/src/commands/action/replay.mjs +56 -0
  9. package/src/commands/action/requeue.mjs +156 -0
  10. package/src/commands/campaign/add.mjs +113 -0
  11. package/src/commands/campaign/copy.mjs +91 -0
  12. package/src/commands/campaign/delete.mjs +41 -0
  13. package/src/commands/campaign/get.mjs +132 -0
  14. package/src/commands/campaign/list.mjs +161 -0
  15. package/src/commands/campaign/mtt.mjs +131 -0
  16. package/src/commands/campaign/queries.graphql +19 -0
  17. package/src/commands/campaign/status.mjs +63 -0
  18. package/src/commands/campaign/widget/archive.mjs +124 -0
  19. package/src/commands/campaign/widget/copy.mjs +175 -0
  20. package/src/commands/campaign/widget/get.mjs +19 -0
  21. package/src/commands/campaign/widget/index.mjs +17 -0
  22. package/src/commands/campaign/widget/rebuild.mjs +50 -0
  23. package/src/commands/config/add.mjs +97 -0
  24. package/src/commands/config/folder.mjs +42 -0
  25. package/src/commands/config/server.mjs +33 -0
  26. package/src/commands/config/set.mjs +103 -0
  27. package/src/commands/config/user.mjs +79 -0
  28. package/src/commands/contact/count.mjs +41 -0
  29. package/src/commands/contact/list.mjs +207 -0
  30. package/src/commands/org/add.mjs +75 -0
  31. package/src/commands/org/crm.mjs +88 -0
  32. package/src/commands/org/delete.mjs +48 -0
  33. package/src/commands/org/email.mjs +111 -0
  34. package/src/commands/org/get.mjs +152 -0
  35. package/src/commands/service/add.mjs +78 -0
  36. package/src/commands/service/list.mjs +24 -0
  37. package/src/commands/target/add.mjs +94 -0
  38. package/src/commands/template/add.mjs +97 -0
  39. package/src/commands/template/list.mjs +61 -0
  40. package/src/commands/user/get.mjs +91 -0
  41. package/src/commands/user/invite.mjs +56 -0
  42. package/src/commands/user/join.mjs +81 -0
  43. package/src/commands/user/leave.mjs +57 -0
  44. package/src/commands/user/list.mjs +80 -0
  45. package/src/commands/user/reset.mjs +83 -0
  46. package/src/commands/widget/add.mjs +116 -0
  47. package/src/commands/widget/delete.mjs +45 -0
  48. package/src/commands/widget/get.mjs +60 -0
  49. package/src/commands/widget/list.mjs +135 -0
  50. package/src/commands/widget/rebuild.mjs +64 -0
  51. package/src/commands/widget/update.mjs +174 -0
  52. package/src/config.mjs +49 -0
  53. package/src/generated/schema.json +10677 -0
  54. package/src/hooks/help.mjs +14 -0
  55. package/src/hooks/init.mjs +41 -0
  56. package/src/index.mjs +1 -0
  57. package/src/procaCommand.mjs +316 -0
  58. package/src/queries/campaign.mjs +35 -0
  59. package/src/queries/widget.mjs +25 -0
  60. package/src/urql.mjs +60 -0
  61. package/src/util/twitter.mjs +23 -0
  62. package/theme.json +29 -0
  63. package/LICENSE +0 -661
  64. package/bin/proca-cli +0 -4
  65. package/dist/a.d.ts +0 -1
  66. package/dist/a.js +0 -21
  67. package/dist/a.js.map +0 -1
  68. package/dist/browser.d.ts +0 -1
  69. package/dist/browser.js +0 -24
  70. package/dist/browser.js.map +0 -1
  71. package/dist/campaign.d.ts +0 -156
  72. package/dist/campaign.js +0 -188
  73. package/dist/campaign.js.map +0 -1
  74. package/dist/cli.d.ts +0 -40
  75. package/dist/cli.js +0 -411
  76. package/dist/cli.js.map +0 -1
  77. package/dist/client.d.ts +0 -2
  78. package/dist/client.js +0 -18
  79. package/dist/client.js.map +0 -1
  80. package/dist/config.d.ts +0 -35
  81. package/dist/config.js +0 -71
  82. package/dist/config.js.map +0 -1
  83. package/dist/crypto.d.ts +0 -40
  84. package/dist/crypto.js +0 -53
  85. package/dist/crypto.js.map +0 -1
  86. package/dist/decrypt.d.ts +0 -7
  87. package/dist/decrypt.js +0 -29
  88. package/dist/decrypt.js.map +0 -1
  89. package/dist/export.d.ts +0 -15
  90. package/dist/export.js +0 -141
  91. package/dist/export.js.map +0 -1
  92. package/dist/format.d.ts +0 -37
  93. package/dist/format.js +0 -200
  94. package/dist/format.js.map +0 -1
  95. package/dist/index.d.ts +0 -8
  96. package/dist/index.js +0 -35
  97. package/dist/index.js.map +0 -1
  98. package/dist/keys.d.ts +0 -4
  99. package/dist/keys.js +0 -38
  100. package/dist/keys.js.map +0 -1
  101. package/dist/org.d.ts +0 -11
  102. package/dist/org.js +0 -93
  103. package/dist/org.js.map +0 -1
  104. package/dist/proca.d.ts +0 -2066
  105. package/dist/proca.js +0 -396
  106. package/dist/proca.js.map +0 -1
  107. package/dist/queue.d.ts +0 -8
  108. package/dist/queue.js +0 -126
  109. package/dist/queue.js.map +0 -1
  110. package/dist/queueMessage.d.ts +0 -102
  111. package/dist/queueMessage.js +0 -109
  112. package/dist/queueMessage.js.map +0 -1
  113. package/dist/scalarLocations.d.ts +0 -4
  114. package/dist/scalarLocations.js +0 -236
  115. package/dist/scalarLocations.js.map +0 -1
  116. package/dist/service/actionnetwork.d.ts +0 -10
  117. package/dist/service/actionnetwork.js +0 -302
  118. package/dist/service/actionnetwork.js.map +0 -1
  119. package/dist/service/distance.d.ts +0 -3
  120. package/dist/service/distance.js +0 -92
  121. package/dist/service/distance.js.map +0 -1
  122. package/dist/service/echo.d.ts +0 -4
  123. package/dist/service/echo.js +0 -19
  124. package/dist/service/echo.js.map +0 -1
  125. package/dist/service/email.d.ts +0 -14
  126. package/dist/service/email.js +0 -67
  127. package/dist/service/email.js.map +0 -1
  128. package/dist/service/identity.d.ts +0 -58
  129. package/dist/service/identity.js +0 -190
  130. package/dist/service/identity.js.map +0 -1
  131. package/dist/service/index.d.ts +0 -14
  132. package/dist/service/index.js +0 -61
  133. package/dist/service/index.js.map +0 -1
  134. package/dist/setup.d.ts +0 -2
  135. package/dist/setup.js +0 -287
  136. package/dist/setup.js.map +0 -1
  137. package/dist/test.d.ts +0 -1
  138. package/dist/test.js +0 -33
  139. package/dist/test.js.map +0 -1
  140. package/dist/util.d.ts +0 -5
  141. package/dist/util.js +0 -30
  142. package/dist/util.js.map +0 -1
  143. package/dist/watch.d.ts +0 -9
  144. package/dist/watch.js +0 -76
  145. package/dist/watch.js.map +0 -1
@@ -1,236 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.scalarLocations = void 0;
4
- exports.scalarLocations = {
5
- "inputObjectFieldTypes": {
6
- "ActionInput": {
7
- "fields": "CustomFieldInput",
8
- "donation": "DonationActionInput"
9
- },
10
- "ActionPageInput": {
11
- "config": "Json"
12
- },
13
- "CampaignInput": {
14
- "config": "Json",
15
- "actionPages": "ActionPageInput"
16
- },
17
- "ContactInput": {
18
- "address": "AddressInput",
19
- "nationality": "NationalityInput"
20
- },
21
- "DonationActionInput": {
22
- "payload": "Json"
23
- },
24
- "OrgInput": {
25
- "config": "Json"
26
- }
27
- },
28
- "outputObjectFieldTypes": {
29
- "Action": {
30
- "contact": "Contact",
31
- "fields": "CustomField",
32
- "tracking": "Tracking",
33
- "campaign": [
34
- "PrivateCampaign",
35
- "PublicCampaign"
36
- ],
37
- "actionPage": [
38
- "PrivateActionPage",
39
- "PublicActionPage"
40
- ],
41
- "privacy": "Consent",
42
- "donation": "Donation"
43
- },
44
- "ActionCustomFields": {
45
- "fields": "CustomField"
46
- },
47
- "CampaignStats": {
48
- "supporterCountByArea": "AreaCount",
49
- "supporterCountByOrg": "OrgCount",
50
- "actionCount": "ActionTypeCount"
51
- },
52
- "ConfirmResult": {
53
- "actionPage": [
54
- "PrivateActionPage",
55
- "PublicActionPage"
56
- ],
57
- "campaign": [
58
- "PrivateCampaign",
59
- "PublicCampaign"
60
- ],
61
- "org": [
62
- "PrivateOrg",
63
- "PublicOrg"
64
- ]
65
- },
66
- "Contact": {
67
- "publicKey": "KeyIds",
68
- "signKey": "KeyIds"
69
- },
70
- "Donation": {
71
- "payload": "Json"
72
- },
73
- "JoinOrgResult": {
74
- "org": [
75
- "PrivateOrg",
76
- "PublicOrg"
77
- ]
78
- },
79
- "OrgCount": {
80
- "org": [
81
- "PrivateOrg",
82
- "PublicOrg"
83
- ]
84
- },
85
- "Partnership": {
86
- "org": [
87
- "PrivateOrg",
88
- "PublicOrg"
89
- ],
90
- "actionPages": [
91
- "PrivateActionPage",
92
- "PublicActionPage"
93
- ],
94
- "launchRequests": "Confirm"
95
- },
96
- "PrivateActionPage": {
97
- "config": "Json",
98
- "campaign": [
99
- "PrivateCampaign",
100
- "PublicCampaign"
101
- ],
102
- "org": [
103
- "PrivateOrg",
104
- "PublicOrg"
105
- ]
106
- },
107
- "PrivateCampaign": {
108
- "config": "Json",
109
- "stats": "CampaignStats",
110
- "org": [
111
- "PrivateOrg",
112
- "PublicOrg"
113
- ],
114
- "actions": "PublicActionsResult",
115
- "partnerships": "Partnership"
116
- },
117
- "PrivateOrg": {
118
- "config": "Json",
119
- "personalData": "PersonalData",
120
- "keys": "Key",
121
- "key": "Key",
122
- "services": "Service",
123
- "users": "OrgUser",
124
- "campaigns": [
125
- "PrivateCampaign",
126
- "PublicCampaign"
127
- ],
128
- "actionPages": [
129
- "PrivateActionPage",
130
- "PublicActionPage"
131
- ],
132
- "actionPage": [
133
- "PrivateActionPage",
134
- "PublicActionPage"
135
- ],
136
- "campaign": [
137
- "PrivateCampaign",
138
- "PublicCampaign"
139
- ]
140
- },
141
- "PublicActionPage": {
142
- "config": "Json",
143
- "campaign": [
144
- "PrivateCampaign",
145
- "PublicCampaign"
146
- ],
147
- "org": [
148
- "PrivateOrg",
149
- "PublicOrg"
150
- ]
151
- },
152
- "PublicActionsResult": {
153
- "list": "ActionCustomFields"
154
- },
155
- "PublicCampaign": {
156
- "config": "Json",
157
- "stats": "CampaignStats",
158
- "org": [
159
- "PrivateOrg",
160
- "PublicOrg"
161
- ],
162
- "actions": "PublicActionsResult"
163
- },
164
- "RootSubscriptionType": {
165
- "actionPageUpserted": [
166
- "PrivateActionPage",
167
- "PublicActionPage"
168
- ]
169
- },
170
- "User": {
171
- "roles": "UserRole"
172
- },
173
- "UserRole": {
174
- "org": [
175
- "PrivateOrg",
176
- "PublicOrg"
177
- ]
178
- }
179
- },
180
- "operationMap": {
181
- "upsertCampaign": [
182
- "PrivateCampaign",
183
- "PublicCampaign"
184
- ],
185
- "updateActionPage": [
186
- "PrivateActionPage",
187
- "PublicActionPage"
188
- ],
189
- "copyActionPage": [
190
- "PrivateActionPage",
191
- "PublicActionPage"
192
- ],
193
- "copyCampaignActionPage": [
194
- "PrivateActionPage",
195
- "PublicActionPage"
196
- ],
197
- "launchActionPage": "LaunchActionPageResult",
198
- "addAction": "ContactReference",
199
- "addActionContact": "ContactReference",
200
- "linkActions": "ContactReference",
201
- "addOrgUser": "ChangeUserStatus",
202
- "updateOrgUser": "ChangeUserStatus",
203
- "deleteOrgUser": "DeleteUserResult",
204
- "addOrg": [
205
- "PrivateOrg",
206
- "PublicOrg"
207
- ],
208
- "updateOrg": [
209
- "PrivateOrg",
210
- "PublicOrg"
211
- ],
212
- "joinOrg": "JoinOrgResult",
213
- "generateKey": "KeyWithPrivate",
214
- "addKey": "Key",
215
- "activateKey": "ActivateKeyResult",
216
- "addStripePaymentIntent": "Json",
217
- "addStripeSubscription": "Json",
218
- "addStripeObject": "Json",
219
- "acceptOrgConfirm": "ConfirmResult",
220
- "rejectOrgConfirm": "ConfirmResult",
221
- "campaigns": [
222
- "PrivateCampaign",
223
- "PublicCampaign"
224
- ],
225
- "actionPage": [
226
- "PrivateActionPage",
227
- "PublicActionPage"
228
- ],
229
- "exportActions": "Action",
230
- "currentUser": "User",
231
- "org": "PrivateOrg"
232
- },
233
- "scalars": [
234
- "Json"
235
- ]
236
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"scalarLocations.js","sourceRoot":"","sources":["../src/scalarLocations.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAyB;IACnD,cAAc,EAAE;QACd,MAAM,EAAE,MAAM;QACd,aAAa,EAAE;YACb,UAAU,EAAE;gBACV,SAAS,EAAE,MAAM;aAClB;SACF;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,MAAM;SACjB;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,MAAM;YAChB,aAAa,EAAE;gBACb,QAAQ,EAAE,MAAM;aACjB;SACF;QACD,qBAAqB,EAAE;YACrB,SAAS,EAAE,MAAM;SAClB;QACD,UAAU,EAAE;YACV,QAAQ,EAAE,MAAM;SACjB;KACF;IACD,eAAe,EAAE;QACf,wBAAwB,EAAE,MAAM;QAChC,uBAAuB,EAAE,MAAM;QAC/B,iBAAiB,EAAE,MAAM;QACzB,eAAe,EAAE;YACf,UAAU,EAAE;gBACV,SAAS,EAAE,MAAM;aAClB;SACF;QACD,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM;SACjB;KACF;CACF,CAAC"}
@@ -1,10 +0,0 @@
1
- import { ActionMessageV2 } from "../queueMessage";
2
- import { CliConfig } from '../config';
3
- import { ServiceOpts } from '.';
4
- import amqplib from 'amqplib';
5
- export declare const API_ENDPOINT = "https://actionnetwork.org/";
6
- export declare function syncAction(action: ActionMessageV2, serviceOpts: ServiceOpts, _config: CliConfig, msg: amqplib.Message): Promise<string>;
7
- declare type FetchMiddleware = (request: Request, next: (request: Request) => Promise<Response>) => Promise<Response>;
8
- export declare const AUTH_HEADERS: (token: string) => FetchMiddleware;
9
- export declare const client: (token: string) => any;
10
- export {};
@@ -1,302 +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.client = exports.AUTH_HEADERS = exports.syncAction = exports.API_ENDPOINT = void 0;
16
- // Only import Types here
17
- // Import code below using require( ) because ketting is just a peer/plug-in dependency
18
- const ketting_1 = require("ketting");
19
- const util_1 = __importDefault(require("util"));
20
- exports.API_ENDPOINT = "https://actionnetwork.org/";
21
- const CACHE = { form: {} };
22
- function syncAction(action, serviceOpts, _config, msg) {
23
- var _a, _b;
24
- return __awaiter(this, void 0, void 0, function* () {
25
- try {
26
- let email = ((_a = action.contact.pii) === null || _a === void 0 ? void 0 : _a.email) || action.contact.email;
27
- if (action.privacy === null) {
28
- console.log("Action without contact", action.action.actionType);
29
- return;
30
- }
31
- const optIn = action.privacy.optIn;
32
- const campaignTitle = action.campaign.title;
33
- // check inputs
34
- if (!email)
35
- throw new Error("Action with no email");
36
- email = email.toLowerCase();
37
- if (!campaignTitle)
38
- throw new Error("Action with missing campaign title");
39
- if (!process.env.ACTIONNETWORK_APIKEY)
40
- throw new Error("ACTIONNETWORK_APIKEY is unset");
41
- const formTitle = campaignTitle + " " + action.actionPage.locale.split("_")[0].toUpperCase();
42
- console.log('Action for form ' + formTitle);
43
- const c = exports.client(process.env.ACTIONNETWORK_APIKEY);
44
- // fetch form for the campaign
45
- let form = CACHE.form[formTitle];
46
- if (!form) {
47
- form = yield getForm(c, { title: formTitle });
48
- if (!form)
49
- throw new Error("Cannot find form for campaign titled: " + formTitle);
50
- CACHE.form[formTitle] = form;
51
- }
52
- let newPersonData = actionToPerson(action);
53
- customizePersonAttrs(newPersonData);
54
- let person = yield getPerson(c, { email: email });
55
- let updatePerson = false;
56
- let personUri;
57
- if (person) { // person exists
58
- let personAttr = yield person.get();
59
- const personEmailIdx = personAttr.data.email_addresses.findIndex((ea) => ea.address.toLowerCase() === email);
60
- if (personEmailIdx >= 0) {
61
- const personEmail = personAttr.data.email_addresses[personEmailIdx];
62
- if (optIn && personEmail.status === "unsubscribed") {
63
- // set the email status to subscribed!
64
- personAttr.data.email_addresses[personEmailIdx].status = "subscribed";
65
- updatePerson = true;
66
- }
67
- }
68
- else {
69
- console.error("Weird, person record does not have email we've fetched it by", personAttr.data.email_addresses);
70
- }
71
- p(personAttr.data, "Existing person data");
72
- if (patchPerson(personAttr, newPersonData))
73
- updatePerson = true;
74
- if (updatePerson) { // Do the update now if it is necessary
75
- p(newPersonData, "Updating with these params");
76
- yield person.put(personAttr);
77
- }
78
- personUri = personAttr.uri;
79
- p(personUri, updatePerson ? "Updated person" : "Person exists");
80
- }
81
- else {
82
- const people = yield createPerson(c, newPersonData);
83
- personUri = (_b = people.links.get('self')) === null || _b === void 0 ? void 0 : _b.href;
84
- p(personUri, "Created person");
85
- }
86
- const submission = yield createSubmission(c, form, personUri, action, !msg.fields.redelivered);
87
- return submission.uri;
88
- }
89
- catch (err) {
90
- if (serviceOpts.sentry) {
91
- const Sentry = require("@sentry/node");
92
- Sentry.captureException(err);
93
- }
94
- if (err.response)
95
- console.error("Server responded:", yield err.response.text());
96
- throw err;
97
- }
98
- });
99
- }
100
- exports.syncAction = syncAction;
101
- const customizePersonAttrs = (attrs) => {
102
- switch (process.env.ACTIONNETWORK_CUSTOMIZE) {
103
- case 'greensefa': {
104
- const lang = attrs.languages_spoken[0];
105
- if (lang) {
106
- attrs.custom_fields || (attrs.custom_fields = {});
107
- attrs.custom_fields[`speaks_${lang}`] = "1";
108
- }
109
- break;
110
- }
111
- }
112
- };
113
- const p = (x, label = ">>>") => console.log(label, util_1.default.inspect(x, false, null, true));
114
- const AUTH_HEADERS = (token) => {
115
- return (request, next) => {
116
- request.headers.set('OSDI-API-token', token);
117
- request.headers.set('Content-Type', 'application/json');
118
- return next(request);
119
- };
120
- };
121
- exports.AUTH_HEADERS = AUTH_HEADERS;
122
- const client = (token) => {
123
- let ketting;
124
- try {
125
- ketting = require("ketting");
126
- }
127
- catch (e) {
128
- console.error("Install ketting package");
129
- throw e;
130
- }
131
- const client = new ketting.Client(exports.API_ENDPOINT);
132
- client.use(exports.AUTH_HEADERS(token));
133
- return client;
134
- };
135
- exports.client = client;
136
- function uri(path, filter = {}) {
137
- let u = `/api/v2/${path}`;
138
- const fk = Object.keys(filter);
139
- if (fk.length > 0) {
140
- const fe = fk.map((field) => `${field} eq '${filter[field]}'`).join(' and ');
141
- u += '?filter=' + encodeURIComponent(fe);
142
- }
143
- return u;
144
- }
145
- /*
146
- Before adding a contact, we first lookup if a contact already exist with the same email.
147
-
148
- 1. If the contact doesn't exist (meaning, new contact), we set the status to subscribed/unsubscribed depending on the choice from the person. In our case, it's a checkbox in a form (opt in).
149
- 2. If the contact previously exist, and they have checked the opt in for this submit, we set it to "subscribed".
150
- 3. If the contact previously exist, and they haven't checked the opt in (thus, not consenting), we do not set status at all, and rely on any previous consent.
151
-
152
- create(subscribed == optIn)
153
-
154
- update(subscribed = subscribed || optIn)
155
-
156
- note:
157
- email statuses can be one of:
158
- ["subscribed", "unsubscribed", "bouncing", "previous bounce", "spam complaint", or "previous spam complaint"]
159
- phone statuses can be one of:
160
- ["subscribed", "unsubscribed", "bouncing", or "previous bounce"].
161
- For existing person, we want to change to "subscribed" only the "unsubsribed", not the "bouncing" and so on.
162
-
163
-
164
- */
165
- const actionToPerson = (action) => {
166
- if (Object.keys(action.contact.pii).length === 0)
167
- return undefined;
168
- const pii = action.contact.pii;
169
- const dEmail = (email) => ({
170
- primary: true,
171
- address: email,
172
- status: action.privacy.optIn ? "subscribed" : "unsubscribed"
173
- });
174
- const dPhone = (num) => ({
175
- primary: true,
176
- number: num,
177
- number_type: "mobile",
178
- status: action.privacy.optIn ? "subscribed" : "unsubscribed"
179
- });
180
- const dAddress = () => {
181
- const x = {
182
- primary: true,
183
- country: pii.country
184
- };
185
- if (pii.postode) {
186
- x['postal_code'] = pii.postcode;
187
- }
188
- return x;
189
- };
190
- const d = {
191
- given_name: pii.firstName,
192
- family_name: pii.lastName,
193
- identifiers: [
194
- "proca:" + action.contact.ref
195
- ],
196
- languages_spoken: [action.actionPage.locale.split("_")[0]],
197
- email_addresses: [dEmail(pii.email)]
198
- };
199
- if (pii.phone) {
200
- d['phone_numbers'] = [dPhone(pii.phone)];
201
- }
202
- if (pii.country) {
203
- d['postal_addresses'] = [dAddress()];
204
- }
205
- return d;
206
- };
207
- // patch an existing contact record
208
- const patchPerson = (personAttr, newPersonData) => {
209
- if (personAttr.data.given_name !== newPersonData.given_name ||
210
- personAttr.data.family_name !== newPersonData.family_name ||
211
- // personAttr.data.identifiers.indexOf(newPersonData.identifiers[0]) < 0 ||
212
- (newPersonData.postal_addresses && personAttr.data.postal_addresses.findIndex((pa) => pa.country === newPersonData.postal_addresses[0].country &&
213
- pa.postal_code === newPersonData.postal_addresses[0].postal_code) < 0) ||
214
- personAttr.data.languages_spoken[0] !== newPersonData.languages_spoken[0]) {
215
- personAttr.data.given_name = newPersonData.given_name;
216
- personAttr.data.family_name = newPersonData.family_name;
217
- // personAttr.data.identifiers = newPersonData.identifiers - i can't add a new identifier with PUT people/
218
- personAttr.data.postal_addresses = newPersonData.postal_addresses;
219
- personAttr.data.languages_spoken = newPersonData.languages_spoken;
220
- return true;
221
- }
222
- else {
223
- return false;
224
- }
225
- };
226
- const putAction = (client, action) => __awaiter(void 0, void 0, void 0, function* () {
227
- const campaignTitle = action.campaign.title;
228
- const forms = client.go(uri("forms", { "title": campaignTitle }));
229
- let form;
230
- try {
231
- form = yield forms.follow('osdi:forms'); //.follow("osdi:record_submissions_helper")
232
- }
233
- catch (e) {
234
- throw Error("Cannot find campaign with title " + campaignTitle + "; " + (e.response ? yield e.response.text() : "."));
235
- }
236
- let formState = yield form.get();
237
- const submissionUrl = formState.follow('osdi:submissions').uri;
238
- let submission = client.go(submissionUrl);
239
- try {
240
- const person = actionToPerson(action);
241
- person.tags = ['pizza'];
242
- const data = {
243
- identifiers: [`proca:${action.actionId}`],
244
- originating_system: "Proca.org",
245
- person: person
246
- };
247
- const r = yield submission.post({ data });
248
- }
249
- catch (e) {
250
- console.error(util_1.default.inspect(e));
251
- console.error(yield e.response.text());
252
- }
253
- });
254
- const createSubmission = (client, form, personUri, action, autoresponse = true) => __awaiter(void 0, void 0, void 0, function* () {
255
- var _a;
256
- const submissionUrl = form.uri + '/submissions';
257
- const submission = client.go(submissionUrl);
258
- const data = {
259
- "_links": {
260
- "osdi:person": { "href": personUri }
261
- },
262
- triggers: { autoresponse: { enabled: autoresponse } }
263
- };
264
- if ((_a = action.tracking) === null || _a === void 0 ? void 0 : _a.source) {
265
- const rd = {
266
- "source": action.tracking.source === "a/n" ? "unknown" : action.tracking.source
267
- };
268
- if (action.tracking.source === "referrer") {
269
- rd['website'] = action.tracking.campaign;
270
- }
271
- data["action_network:referrer_data"] = rd;
272
- }
273
- p(data, "submission.post to " + submission.uri + ", trigger email: " + autoresponse);
274
- return yield submission.post({ data });
275
- });
276
- const createPerson = (client, data) => __awaiter(void 0, void 0, void 0, function* () {
277
- const people = client.go(uri("people"));
278
- p(data, "create person");
279
- return yield people.post({ data });
280
- });
281
- const getPerson = (client, filter) => __awaiter(void 0, void 0, void 0, function* () {
282
- const people = client.go(uri("people", filter));
283
- const person = yield maybeNotFound(people.follow("osdi:people"));
284
- return person;
285
- });
286
- const getForm = (client, filter) => __awaiter(void 0, void 0, void 0, function* () {
287
- const forms = client.go(uri("forms", filter));
288
- const form = yield maybeNotFound(forms.follow('osdi:forms'));
289
- return form;
290
- });
291
- const maybeNotFound = (promise) => __awaiter(void 0, void 0, void 0, function* () {
292
- try {
293
- return yield promise;
294
- }
295
- catch (e) {
296
- if (e instanceof ketting_1.LinkNotFound) {
297
- return undefined;
298
- }
299
- throw e;
300
- }
301
- });
302
- //# sourceMappingURL=actionnetwork.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actionnetwork.js","sourceRoot":"","sources":["../../src/service/actionnetwork.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { CliConfig } from '../config';
2
- import { ActionMessage } from '../queueMessage';
3
- export declare function syncAction(action: ActionMessage, _1: any, config: CliConfig): Promise<void>;
@@ -1,92 +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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
- var __importDefault = (this && this.__importDefault) || function (mod) {
31
- return (mod && mod.__esModule) ? mod : { "default": mod };
32
- };
33
- Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.syncAction = void 0;
35
- const api_1 = require("@proca/api");
36
- const client_1 = __importDefault(require("../client"));
37
- const proca = __importStar(require("../proca"));
38
- const globals = {
39
- client: null,
40
- ap: {}
41
- };
42
- function syncAction(action, _1, config) {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- if (!globals.client) {
45
- globals.client = client_1.default(config);
46
- }
47
- if (action.schema == 'proca:action:2') {
48
- let distance = action.action.customFields['distance'];
49
- if (typeof distance === "string")
50
- distance = Math.round(parseFloat(distance));
51
- if (typeof distance !== 'number') {
52
- console.error(`distance is not a number: ${distance}`);
53
- return;
54
- }
55
- let nd = 0;
56
- if (action.actionPageId in globals.ap) {
57
- nd = globals.ap[action.actionPageId] + distance;
58
- }
59
- else {
60
- // if there are multiple messages processed at the start, we are racing here
61
- const { data, error } = yield api_1.request(globals.client, proca.ActionPageExtraDocument, { id: action.actionPageId });
62
- if (error) {
63
- console.error(error);
64
- throw `Error ${error}`;
65
- }
66
- if ('extraSupporters' in data.actionPage) {
67
- // try to read again from AP cache, because we might loose a race
68
- const es = globals.ap[action.actionPageId] || data.actionPage.extraSupporters;
69
- nd = es + distance;
70
- }
71
- else {
72
- console.error("You must authenticate");
73
- }
74
- }
75
- globals.ap[action.actionPageId] = nd;
76
- const setOp = yield api_1.request(globals.client, proca.ActionPageSetExtraDocument, {
77
- id: action.actionPageId,
78
- extra: nd
79
- });
80
- if (setOp.error) {
81
- console.error(setOp.error);
82
- throw `Cannot update extraSupporters: ${setOp}`;
83
- }
84
- parseInt;
85
- }
86
- else {
87
- throw `I do not support action schema ${action.schema}`;
88
- }
89
- });
90
- }
91
- exports.syncAction = syncAction;
92
- //# sourceMappingURL=distance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"distance.js","sourceRoot":"","sources":["../../src/service/distance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAAwD;AAExD,uDAAiC;AAGjC,gDAAiC;AAGjC,MAAM,OAAO,GAAiD;IAC5D,MAAM,EAAE,IAAI;IACZ,EAAE,EAAE,EAAE;CACP,CAAA;AAGD,SAAsB,UAAU,CAAC,MAAsB,EAAE,EAAQ,EAAE,MAAkB;;QACnF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnB,OAAO,CAAC,MAAM,GAAG,gBAAS,CAAC,MAAM,CAAC,CAAA;SACnC;QAGD,IAAI,MAAM,CAAC,MAAM,IAAI,gBAAgB,EAAE;YACrC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YACrD,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAC9B,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC7C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAA;gBACtD,OAAO;aACR;YAED,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,CAAC,EAAE,EAAE;gBACrC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAA;aAChD;iBAAM;gBACL,4EAA4E;gBAC5E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,aAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,uBAAuB,EAAE,EAAC,EAAE,EAAE,MAAM,CAAC,YAAY,EAAC,CAAC,CAAA;gBAC7G,IAAI,KAAK,EAAE;oBACT,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBACpB,MAAM,SAAS,KAAK,EAAE,CAAA;iBACvB;gBAED,IAAI,iBAAiB,IAAI,IAAI,CAAC,UAAU,EAAE;oBACxC,iEAAiE;oBACjE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAA;oBAC7E,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAA;iBACnB;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;iBACvC;aACF;YAED,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAA;YAEpC,MAAM,KAAK,GAAG,MAAM,aAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,0BAA0B,EAAE;gBAC5E,EAAE,EAAE,MAAM,CAAC,YAAY;gBACvB,KAAK,EAAE,EAAE;aACV,CAAC,CAAA;YAEF,IAAI,KAAK,CAAC,KAAK,EAAE;gBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC1B,MAAM,kCAAkC,KAAK,EAAE,CAAA;aAChD;YACL,QAAQ,CAAA;SACL;aAAM;YACL,MAAM,kCAAkC,MAAM,CAAC,MAAM,EAAE,CAAA;SACxD;IACH,CAAC;CAAA;AAlDD,gCAkDC"}