proca 0.8.1 → 1.1.5

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 (106) hide show
  1. package/README.md +1079 -28
  2. package/package.json +94 -101
  3. package/proca-cli +8 -0
  4. package/src/commands/action/count.mjs +61 -0
  5. package/src/commands/action/list.mjs +204 -0
  6. package/src/commands/action/replay.mjs +54 -0
  7. package/src/commands/campaign/add.mjs +101 -0
  8. package/src/commands/campaign/delete.mjs +61 -0
  9. package/src/commands/campaign/get.mjs +107 -0
  10. package/src/commands/campaign/list.mjs +156 -0
  11. package/src/commands/campaign/queries.graphql +19 -0
  12. package/src/commands/config/add.mjs +101 -0
  13. package/src/commands/config/get.mjs +33 -0
  14. package/src/commands/config/set.mjs +103 -0
  15. package/src/commands/config/token.mjs +34 -0
  16. package/src/commands/config/user.mjs +76 -0
  17. package/src/commands/org/add.mjs +66 -0
  18. package/src/commands/org/crm.mjs +88 -0
  19. package/src/commands/org/delete.mjs +48 -0
  20. package/src/commands/org/get.mjs +97 -0
  21. package/src/commands/org/join.mjs +77 -0
  22. package/src/commands/supporter/count.mjs +96 -0
  23. package/src/commands/user/get.mjs +91 -0
  24. package/src/commands/user/leave.mjs +52 -0
  25. package/src/commands/user/list.mjs +71 -0
  26. package/src/commands/widget/add.mjs +101 -0
  27. package/src/commands/widget/cache.mjs +29 -0
  28. package/src/commands/widget/get.mjs +59 -0
  29. package/src/commands/widget/list.mjs +116 -0
  30. package/src/config.mjs +36 -0
  31. package/src/generated/schema.json +10677 -0
  32. package/src/hooks/help.mjs +14 -0
  33. package/src/hooks/init.mjs +20 -0
  34. package/src/index.mjs +1 -0
  35. package/src/procaCommand.mjs +242 -0
  36. package/src/queries/campaign.mjs +21 -0
  37. package/src/queries/widget.mjs +12 -0
  38. package/src/urql.mjs +60 -0
  39. package/src/util/twitter.mjs +23 -0
  40. package/theme.json +29 -0
  41. package/LICENSE +0 -661
  42. package/dist/App.css +0 -22
  43. package/dist/App.js +0 -25
  44. package/dist/App.test.js +0 -8
  45. package/dist/Wizard.js +0 -32
  46. package/dist/components/Alert.js +0 -49
  47. package/dist/components/Clickify.js +0 -26
  48. package/dist/components/Consent.js +0 -120
  49. package/dist/components/Country.js +0 -94
  50. package/dist/components/Dialog.js +0 -84
  51. package/dist/components/Disabled.js +0 -3
  52. package/dist/components/Emoji.js +0 -12
  53. package/dist/components/FAB.js +0 -70
  54. package/dist/components/Html.js +0 -56
  55. package/dist/components/Loader.js +0 -14
  56. package/dist/components/Openletter.js +0 -443
  57. package/dist/components/Organisation.js +0 -181
  58. package/dist/components/Petition.js +0 -16
  59. package/dist/components/ProcaRoot.js +0 -23
  60. package/dist/components/ProcaStyle.js +0 -94
  61. package/dist/components/ProgressCounter.js +0 -64
  62. package/dist/components/Register.js +0 -345
  63. package/dist/components/Share.js +0 -177
  64. package/dist/components/TextField.js +0 -58
  65. package/dist/components/Twitter.js +0 -127
  66. package/dist/components/TwitterAction.js +0 -111
  67. package/dist/components/TwitterList.js +0 -25
  68. package/dist/components/TwitterText.js +0 -42
  69. package/dist/components/Widget.js +0 -266
  70. package/dist/components/bespoke/Download.js +0 -49
  71. package/dist/components/bespoke/Register-CH.js +0 -505
  72. package/dist/data/countries.json +0 -114
  73. package/dist/hooks/useConfig.js +0 -217
  74. package/dist/hooks/useCount.js +0 -95
  75. package/dist/hooks/useData.js +0 -59
  76. package/dist/hooks/useElementWidth.js +0 -46
  77. package/dist/hooks/useGeoLocation.js +0 -45
  78. package/dist/hooks/useLayout.js +0 -63
  79. package/dist/images/Twitter.js +0 -16
  80. package/dist/images/Twitter.svg +0 -1
  81. package/dist/index.css +0 -13
  82. package/dist/index.js +0 -114
  83. package/dist/lib/domparser.js +0 -12
  84. package/dist/lib/i18n.js +0 -40
  85. package/dist/lib/init.js +0 -7
  86. package/dist/lib/server.js +0 -331
  87. package/dist/lib/urlparser.js +0 -65
  88. package/dist/lib/uuid.js +0 -30
  89. package/dist/locales/README.md +0 -37
  90. package/dist/locales/common.json +0 -189
  91. package/dist/locales/de/common.json +0 -46
  92. package/dist/locales/de/index.js +0 -0
  93. package/dist/locales/en/common.json +0 -45
  94. package/dist/locales/fr/common.json +0 -51
  95. package/dist/locales/index.js +0 -27
  96. package/dist/locales/it/common.json +0 -46
  97. package/dist/logo.svg +0 -1
  98. package/dist/module.js +0 -14
  99. package/dist/slingshot.xcf +0 -0
  100. package/dist/tmp.config/0.json +0 -21
  101. package/dist/tmp.config/2.json +0 -11
  102. package/dist/tmp.config/20.json +0 -29
  103. package/dist/tmp.config/28.json +0 -14
  104. package/dist/tmp.config/32.json +0 -34
  105. package/dist/tmp.config/35.json +0 -14
  106. package/dist/tmp.config/null.json +0 -1
package/README.md CHANGED
@@ -1,48 +1,1099 @@
1
- # Proca *Progressive Campaigning*
1
+ # Command line access the proca api
2
2
 
3
- You want to engage your members and ask them to take an online action? Well, you won't be the first organisation, and you will soon realise that they aren't any decent looking petition tool that are easy to install and configure.
3
+ This is to manage the components of campaigns as an admin, or to integrate with external tools (eg. get counters and stats). For the widget builder, check [@proca/widget](https://www.npmjs.com/@proca/widget)
4
4
 
5
- And this is what this tool solves.
5
+ ## Proca: Progressive Campaigning
6
6
 
7
- ## Guiding principles and design
8
- - *Focussed*: this tool should do as little as possible. It doesn't have to be managing the content/layout of your campaign. You have already a prefered CMS for that, or can spin a wordpress one in no time. We provide action/petition widgets that you can embed into your site, we don't want to be yet another site you need to manage
9
- - *Build relationship*: We don't believe a petition is only a step in your campaign. Collecting their information so you can contact them later for more actions and campaigns
10
- - *Privacy*: We will always ask the people taking action to consent to their contact details being shared with your org. We will never use these contacts without their/and your consent.
11
- - *Sharing is caring*: We have seen how supporters can use social media to convince others to join. We see the sharing step as a key component to this tool
12
- - *Integrated*: with your CRM/mailing list. If your supporter consented it, it should be as simple as possible to have their contact detail into your mailing plateform. CSV download is not simple, timeconsuming and errorprone.
13
- - *Support coalitions*: A successful campaign will have multiple partners. We make it easy to aggregate the signature counts, we make it easy to have multiple widgets for each partner (with different consent)
7
+ Proca is an open-source campaign toolkit designed to empower activists and organisations in their digital advocacy efforts. It provides a flexible and customisable platform for creating and managing online petitions, email campaigns, and other forms of digital engagement, enabling users to effectively mobilise supporters and drive social change.
14
8
 
9
+ One of Proca's standout features is its robust support for coalition campaigns, allowing multiple organisations to collaborate seamlessly on shared initiatives. This coalition functionality enables partners to pool resources, amplify their collective voice, and reach a broader audience whilst maintaining individual branding and supporter relationships. By facilitating data sharing and joint campaign management, Proca helps coalitions to maximise their impact, streamline operations, and present a united front on critical issues, all whilst ensuring compliance with data protection regulations.
15
10
 
16
- ## Embeded in your existing website
17
11
 
18
- Introducing a new tool is often a source of frustration for the users (new login, new interface to learn, new workflow, new bugs) and extra work for the IT team (adapt the layout).
19
- There are as well the issue of introducing a new domain/subdomain (weak SEO, potential confusion for your supporters).
12
+ ## usage
20
13
 
21
- Our solution? This petition tool is as transparent as possible and embed the action into one (or several) of your existing pages).
14
+ ### global installation
15
+ <!-- usage -->
16
+ ```sh-session
17
+ $ npm install -g proca
18
+ $ proca COMMAND
19
+ running command...
20
+ $ proca (--version)
21
+ proca/1.1.5 linux-x64 node-v20.12.2
22
+ $ proca --help [COMMAND]
23
+ USAGE
24
+ $ proca COMMAND
25
+ ...
26
+ ```
27
+ <!-- usagestop -->
22
28
 
23
- ## Full encryption mode
24
- If the campaigner organisation provides an encryption key (based on NaCl, probably the best elliptic curve encryption solution), we store the signatures and actions *encrypted*. We will not be able to read them anymore. Even if the bad guys compromise the security of our server, they will not be able to read any personal data either, because the campaign organisation (having the key) is the only one that can
29
+ ### local development
25
30
 
26
- This simplify GDPR and other privacy compliance: we do not store any personal data, only encrypted blobs of data that we can't read.
31
+ ```sh-session
32
+ $ git clone https://github.com/fixthestatusquo/proca-cli.git
33
+ $ git install
34
+ $ cd proca-cli
35
+ $./proca-cli --help
36
+ ...
37
+ ```
27
38
 
28
- ## Privacy
29
- We are fully GDPR compliant. As part of a mandatory element of the signature form, we do ask the signatory to consent to be contacted, and record that information.
39
+ ### TOPICS
40
+ - campaign Handle campaigns
41
+ - org
42
+ - config create setting to access the server authentication
43
+ - widget
44
+ - supporters (counter)
30
45
 
46
+ # Commands
47
+ <!-- commands -->
48
+ * [`proca action count`](#proca-action-count)
49
+ * [`proca action list [TITLE]`](#proca-action-list-title)
50
+ * [`proca action replay`](#proca-action-replay)
51
+ * [`proca campaign add [TITLE]`](#proca-campaign-add-title)
52
+ * [`proca campaign delete`](#proca-campaign-delete)
53
+ * [`proca campaign get`](#proca-campaign-get)
54
+ * [`proca campaign list [TITLE]`](#proca-campaign-list-title)
55
+ * [`proca config add [ENVIRONMENT]`](#proca-config-add-environment)
56
+ * [`proca config get`](#proca-config-get)
57
+ * [`proca config set [KEY] [VALUE]`](#proca-config-set-key-value)
58
+ * [`proca config setup [ENVIRONMENT]`](#proca-config-setup-environment)
59
+ * [`proca config token`](#proca-config-token)
60
+ * [`proca config user`](#proca-config-user)
61
+ * [`proca help [COMMAND]`](#proca-help-command)
62
+ * [`proca org add`](#proca-org-add)
63
+ * [`proca org crm`](#proca-org-crm)
64
+ * [`proca org delete`](#proca-org-delete)
65
+ * [`proca org get`](#proca-org-get)
66
+ * [`proca org join`](#proca-org-join)
67
+ * [`proca plugins`](#proca-plugins)
68
+ * [`proca plugins add PLUGIN`](#proca-plugins-add-plugin)
69
+ * [`proca plugins:inspect PLUGIN...`](#proca-pluginsinspect-plugin)
70
+ * [`proca plugins install PLUGIN`](#proca-plugins-install-plugin)
71
+ * [`proca plugins link PATH`](#proca-plugins-link-path)
72
+ * [`proca plugins remove [PLUGIN]`](#proca-plugins-remove-plugin)
73
+ * [`proca plugins reset`](#proca-plugins-reset)
74
+ * [`proca plugins uninstall [PLUGIN]`](#proca-plugins-uninstall-plugin)
75
+ * [`proca plugins unlink [PLUGIN]`](#proca-plugins-unlink-plugin)
76
+ * [`proca plugins update`](#proca-plugins-update)
77
+ * [`proca supporter count`](#proca-supporter-count)
78
+ * [`proca user get`](#proca-user-get)
79
+ * [`proca user leave`](#proca-user-leave)
80
+ * [`proca user list`](#proca-user-list)
81
+ * [`proca widget add`](#proca-widget-add)
82
+ * [`proca widget cache`](#proca-widget-cache)
83
+ * [`proca widget get`](#proca-widget-get)
84
+ * [`proca widget list`](#proca-widget-list)
31
85
 
32
- ## Performance
86
+ ## `proca action count`
33
87
 
34
- Benchmarked at > 1'000'000 signatures per hour on a 16 core
88
+ counter of actions
35
89
 
36
- ## Technology
37
- Front and back are clearly separated. the backend is a bunch of APIs clearly documented (so it's easier to build a different front end or switch the back end)
38
- graphql
90
+ ```
91
+ USAGE
92
+ $ proca action count [ID_NAME_DXID] [--json | --human | --csv] [--simplify] [-i <value>
93
+ | -n <the_short_name> | -x <value>]
39
94
 
40
- front-end: react (next.js or gatsby to generate multiple widgets?)
41
- Back-end: elixir
95
+ FLAGS
96
+ -i, --id=<value>
97
+ -n, --name=<the_short_name> name
98
+ -x, --dxid=<value> dxid
42
99
 
43
- Please note that this project is released with a [Contributor Code of Conduct](code_of_conduct.md). By participating in this project you agree to abide by its terms.
100
+ OUTPUT FLAGS
101
+ --csv Format output as csv
102
+ --human Format output to be read on screen by a human [default]
103
+ --json Format output as json
104
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
44
105
 
45
- [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](code_of_conduct.md)
106
+ DESCRIPTION
107
+ counter of actions
46
108
 
109
+ EXAMPLES
110
+ $ proca action count --id <id of the campaign>
47
111
 
112
+ $ proca action count --name <name of the campaign>
113
+ ```
48
114
 
115
+ ## `proca action list [TITLE]`
116
+
117
+ ```
118
+ USAGE
119
+ $ proca action list [TITLE] -o <organisation name> [--json | --human | --csv] [-c
120
+ <campaign title>] [--limit <value>] [--today | --after 2025-04-09] [--optin] [--testing] [--doi] [--utm |
121
+ --simplify] [--comment | ]
122
+
123
+ ARGUMENTS
124
+ TITLE name of the campaign, % for wildchar
125
+
126
+ FLAGS
127
+ -c, --campaign=<campaign title> name of the campaign, % for wildchar
128
+ -o, --org=<organisation name> (required) campaigns of the organisation (coordinator or partner)
129
+ --after=2025-04-09 only actions after a date
130
+ --[no-]comment display the comment
131
+ --doi only export the double optin actions
132
+ --limit=<value> max number of actions
133
+ --optin only export the optin actions
134
+ --testing also export the test actions
135
+ --today only actions today
136
+ --[no-]utm display the utm tracking parameters
137
+
138
+ OUTPUT FLAGS
139
+ --csv Format output as csv
140
+ --human Format output to be read on screen by a human [default]
141
+ --json Format output as json
142
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
143
+
144
+ EXAMPLES
145
+ $ proca action list %pizza%
146
+ ```
147
+
148
+ ## `proca action replay`
149
+
150
+ ```
151
+ USAGE
152
+ $ proca action replay -o <organisation name> [--json | --human | --csv] [--simplify] [-c
153
+ <campaign title>]
154
+
155
+ FLAGS
156
+ -c, --campaign=<campaign title> name of the campaign, % for wildchar
157
+ -o, --org=<organisation name> (required) campaigns of the organisation (coordinator or partner)
158
+
159
+ OUTPUT FLAGS
160
+ --csv Format output as csv
161
+ --human Format output to be read on screen by a human [default]
162
+ --json Format output as json
163
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
164
+
165
+ EXAMPLES
166
+ $ proca action replay %pizza%
167
+ ```
168
+
169
+ ## `proca campaign add [TITLE]`
170
+
171
+ ```
172
+ USAGE
173
+ $ proca campaign add [TITLE] -n <campaign name> -o <org name> [--json | --human |
174
+ --csv] [--simplify]
175
+
176
+ ARGUMENTS
177
+ TITLE title of the campaign
178
+
179
+ FLAGS
180
+ -n, --name=<campaign name> (required) name of the campaign
181
+ -o, --org=<org name> (required) name of the coordinator
182
+
183
+ OUTPUT FLAGS
184
+ --csv Format output as csv
185
+ --human Format output to be read on screen by a human [default]
186
+ --json Format output as json
187
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
188
+
189
+ EXAMPLES
190
+ $ proca campaign add -n <new_campaign> the full name of the campaign
191
+ ```
192
+
193
+ ## `proca campaign delete`
194
+
195
+ delete a campaign
196
+
197
+ ```
198
+ USAGE
199
+ $ proca campaign delete [--json | --human | --csv] [--simplify] [-i <organisation name>]
200
+ [-n <campaign name>]
201
+
202
+ FLAGS
203
+ -i, --id=<organisation name> id of the campaign
204
+ -n, --name=<campaign name> name of the campaign
205
+
206
+ OUTPUT FLAGS
207
+ --csv Format output as csv
208
+ --human Format output to be read on screen by a human [default]
209
+ --json Format output as json
210
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
211
+
212
+ DESCRIPTION
213
+ delete a campaign
214
+
215
+ EXAMPLES
216
+ $ proca campaign delete -i 42
217
+ ```
218
+
219
+ ## `proca campaign get`
220
+
221
+ view a campaign
222
+
223
+ ```
224
+ USAGE
225
+ $ proca campaign get [ID_NAME_DXID] [--json | --human | --csv] [--simplify] [-i <value>
226
+ | -n <the_short_name> | -x <value>] [--config] [--stats] [--locale <value>]
227
+
228
+ FLAGS
229
+ -i, --id=<value>
230
+ -n, --name=<the_short_name> name
231
+ -x, --dxid=<value> dxid
232
+ --[no-]config display the config
233
+ --locale=<value> display a locale
234
+ --[no-]stats display the stats
235
+
236
+ OUTPUT FLAGS
237
+ --csv Format output as csv
238
+ --human Format output to be read on screen by a human [default]
239
+ --json Format output as json
240
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
241
+
242
+ DESCRIPTION
243
+ view a campaign
244
+
245
+ EXAMPLES
246
+ $ proca campaign get -i 42
247
+ ```
248
+
249
+ ## `proca campaign list [TITLE]`
250
+
251
+ list all the campaigns
252
+
253
+ ```
254
+ USAGE
255
+ $ proca campaign list [TITLE] [--json | --human | --csv] [--simplify] [-o <organisation
256
+ name>] [-t <campaign title>] [--stats]
257
+
258
+ ARGUMENTS
259
+ TITLE name of the campaign, % for wildchar
260
+
261
+ FLAGS
262
+ -o, --org=<organisation name> campaigns of the organisation (coordinator or partner)
263
+ -t, --title=<campaign title> name of the campaign, % for wildchar
264
+ --[no-]stats display the stats
265
+
266
+ OUTPUT FLAGS
267
+ --csv Format output as csv
268
+ --human Format output to be read on screen by a human [default]
269
+ --json Format output as json
270
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
271
+
272
+ DESCRIPTION
273
+ list all the campaigns
274
+
275
+ EXAMPLES
276
+ $ proca campaign list %pizza%
277
+ ```
278
+
279
+ ## `proca config add [ENVIRONMENT]`
280
+
281
+ create setting to access the server authentication
282
+
283
+ ```
284
+ USAGE
285
+ $ proca config add [ENVIRONMENT] --token <API-token> [--json | --human | --csv]
286
+ [--simplify] [--force] [--url <url>] [--n8n <n8n api>] [--supabase <url>] [--supabase-anon-key <value>]
287
+ [--supabase-secrey-key <value>]
288
+
289
+ ARGUMENTS
290
+ ENVIRONMENT [default: default] environment
291
+
292
+ FLAGS
293
+ --force write over an existing configuration
294
+ --n8n=<n8n api> api access on the n8n server
295
+ --supabase=<url> url of the supabase
296
+ --supabase-anon-key=<value> anonymous key
297
+ --supabase-secrey-key=<value> secret service key
298
+ --token=<API-token> (required) user token on proca server
299
+ --url=<url> [default: https://api.proca.app/api] url of the proca server api
300
+
301
+ OUTPUT FLAGS
302
+ --csv Format output as csv
303
+ --human Format output to be read on screen by a human [default]
304
+ --json Format output as json
305
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
306
+
307
+ DESCRIPTION
308
+ create setting to access the server authentication
309
+
310
+ ALIASES
311
+ $ proca config setup
312
+
313
+ EXAMPLES
314
+ $ proca config add --user=xavier@example.org --token=API-12345789
315
+ ```
316
+
317
+ ## `proca config get`
318
+
319
+ get the server config
320
+
321
+ ```
322
+ USAGE
323
+ $ proca config get [--json | --human | --csv] [--simplify]
324
+
325
+ OUTPUT FLAGS
326
+ --csv Format output as csv
327
+ --human Format output to be read on screen by a human [default]
328
+ --json Format output as json
329
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
330
+
331
+ DESCRIPTION
332
+ get the server config
333
+ ```
334
+
335
+ ## `proca config set [KEY] [VALUE]`
336
+
337
+ update the setting used to authenticate to the servers and services
338
+
339
+ ```
340
+ USAGE
341
+ $ proca config set [KEY] [VALUE] [--json | --human | --csv] [--simplify]
342
+ [--environment <value>] [--url <url>] [--token <API-token>]
343
+
344
+ ARGUMENTS
345
+ KEY variable name
346
+ VALUE value
347
+
348
+ FLAGS
349
+ --environment=<value> [default: default] environment
350
+ --token=<API-token> user token on proca server
351
+ --url=<url> [default: https://api.proca.app/api] url of the proca server api
352
+
353
+ OUTPUT FLAGS
354
+ --csv Format output as csv
355
+ --human Format output to be read on screen by a human [default]
356
+ --json Format output as json
357
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
358
+
359
+ DESCRIPTION
360
+ update the setting used to authenticate to the servers and services
361
+
362
+ ALIASES
363
+ $ proca config setup
364
+
365
+ EXAMPLES
366
+ $ proca config set --user=xavier@example.org --token=API-12345789
367
+
368
+ $ proca config set VAR1 VALUE
369
+ ```
370
+
371
+ ## `proca config setup [ENVIRONMENT]`
372
+
373
+ create setting to access the server authentication
374
+
375
+ ```
376
+ USAGE
377
+ $ proca config setup [ENVIRONMENT] --token <API-token> [--json | --human | --csv]
378
+ [--simplify] [--force] [--url <url>] [--n8n <n8n api>] [--supabase <url>] [--supabase-anon-key <value>]
379
+ [--supabase-secrey-key <value>]
380
+
381
+ ARGUMENTS
382
+ ENVIRONMENT [default: default] environment
383
+
384
+ FLAGS
385
+ --force write over an existing configuration
386
+ --n8n=<n8n api> api access on the n8n server
387
+ --supabase=<url> url of the supabase
388
+ --supabase-anon-key=<value> anonymous key
389
+ --supabase-secrey-key=<value> secret service key
390
+ --token=<API-token> (required) user token on proca server
391
+ --url=<url> [default: https://api.proca.app/api] url of the proca server api
392
+
393
+ OUTPUT FLAGS
394
+ --csv Format output as csv
395
+ --human Format output to be read on screen by a human [default]
396
+ --json Format output as json
397
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
398
+
399
+ DESCRIPTION
400
+ create setting to access the server authentication
401
+
402
+ ALIASES
403
+ $ proca config setup
404
+
405
+ EXAMPLES
406
+ $ proca config setup --user=xavier@example.org --token=API-12345789
407
+ ```
408
+
409
+ ## `proca config token`
410
+
411
+ convert between token and sql value
412
+
413
+ ```
414
+ USAGE
415
+ $ proca config token [--json | --human | --csv] [--simplify] [--token API-xxx]
416
+
417
+ FLAGS
418
+ --token=API-xxx the token in your config
419
+
420
+ OUTPUT FLAGS
421
+ --csv Format output as csv
422
+ --human Format output to be read on screen by a human [default]
423
+ --json Format output as json
424
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
425
+
426
+ DESCRIPTION
427
+ convert between token and sql value
428
+ ```
429
+
430
+ ## `proca config user`
431
+
432
+ fetch the information about the current user (based on the token)
433
+
434
+ ```
435
+ USAGE
436
+ $ proca config user [--json | --human | --csv] [--simplify]
437
+
438
+ OUTPUT FLAGS
439
+ --csv Format output as csv
440
+ --human Format output to be read on screen by a human [default]
441
+ --json Format output as json
442
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
443
+
444
+ DESCRIPTION
445
+ fetch the information about the current user (based on the token)
446
+
447
+ EXAMPLES
448
+ $ proca config user
449
+ ```
450
+
451
+ ## `proca help [COMMAND]`
452
+
453
+ Display help for proca.
454
+
455
+ ```
456
+ USAGE
457
+ $ proca help [COMMAND...] [-n]
458
+
459
+ ARGUMENTS
460
+ COMMAND... Command to show help for.
461
+
462
+ FLAGS
463
+ -n, --nested-commands Include all nested commands in the output.
464
+
465
+ DESCRIPTION
466
+ Display help for proca.
467
+ ```
468
+
469
+ _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.2.27/src/commands/help.ts)_
470
+
471
+ ## `proca org add`
472
+
473
+ ```
474
+ USAGE
475
+ $ proca org add [--json | --human | --csv] [--simplify] [--twitter <screen name>]
476
+ [-n <org name>]
477
+
478
+ FLAGS
479
+ -n, --name=<org name> name of the org
480
+ --twitter=<screen name> twitter account
481
+
482
+ OUTPUT FLAGS
483
+ --csv Format output as csv
484
+ --human Format output to be read on screen by a human [default]
485
+ --json Format output as json
486
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
487
+
488
+ EXAMPLES
489
+ $ proca org add --twitter <twitter of the organisation>
490
+ ```
491
+
492
+ ## `proca org crm`
493
+
494
+ view a org crm synchroniser
495
+
496
+ ```
497
+ USAGE
498
+ $ proca org crm -n <org name> [--json | --human | --csv] [--simplify]
499
+ [--synchronize]
500
+
501
+ FLAGS
502
+ -n, --name=<org name> (required) name of the org
503
+ --[no-]synchronize enable or disable the synchronisation queue
504
+
505
+ OUTPUT FLAGS
506
+ --csv Format output as csv
507
+ --human Format output to be read on screen by a human [default]
508
+ --json Format output as json
509
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
510
+
511
+ DESCRIPTION
512
+ view a org crm synchroniser
513
+ ```
514
+
515
+ ## `proca org delete`
516
+
517
+ ```
518
+ USAGE
519
+ $ proca org delete [ID_NAME_DXID] [--json | --human | --csv] [--simplify] [-i <value>
520
+ | -n <org name> | -x <value>]
521
+
522
+ FLAGS
523
+ -i, --id=<value>
524
+ -n, --name=<org name> name of the org
525
+ -x, --dxid=<value> dxid
526
+
527
+ OUTPUT FLAGS
528
+ --csv Format output as csv
529
+ --human Format output to be read on screen by a human [default]
530
+ --json Format output as json
531
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
532
+
533
+ EXAMPLES
534
+ $ proca org delete <organisation_name>
535
+ ```
536
+
537
+ ## `proca org get`
538
+
539
+ view a org
540
+
541
+ ```
542
+ USAGE
543
+ $ proca org get [ID_NAME_DXID] [--json | --human | --csv] [--simplify] [-n <org
544
+ name>] [--config] [--keys] [--campaigns] [--widgets] [--users]
545
+
546
+ FLAGS
547
+ -n, --name=<org name> name of the org
548
+ --[no-]campaigns
549
+ --[no-]config display the config
550
+ --[no-]keys
551
+ --[no-]users
552
+ --[no-]widgets
553
+
554
+ OUTPUT FLAGS
555
+ --csv Format output as csv
556
+ --human Format output to be read on screen by a human [default]
557
+ --json Format output as json
558
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
559
+
560
+ DESCRIPTION
561
+ view a org
562
+
563
+ EXAMPLES
564
+ $ proca org get <name of the ngo>
565
+ ```
566
+
567
+ ## `proca org join`
568
+
569
+ let a user join an organisation with a role
570
+
571
+ ```
572
+ USAGE
573
+ $ proca org join -o <org name> [--json | --human | --csv] [--simplify] [--user
574
+ <value>] [--role owner|campaigner|coordinator|translator]
575
+
576
+ FLAGS
577
+ -o, --org=<org name> (required) name of the org
578
+ --role=<option> [default: campaigner] permission level in that org
579
+ <options: owner|campaigner|coordinator|translator>
580
+ --user=<value> user email
581
+
582
+ OUTPUT FLAGS
583
+ --csv Format output as csv
584
+ --human Format output to be read on screen by a human [default]
585
+ --json Format output as json
586
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
587
+
588
+ DESCRIPTION
589
+ let a user join an organisation with a role
590
+
591
+ EXAMPLES
592
+ $ proca org join
593
+ ```
594
+
595
+ ## `proca plugins`
596
+
597
+ List installed plugins.
598
+
599
+ ```
600
+ USAGE
601
+ $ proca plugins [--json] [--core]
602
+
603
+ FLAGS
604
+ --core Show core plugins.
605
+
606
+ GLOBAL FLAGS
607
+ --json Format output as json.
608
+
609
+ DESCRIPTION
610
+ List installed plugins.
611
+
612
+ EXAMPLES
613
+ $ proca plugins
614
+ ```
615
+
616
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.25/src/commands/plugins/index.ts)_
617
+
618
+ ## `proca plugins add PLUGIN`
619
+
620
+ Installs a plugin into proca.
621
+
622
+ ```
623
+ USAGE
624
+ $ proca plugins add PLUGIN... [--json] [-f] [-h] [-s | -v]
625
+
626
+ ARGUMENTS
627
+ PLUGIN... Plugin to install.
628
+
629
+ FLAGS
630
+ -f, --force Force npm to fetch remote resources even if a local copy exists on disk.
631
+ -h, --help Show CLI help.
632
+ -s, --silent Silences npm output.
633
+ -v, --verbose Show verbose npm output.
634
+
635
+ GLOBAL FLAGS
636
+ --json Format output as json.
637
+
638
+ DESCRIPTION
639
+ Installs a plugin into proca.
640
+
641
+ Uses npm to install plugins.
642
+
643
+ Installation of a user-installed plugin will override a core plugin.
644
+
645
+ Use the PROCA_NPM_LOG_LEVEL environment variable to set the npm loglevel.
646
+ Use the PROCA_NPM_REGISTRY environment variable to set the npm registry.
647
+
648
+ ALIASES
649
+ $ proca plugins add
650
+
651
+ EXAMPLES
652
+ Install a plugin from npm registry.
653
+
654
+ $ proca plugins add myplugin
655
+
656
+ Install a plugin from a github url.
657
+
658
+ $ proca plugins add https://github.com/someuser/someplugin
659
+
660
+ Install a plugin from a github slug.
661
+
662
+ $ proca plugins add someuser/someplugin
663
+ ```
664
+
665
+ ## `proca plugins:inspect PLUGIN...`
666
+
667
+ Displays installation properties of a plugin.
668
+
669
+ ```
670
+ USAGE
671
+ $ proca plugins inspect PLUGIN...
672
+
673
+ ARGUMENTS
674
+ PLUGIN... [default: .] Plugin to inspect.
675
+
676
+ FLAGS
677
+ -h, --help Show CLI help.
678
+ -v, --verbose
679
+
680
+ GLOBAL FLAGS
681
+ --json Format output as json.
682
+
683
+ DESCRIPTION
684
+ Displays installation properties of a plugin.
685
+
686
+ EXAMPLES
687
+ $ proca plugins inspect myplugin
688
+ ```
689
+
690
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.25/src/commands/plugins/inspect.ts)_
691
+
692
+ ## `proca plugins install PLUGIN`
693
+
694
+ Installs a plugin into proca.
695
+
696
+ ```
697
+ USAGE
698
+ $ proca plugins install PLUGIN... [--json] [-f] [-h] [-s | -v]
699
+
700
+ ARGUMENTS
701
+ PLUGIN... Plugin to install.
702
+
703
+ FLAGS
704
+ -f, --force Force npm to fetch remote resources even if a local copy exists on disk.
705
+ -h, --help Show CLI help.
706
+ -s, --silent Silences npm output.
707
+ -v, --verbose Show verbose npm output.
708
+
709
+ GLOBAL FLAGS
710
+ --json Format output as json.
711
+
712
+ DESCRIPTION
713
+ Installs a plugin into proca.
714
+
715
+ Uses npm to install plugins.
716
+
717
+ Installation of a user-installed plugin will override a core plugin.
718
+
719
+ Use the PROCA_NPM_LOG_LEVEL environment variable to set the npm loglevel.
720
+ Use the PROCA_NPM_REGISTRY environment variable to set the npm registry.
721
+
722
+ ALIASES
723
+ $ proca plugins add
724
+
725
+ EXAMPLES
726
+ Install a plugin from npm registry.
727
+
728
+ $ proca plugins install myplugin
729
+
730
+ Install a plugin from a github url.
731
+
732
+ $ proca plugins install https://github.com/someuser/someplugin
733
+
734
+ Install a plugin from a github slug.
735
+
736
+ $ proca plugins install someuser/someplugin
737
+ ```
738
+
739
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.25/src/commands/plugins/install.ts)_
740
+
741
+ ## `proca plugins link PATH`
742
+
743
+ Links a plugin into the CLI for development.
744
+
745
+ ```
746
+ USAGE
747
+ $ proca plugins link PATH [-h] [--install] [-v]
748
+
749
+ ARGUMENTS
750
+ PATH [default: .] path to plugin
751
+
752
+ FLAGS
753
+ -h, --help Show CLI help.
754
+ -v, --verbose
755
+ --[no-]install Install dependencies after linking the plugin.
756
+
757
+ DESCRIPTION
758
+ Links a plugin into the CLI for development.
759
+
760
+ Installation of a linked plugin will override a user-installed or core plugin.
761
+
762
+ e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
763
+ command will override the user-installed or core plugin implementation. This is useful for development work.
764
+
765
+
766
+ EXAMPLES
767
+ $ proca plugins link myplugin
768
+ ```
769
+
770
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.25/src/commands/plugins/link.ts)_
771
+
772
+ ## `proca plugins remove [PLUGIN]`
773
+
774
+ Removes a plugin from the CLI.
775
+
776
+ ```
777
+ USAGE
778
+ $ proca plugins remove [PLUGIN...] [-h] [-v]
779
+
780
+ ARGUMENTS
781
+ PLUGIN... plugin to uninstall
782
+
783
+ FLAGS
784
+ -h, --help Show CLI help.
785
+ -v, --verbose
786
+
787
+ DESCRIPTION
788
+ Removes a plugin from the CLI.
789
+
790
+ ALIASES
791
+ $ proca plugins unlink
792
+ $ proca plugins remove
793
+
794
+ EXAMPLES
795
+ $ proca plugins remove myplugin
796
+ ```
797
+
798
+ ## `proca plugins reset`
799
+
800
+ Remove all user-installed and linked plugins.
801
+
802
+ ```
803
+ USAGE
804
+ $ proca plugins reset [--hard] [--reinstall]
805
+
806
+ FLAGS
807
+ --hard Delete node_modules and package manager related files in addition to uninstalling plugins.
808
+ --reinstall Reinstall all plugins after uninstalling.
809
+ ```
810
+
811
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.25/src/commands/plugins/reset.ts)_
812
+
813
+ ## `proca plugins uninstall [PLUGIN]`
814
+
815
+ Removes a plugin from the CLI.
816
+
817
+ ```
818
+ USAGE
819
+ $ proca plugins uninstall [PLUGIN...] [-h] [-v]
820
+
821
+ ARGUMENTS
822
+ PLUGIN... plugin to uninstall
823
+
824
+ FLAGS
825
+ -h, --help Show CLI help.
826
+ -v, --verbose
827
+
828
+ DESCRIPTION
829
+ Removes a plugin from the CLI.
830
+
831
+ ALIASES
832
+ $ proca plugins unlink
833
+ $ proca plugins remove
834
+
835
+ EXAMPLES
836
+ $ proca plugins uninstall myplugin
837
+ ```
838
+
839
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.25/src/commands/plugins/uninstall.ts)_
840
+
841
+ ## `proca plugins unlink [PLUGIN]`
842
+
843
+ Removes a plugin from the CLI.
844
+
845
+ ```
846
+ USAGE
847
+ $ proca plugins unlink [PLUGIN...] [-h] [-v]
848
+
849
+ ARGUMENTS
850
+ PLUGIN... plugin to uninstall
851
+
852
+ FLAGS
853
+ -h, --help Show CLI help.
854
+ -v, --verbose
855
+
856
+ DESCRIPTION
857
+ Removes a plugin from the CLI.
858
+
859
+ ALIASES
860
+ $ proca plugins unlink
861
+ $ proca plugins remove
862
+
863
+ EXAMPLES
864
+ $ proca plugins unlink myplugin
865
+ ```
866
+
867
+ ## `proca plugins update`
868
+
869
+ Update installed plugins.
870
+
871
+ ```
872
+ USAGE
873
+ $ proca plugins update [-h] [-v]
874
+
875
+ FLAGS
876
+ -h, --help Show CLI help.
877
+ -v, --verbose
878
+
879
+ DESCRIPTION
880
+ Update installed plugins.
881
+ ```
882
+
883
+ _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v5.4.25/src/commands/plugins/update.ts)_
884
+
885
+ ## `proca supporter count`
886
+
887
+ counter of supporters
888
+
889
+ ```
890
+ USAGE
891
+ $ proca supporter count [ID_NAME_DXID] [--json | --human | --csv] [--simplify] [-i <value>
892
+ | -n <the_short_name> | -x <value>] [--org] [--area] [--number --without <value>]
893
+
894
+ FLAGS
895
+ -i, --id=<value>
896
+ -n, --name=<the_short_name> name
897
+ -x, --dxid=<value> dxid
898
+ --area segment by area
899
+ --number just return the number to add to the partner's counter
900
+ --org segment by partner
901
+ --without=<value> total to add to the partner's counter
902
+
903
+ OUTPUT FLAGS
904
+ --csv Format output as csv
905
+ --human Format output to be read on screen by a human [default]
906
+ --json Format output as json
907
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
908
+
909
+ DESCRIPTION
910
+ counter of supporters
911
+
912
+ EXAMPLES
913
+ $ proca supporter count --id <id of the campaign>
914
+
915
+ $ proca supporter count --name <name of the campaign>
916
+ ```
917
+
918
+ ## `proca user get`
919
+
920
+ fetch the information about a user
921
+
922
+ ```
923
+ USAGE
924
+ $ proca user get [--json | --human | --csv] [--simplify] [--email <value>] [-o <org
925
+ name>] [-i <value>]
926
+
927
+ FLAGS
928
+ -i, --id=<value> id of the user
929
+ -o, --org=<org name> name of the org
930
+ --email=<value> user email
931
+
932
+ OUTPUT FLAGS
933
+ --csv Format output as csv
934
+ --human Format output to be read on screen by a human [default]
935
+ --json Format output as json
936
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
937
+
938
+ DESCRIPTION
939
+ fetch the information about a user
940
+
941
+ EXAMPLES
942
+ $ proca user get
943
+ ```
944
+
945
+ ## `proca user leave`
946
+
947
+ leave a org
948
+
949
+ ```
950
+ USAGE
951
+ $ proca user leave --email <user email> -o <org name> [--json | --human | --csv]
952
+ [--simplify]
953
+
954
+ FLAGS
955
+ -o, --org=<org name> (required) name of the org
956
+ --email=<user email> (required) email
957
+
958
+ OUTPUT FLAGS
959
+ --csv Format output as csv
960
+ --human Format output to be read on screen by a human [default]
961
+ --json Format output as json
962
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
963
+
964
+ DESCRIPTION
965
+ leave a org
966
+
967
+ EXAMPLES
968
+ $ proca user leave -i 42
969
+ ```
970
+
971
+ ## `proca user list`
972
+
973
+ list all the users
974
+
975
+ ```
976
+ USAGE
977
+ $ proca user list -o <value> [--json | --human | --csv] [--simplify]
978
+
979
+ FLAGS
980
+ -o, --org=<value> (required) organisation
981
+
982
+ OUTPUT FLAGS
983
+ --csv Format output as csv
984
+ --human Format output to be read on screen by a human [default]
985
+ --json Format output as json
986
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
987
+
988
+ DESCRIPTION
989
+ list all the users
990
+
991
+ EXAMPLES
992
+ $ proca user list %pizza%
993
+ ```
994
+
995
+ ## `proca widget add`
996
+
997
+ ```
998
+ USAGE
999
+ $ proca widget add -c <campaign name> [--json | --human | --csv] [--simplify] [-o
1000
+ <en>] [-l <en>] [-n by default <campaign>/<org>/<lang>]
1001
+
1002
+ FLAGS
1003
+ -c, --campaign=<campaign name> (required) name of the campaign
1004
+ -l, --lang=<en> [default: en] language
1005
+ -n, --name=by default <campaign>/<org>/<lang> url slug
1006
+ -o, --org=<en> organisation
1007
+
1008
+ OUTPUT FLAGS
1009
+ --csv Format output as csv
1010
+ --human Format output to be read on screen by a human [default]
1011
+ --json Format output as json
1012
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
1013
+ ```
1014
+
1015
+ ## `proca widget cache`
1016
+
1017
+ clear the cdn cache of a widget
1018
+
1019
+ ```
1020
+ USAGE
1021
+ $ proca widget cache [ID_NAME_DXID] [--json | --human | --csv] [--simplify] [-i <value>
1022
+ | -n <the_short_name> | -x <value>] [--url <value>]
1023
+
1024
+ FLAGS
1025
+ -i, --id=<value>
1026
+ -n, --name=<the_short_name> name
1027
+ -x, --dxid=<value> dxid
1028
+ --url=<value> url of the widget on the CDN
1029
+
1030
+ OUTPUT FLAGS
1031
+ --csv Format output as csv
1032
+ --human Format output to be read on screen by a human [default]
1033
+ --json Format output as json
1034
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
1035
+
1036
+ DESCRIPTION
1037
+ clear the cdn cache of a widget
1038
+
1039
+ EXAMPLES
1040
+ $ proca widget cache --url https://cdn.proca.app/d/[campaign]/[org]/[locale]
1041
+
1042
+ $ proca widget cache --name [campaign]/[org]/[locale]
1043
+ ```
1044
+
1045
+ ## `proca widget get`
1046
+
1047
+ view a widget
1048
+
1049
+ ```
1050
+ USAGE
1051
+ $ proca widget get [ID_NAME_DXID] [--json | --human | --csv] [--simplify] [-i <value>
1052
+ | -n <the_short_name> | -x <value>] [--config]
1053
+
1054
+ FLAGS
1055
+ -i, --id=<value>
1056
+ -n, --name=<the_short_name> name
1057
+ -x, --dxid=<value> dxid
1058
+ --[no-]config display the config
1059
+
1060
+ OUTPUT FLAGS
1061
+ --csv Format output as csv
1062
+ --human Format output to be read on screen by a human [default]
1063
+ --json Format output as json
1064
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
1065
+
1066
+ DESCRIPTION
1067
+ view a widget
1068
+
1069
+ EXAMPLES
1070
+ $ proca widget get <path of the widget>
1071
+ ```
1072
+
1073
+ ## `proca widget list`
1074
+
1075
+ list all the widgets of an org or campaign
1076
+
1077
+ ```
1078
+ USAGE
1079
+ $ proca widget list [--json | --human | --csv] [--simplify] [-o <organisation name>]
1080
+ [-c <campaign name>] [--config]
1081
+
1082
+ FLAGS
1083
+ -c, --campaign=<campaign name> widgets of the campaign (coordinator or partner)
1084
+ -o, --org=<organisation name> widgets of the organisation (coordinator or partner)
1085
+ --[no-]config get the config
1086
+
1087
+ OUTPUT FLAGS
1088
+ --csv Format output as csv
1089
+ --human Format output to be read on screen by a human [default]
1090
+ --json Format output as json
1091
+ --[no-]simplify flatten and filter to output only the most important attributes, mostly relevant for json
1092
+
1093
+ DESCRIPTION
1094
+ list all the widgets of an org or campaign
1095
+
1096
+ EXAMPLES
1097
+ $ proca widget list -o <organisation>
1098
+ ```
1099
+ <!-- commandsstop -->