@crowdin/n8n-nodes-crowdin 0.20.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/nodes/Crowdin/methods/common/index.js +8 -0
  2. package/dist/nodes/Crowdin/methods/common/index.js.map +1 -1
  3. package/dist/nodes/Crowdin/properties/crowdin/fileBased/ai.js +558 -2
  4. package/dist/nodes/Crowdin/properties/crowdin/fileBased/ai.js.map +1 -1
  5. package/dist/nodes/Crowdin/properties/crowdin/fileBased/applications.js +1250 -220
  6. package/dist/nodes/Crowdin/properties/crowdin/fileBased/applications.js.map +1 -1
  7. package/dist/nodes/Crowdin/properties/crowdin/fileBased/glossaries.js +187 -1
  8. package/dist/nodes/Crowdin/properties/crowdin/fileBased/glossaries.js.map +1 -1
  9. package/dist/nodes/Crowdin/properties/crowdin/fileBased/index.js +2 -2
  10. package/dist/nodes/Crowdin/properties/crowdin/fileBased/index.js.map +1 -1
  11. package/dist/nodes/Crowdin/properties/crowdin/fileBased/projects.js +71 -0
  12. package/dist/nodes/Crowdin/properties/crowdin/fileBased/projects.js.map +1 -1
  13. package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceFiles.js +585 -0
  14. package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceFiles.js.map +1 -1
  15. package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceStrings.js +261 -0
  16. package/dist/nodes/Crowdin/properties/crowdin/fileBased/sourceStrings.js.map +1 -1
  17. package/dist/nodes/Crowdin/properties/crowdin/fileBased/stringAssetTranslations.js +243 -1
  18. package/dist/nodes/Crowdin/properties/crowdin/fileBased/stringAssetTranslations.js.map +1 -1
  19. package/dist/nodes/Crowdin/properties/crowdin/fileBased/styleGuides.js +2 -2
  20. package/dist/nodes/Crowdin/properties/crowdin/fileBased/styleGuides.js.map +1 -1
  21. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translationMemory.js +240 -1
  22. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translationMemory.js.map +1 -1
  23. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translations.js +97 -36
  24. package/dist/nodes/Crowdin/properties/crowdin/fileBased/translations.js.map +1 -1
  25. package/dist/nodes/Crowdin/properties/crowdin/stringBased/ai.js +558 -2
  26. package/dist/nodes/Crowdin/properties/crowdin/stringBased/ai.js.map +1 -1
  27. package/dist/nodes/Crowdin/properties/crowdin/stringBased/applications.js +1250 -220
  28. package/dist/nodes/Crowdin/properties/crowdin/stringBased/applications.js.map +1 -1
  29. package/dist/nodes/Crowdin/properties/crowdin/stringBased/branches.js +175 -0
  30. package/dist/nodes/Crowdin/properties/crowdin/stringBased/branches.js.map +1 -1
  31. package/dist/nodes/Crowdin/properties/crowdin/stringBased/glossaries.js +187 -1
  32. package/dist/nodes/Crowdin/properties/crowdin/stringBased/glossaries.js.map +1 -1
  33. package/dist/nodes/Crowdin/properties/crowdin/stringBased/index.js +2 -2
  34. package/dist/nodes/Crowdin/properties/crowdin/stringBased/index.js.map +1 -1
  35. package/dist/nodes/Crowdin/properties/crowdin/stringBased/projects.js +57 -0
  36. package/dist/nodes/Crowdin/properties/crowdin/stringBased/projects.js.map +1 -1
  37. package/dist/nodes/Crowdin/properties/crowdin/stringBased/sourceStrings.js +261 -0
  38. package/dist/nodes/Crowdin/properties/crowdin/stringBased/sourceStrings.js.map +1 -1
  39. package/dist/nodes/Crowdin/properties/crowdin/stringBased/stringTranslations.js +243 -1
  40. package/dist/nodes/Crowdin/properties/crowdin/stringBased/stringTranslations.js.map +1 -1
  41. package/dist/nodes/Crowdin/properties/crowdin/stringBased/styleGuides.js +2 -2
  42. package/dist/nodes/Crowdin/properties/crowdin/stringBased/styleGuides.js.map +1 -1
  43. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translationMemory.js +240 -1
  44. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translationMemory.js.map +1 -1
  45. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translations.js +34 -34
  46. package/dist/nodes/Crowdin/properties/crowdin/stringBased/translations.js.map +1 -1
  47. package/dist/nodes/Crowdin/properties/enterprise/fileBased/ai.js +537 -2
  48. package/dist/nodes/Crowdin/properties/enterprise/fileBased/ai.js.map +1 -1
  49. package/dist/nodes/Crowdin/properties/enterprise/fileBased/applications.js +822 -297
  50. package/dist/nodes/Crowdin/properties/enterprise/fileBased/applications.js.map +1 -1
  51. package/dist/nodes/Crowdin/properties/enterprise/fileBased/glossaries.js +159 -1
  52. package/dist/nodes/Crowdin/properties/enterprise/fileBased/glossaries.js.map +1 -1
  53. package/dist/nodes/Crowdin/properties/enterprise/fileBased/index.js +3 -3
  54. package/dist/nodes/Crowdin/properties/enterprise/fileBased/index.js.map +1 -1
  55. package/dist/nodes/Crowdin/properties/enterprise/fileBased/projectsAndGroups.js +100 -4
  56. package/dist/nodes/Crowdin/properties/enterprise/fileBased/projectsAndGroups.js.map +1 -1
  57. package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceFiles.js +501 -0
  58. package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceFiles.js.map +1 -1
  59. package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceStrings.js +233 -0
  60. package/dist/nodes/Crowdin/properties/enterprise/fileBased/sourceStrings.js.map +1 -1
  61. package/dist/nodes/Crowdin/properties/enterprise/fileBased/stringAssetTranslations.js +215 -1
  62. package/dist/nodes/Crowdin/properties/enterprise/fileBased/stringAssetTranslations.js.map +1 -1
  63. package/dist/nodes/Crowdin/properties/enterprise/fileBased/styleGuides.js +2 -2
  64. package/dist/nodes/Crowdin/properties/enterprise/fileBased/styleGuides.js.map +1 -1
  65. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translationMemory.js +212 -1
  66. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translationMemory.js.map +1 -1
  67. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translations.js +98 -36
  68. package/dist/nodes/Crowdin/properties/enterprise/fileBased/translations.js.map +1 -1
  69. package/dist/nodes/Crowdin/properties/enterprise/stringBased/ai.js +537 -2
  70. package/dist/nodes/Crowdin/properties/enterprise/stringBased/ai.js.map +1 -1
  71. package/dist/nodes/Crowdin/properties/enterprise/stringBased/applications.js +822 -297
  72. package/dist/nodes/Crowdin/properties/enterprise/stringBased/applications.js.map +1 -1
  73. package/dist/nodes/Crowdin/properties/enterprise/stringBased/branches.js +147 -0
  74. package/dist/nodes/Crowdin/properties/enterprise/stringBased/branches.js.map +1 -1
  75. package/dist/nodes/Crowdin/properties/enterprise/stringBased/glossaries.js +159 -1
  76. package/dist/nodes/Crowdin/properties/enterprise/stringBased/glossaries.js.map +1 -1
  77. package/dist/nodes/Crowdin/properties/enterprise/stringBased/index.js +3 -3
  78. package/dist/nodes/Crowdin/properties/enterprise/stringBased/index.js.map +1 -1
  79. package/dist/nodes/Crowdin/properties/enterprise/stringBased/projectsAndGroups.js +86 -4
  80. package/dist/nodes/Crowdin/properties/enterprise/stringBased/projectsAndGroups.js.map +1 -1
  81. package/dist/nodes/Crowdin/properties/enterprise/stringBased/sourceStrings.js +233 -0
  82. package/dist/nodes/Crowdin/properties/enterprise/stringBased/sourceStrings.js.map +1 -1
  83. package/dist/nodes/Crowdin/properties/enterprise/stringBased/stringTranslations.js +215 -1
  84. package/dist/nodes/Crowdin/properties/enterprise/stringBased/stringTranslations.js.map +1 -1
  85. package/dist/nodes/Crowdin/properties/enterprise/stringBased/styleGuides.js +2 -2
  86. package/dist/nodes/Crowdin/properties/enterprise/stringBased/styleGuides.js.map +1 -1
  87. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translationMemory.js +212 -1
  88. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translationMemory.js.map +1 -1
  89. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translations.js +35 -35
  90. package/dist/nodes/Crowdin/properties/enterprise/stringBased/translations.js.map +1 -1
  91. package/dist/package.json +1 -1
  92. package/dist/tsconfig.tsbuildinfo +1 -1
  93. package/package.json +1 -1
@@ -16,6 +16,95 @@ exports.applicationsProperties = [
16
16
  }
17
17
  },
18
18
  options: [
19
+ {
20
+ name: 'List Application Consent Decisions',
21
+ value: 'api.applications.consents.getMany',
22
+ action: 'List Application Consent Decisions',
23
+ description: '**Required scopes:** `application` (Read only).\n\nList the current user\'s consent decisions - which applications the user allowed (`granted`) or refused (`denied`) to call the Crowdin API on their behalf.',
24
+ routing: {
25
+ request: {
26
+ method: 'GET',
27
+ url: '=/applications/consents'
28
+ },
29
+ send: {
30
+ paginate: '={{$parameter["returnAll"]}}'
31
+ },
32
+ output: {
33
+ postReceive: [
34
+ {
35
+ type: 'rootProperty',
36
+ enabled: '={{!$parameter["returnAll"]}}',
37
+ properties: {
38
+ property: 'data'
39
+ }
40
+ }
41
+ ]
42
+ }
43
+ }
44
+ },
45
+ {
46
+ name: 'Create Application Consent Decision',
47
+ value: 'api.applications.consents.post',
48
+ action: 'Create Application Consent Decision',
49
+ description: '**Required scopes:** `application` (Read and Write).\n\nRecord the current user\'s consent decision (`granted` or `denied`) for an application installed by another user. In the normal flow Crowdin records the decision itself when the user responds to the consent prompt shown for the application - use this endpoint to record a decision programmatically. A user has at most one decision per installation - creating a second one returns `409`; use [Edit Application Consent Decision](#operation/api.applications.consents.patch) to change an existing decision.',
50
+ routing: {
51
+ request: {
52
+ method: 'POST',
53
+ url: '=/applications/consents'
54
+ }
55
+ }
56
+ },
57
+ {
58
+ name: 'Delete Application Consent Decision',
59
+ value: 'api.applications.consents.delete',
60
+ action: 'Delete Application Consent Decision',
61
+ description: '**Required scopes:** `application` (Read and Write).\n\nForget the current user\'s consent decision for an application. The next call from that application will prompt for consent again.',
62
+ routing: {
63
+ request: {
64
+ method: 'DELETE',
65
+ url: '=/applications/consents/{{$parameter["consentId"]}}'
66
+ },
67
+ output: {
68
+ postReceive: [
69
+ {
70
+ type: 'set',
71
+ properties: {
72
+ value: '={{ { "success": true } }}'
73
+ }
74
+ }
75
+ ]
76
+ }
77
+ }
78
+ },
79
+ {
80
+ name: 'Edit Application Consent Decision',
81
+ value: 'api.applications.consents.patch',
82
+ action: 'Edit Application Consent Decision',
83
+ description: '**Required scopes:** `application` (Read and Write).\n\nChange an existing consent decision: switch its `status` between `granted` and `denied`, or update the `scopes` snapshot.',
84
+ routing: {
85
+ request: {
86
+ method: 'PATCH',
87
+ url: '=/applications/consents/{{$parameter["consentId"]}}'
88
+ },
89
+ send: {
90
+ preSend: [
91
+ preSend_1.transformToJsonPatch
92
+ ]
93
+ }
94
+ }
95
+ },
96
+ {
97
+ name: 'Upload Application Bundle',
98
+ value: 'api.applications.installations.bundles.post',
99
+ action: 'Upload Application Bundle',
100
+ description: '**Required scopes:** `application` (Read and Write).\n\nUpload a bundle archive for a serverless app installed from manifest content. The bundle must be a ZIP archive that contains a non-empty `app.js` entry point at its root.',
101
+ routing: {
102
+ request: {
103
+ method: 'POST',
104
+ url: '=/applications/installations/{{$parameter["identifier"]}}/bundles'
105
+ }
106
+ }
107
+ },
19
108
  {
20
109
  name: 'List Application Installations',
21
110
  value: 'api.applications.installations.getMany',
@@ -46,7 +135,7 @@ exports.applicationsProperties = [
46
135
  name: 'Install Application',
47
136
  value: 'api.applications.installations.post',
48
137
  action: 'Install Application',
49
- description: '**Required scopes:** `application` (Read and Write).',
138
+ description: '**Required scopes:** `application` (Read and Write).\n\nInstall an application either from a hosted manifest URL or from its manifest content.<br><br>**Note:** Any application - with or without a backend, and regardless of whether it is published to the Crowdin Store - can be installed from a manifest URL (the manifest only needs to be reachable at that URL). Installing from manifest content is supported only for serverless apps - apps that run entirely in the browser with no backend (no `baseUrl`).',
50
139
  routing: {
51
140
  request: {
52
141
  method: 'POST',
@@ -89,19 +178,14 @@ exports.applicationsProperties = [
89
178
  }
90
179
  },
91
180
  {
92
- name: 'Update Application Permissions',
181
+ name: 'Edit Application Installation',
93
182
  value: 'api.applications.installations.patch',
94
- action: 'Update Application Permissions',
183
+ action: 'Edit Application Installation',
95
184
  description: '**Required scopes:** `application` (Read and Write).',
96
185
  routing: {
97
186
  request: {
98
187
  method: 'PATCH',
99
188
  url: '=/applications/installations/{{$parameter["identifier"]}}'
100
- },
101
- send: {
102
- preSend: [
103
- preSend_1.transformToJsonPatch
104
- ]
105
189
  }
106
190
  }
107
191
  },
@@ -215,7 +299,102 @@ exports.applicationsProperties = [
215
299
  }
216
300
  }
217
301
  ],
218
- default: 'api.applications.installations.getMany'
302
+ default: 'api.applications.consents.getMany'
303
+ },
304
+ {
305
+ displayName: 'GET /applications/consents',
306
+ name: 'operation',
307
+ type: 'notice',
308
+ typeOptions: {
309
+ theme: 'info'
310
+ },
311
+ default: '',
312
+ displayOptions: {
313
+ show: {
314
+ resource: [
315
+ 'applications'
316
+ ],
317
+ operation: [
318
+ 'api.applications.consents.getMany'
319
+ ]
320
+ }
321
+ }
322
+ },
323
+ {
324
+ displayName: 'POST /applications/consents',
325
+ name: 'operation',
326
+ type: 'notice',
327
+ typeOptions: {
328
+ theme: 'info'
329
+ },
330
+ default: '',
331
+ displayOptions: {
332
+ show: {
333
+ resource: [
334
+ 'applications'
335
+ ],
336
+ operation: [
337
+ 'api.applications.consents.post'
338
+ ]
339
+ }
340
+ }
341
+ },
342
+ {
343
+ displayName: 'DELETE /applications/consents/{consentId}',
344
+ name: 'operation',
345
+ type: 'notice',
346
+ typeOptions: {
347
+ theme: 'info'
348
+ },
349
+ default: '',
350
+ displayOptions: {
351
+ show: {
352
+ resource: [
353
+ 'applications'
354
+ ],
355
+ operation: [
356
+ 'api.applications.consents.delete'
357
+ ]
358
+ }
359
+ }
360
+ },
361
+ {
362
+ displayName: 'PATCH /applications/consents/{consentId}',
363
+ name: 'operation',
364
+ type: 'notice',
365
+ typeOptions: {
366
+ theme: 'info'
367
+ },
368
+ default: '',
369
+ displayOptions: {
370
+ show: {
371
+ resource: [
372
+ 'applications'
373
+ ],
374
+ operation: [
375
+ 'api.applications.consents.patch'
376
+ ]
377
+ }
378
+ }
379
+ },
380
+ {
381
+ displayName: 'POST /applications/installations/{identifier}/bundles',
382
+ name: 'operation',
383
+ type: 'notice',
384
+ typeOptions: {
385
+ theme: 'info'
386
+ },
387
+ default: '',
388
+ displayOptions: {
389
+ show: {
390
+ resource: [
391
+ 'applications'
392
+ ],
393
+ operation: [
394
+ 'api.applications.installations.bundles.post'
395
+ ]
396
+ }
397
+ }
219
398
  },
220
399
  {
221
400
  displayName: 'GET /applications/installations',
@@ -465,7 +644,7 @@ exports.applicationsProperties = [
465
644
  'applications'
466
645
  ],
467
646
  operation: [
468
- 'api.applications.installations.getMany'
647
+ 'api.applications.consents.getMany'
469
648
  ],
470
649
  returnAll: [
471
650
  false
@@ -477,16 +656,16 @@ exports.applicationsProperties = [
477
656
  }
478
657
  },
479
658
  {
480
- displayName: 'Installed By',
481
- name: 'installedBy',
482
- description: 'User Identifier',
659
+ displayName: 'Identifier',
660
+ name: 'identifier',
661
+ description: 'Filter by application identifier',
483
662
  default: '',
484
663
  type: 'options',
485
664
  routing: {
486
665
  send: {
487
666
  type: 'query',
488
- property: 'installedBy',
489
- value: '={{ typeof $value === \'number\' ? $value : undefined }}',
667
+ property: 'identifier',
668
+ value: '={{ $value || undefined }}',
490
669
  propertyInDotNotation: false
491
670
  }
492
671
  },
@@ -496,12 +675,12 @@ exports.applicationsProperties = [
496
675
  'applications'
497
676
  ],
498
677
  operation: [
499
- 'api.applications.installations.getMany'
678
+ 'api.applications.consents.getMany'
500
679
  ]
501
680
  }
502
681
  },
503
682
  typeOptions: {
504
- loadOptionsMethod: 'getUsers'
683
+ loadOptionsMethod: 'getApplicationInstallations'
505
684
  }
506
685
  },
507
686
  {
@@ -524,22 +703,22 @@ exports.applicationsProperties = [
524
703
  'applications'
525
704
  ],
526
705
  operation: [
527
- 'api.applications.installations.getMany'
706
+ 'api.applications.consents.getMany'
528
707
  ]
529
708
  }
530
709
  },
531
710
  placeholder: 'createdAt desc'
532
711
  },
533
712
  {
534
- displayName: 'Url',
713
+ displayName: 'Identifier',
535
714
  required: true,
536
- name: 'url',
537
- type: 'string',
715
+ name: 'identifier',
716
+ type: 'options',
538
717
  default: '',
539
- description: 'Manifest URL',
718
+ description: 'Application identifier the decision applies to - the same `identifier` as in [List Application Installations](#operation/api.applications.installations.getMany)',
540
719
  routing: {
541
720
  send: {
542
- property: 'url',
721
+ property: 'identifier',
543
722
  propertyInDotNotation: false,
544
723
  type: 'body',
545
724
  value: '={{ $value || undefined }}'
@@ -551,27 +730,91 @@ exports.applicationsProperties = [
551
730
  'applications'
552
731
  ],
553
732
  operation: [
554
- 'api.applications.installations.post'
733
+ 'api.applications.consents.post'
734
+ ]
735
+ }
736
+ },
737
+ typeOptions: {
738
+ loadOptionsMethod: 'getApplicationInstallations'
739
+ }
740
+ },
741
+ {
742
+ displayName: 'Installed By',
743
+ required: true,
744
+ name: 'installedBy',
745
+ type: 'options',
746
+ default: '',
747
+ description: 'Identifier of the user who installed the application - the same as `installedBy.id` in [List Application Installations](#operation/api.applications.installations.getMany). Together with `identifier` it pins the decision to a specific installation',
748
+ routing: {
749
+ send: {
750
+ property: 'installedBy',
751
+ propertyInDotNotation: false,
752
+ type: 'body',
753
+ value: '={{ $value }}'
754
+ }
755
+ },
756
+ displayOptions: {
757
+ show: {
758
+ resource: [
759
+ 'applications'
760
+ ],
761
+ operation: [
762
+ 'api.applications.consents.post'
555
763
  ]
556
764
  }
557
765
  },
558
- placeholder: 'https://localhost.dev/crowdin.json'
766
+ typeOptions: {
767
+ loadOptionsMethod: 'getUsers'
768
+ }
769
+ },
770
+ {
771
+ displayName: 'Status',
772
+ required: true,
773
+ name: 'status',
774
+ type: 'options',
775
+ default: 'granted',
776
+ description: 'The decision: whether the application may act on behalf of the current user',
777
+ options: [
778
+ {
779
+ name: 'granted',
780
+ value: 'granted'
781
+ },
782
+ {
783
+ name: 'denied',
784
+ value: 'denied'
785
+ }
786
+ ],
787
+ routing: {
788
+ send: {
789
+ property: 'status',
790
+ propertyInDotNotation: false,
791
+ type: 'body',
792
+ value: '={{ $value }}'
793
+ }
794
+ },
795
+ displayOptions: {
796
+ show: {
797
+ resource: [
798
+ 'applications'
799
+ ],
800
+ operation: [
801
+ 'api.applications.consents.post'
802
+ ]
803
+ }
804
+ }
559
805
  },
560
806
  {
561
- displayName: 'Permissions',
562
- name: 'permissions',
807
+ displayName: 'Scopes',
808
+ name: 'scopes',
563
809
  type: 'fixedCollection',
564
810
  default: {},
565
- description: undefined,
811
+ description: 'Scopes the decision was made for - a snapshot of the application scopes at decision time.<br><br>Available scopes: `*`, `language`, `user`, `team`, `notification`, `custom_language`, `group`, `tm`, `glossary`, `style-guide`, `mt`, `ai`, `ai.provider`, `ai.prompt`, `ai.proxy`, `ai.translate`, `automation`, `automation.rule`, `automation.rule.execution`, `webhook`, `project`, `project.settings`, `project.member`, `project.status`, `project.status.issue`, `project.status.progress`, `project.status.qa-check`, `project.source`, `project.source.file`, `project.source.string`, `project.translation`, `project.screenshot`, `project.webhook`, `project.task`, `project.dictionary`, `project.report`, `project.advisor`, `client`, `vendor`, `field`, `security-log`, `application`, `organization`, `custom-spellchecker`, `external-qa-check`.<br><br>Each scope supports `:read` and `:write` modifiers (e.g. `project:read`, `project:write`); without a modifier the scope grants both',
566
812
  routing: {
567
813
  send: {
568
- property: 'permissions',
814
+ property: 'scopes',
569
815
  propertyInDotNotation: false,
570
816
  type: 'body',
571
- value: '={{ $value.fields || undefined }}',
572
- preSend: [
573
- preSend_1.normalizeFieldBody
574
- ]
817
+ value: '={{ $value.items?.map(i => i._value) || undefined }}'
575
818
  }
576
819
  },
577
820
  displayOptions: {
@@ -580,72 +823,731 @@ exports.applicationsProperties = [
580
823
  'applications'
581
824
  ],
582
825
  operation: [
583
- 'api.applications.installations.post'
826
+ 'api.applications.consents.post'
584
827
  ]
585
828
  }
586
829
  },
587
- placeholder: 'Add Field',
830
+ typeOptions: {
831
+ multipleValues: true
832
+ },
833
+ placeholder: 'Add Item',
588
834
  options: [
589
835
  {
590
- displayName: 'Fields',
591
- name: 'fields',
836
+ displayName: 'Items',
837
+ name: 'items',
592
838
  values: [
593
839
  {
594
- displayName: 'Project',
595
- name: 'project',
596
- type: 'fixedCollection',
597
- default: {},
598
- description: undefined,
599
- placeholder: 'Add Field',
600
- options: [
601
- {
602
- displayName: 'Fields',
603
- name: 'fields',
604
- values: [
605
- {
606
- displayName: 'Value',
607
- name: 'value',
608
- type: 'options',
609
- default: '',
610
- description: undefined,
611
- options: [
612
- {
613
- name: '-',
614
- value: ''
615
- },
616
- {
617
- name: 'own',
618
- value: 'own'
619
- },
620
- {
621
- name: 'restricted',
622
- value: 'restricted'
840
+ displayName: 'Value',
841
+ name: '_value',
842
+ type: 'string',
843
+ default: ''
844
+ }
845
+ ]
846
+ }
847
+ ]
848
+ },
849
+ {
850
+ displayName: 'Consent Id',
851
+ name: 'consentId',
852
+ required: true,
853
+ description: 'Consent Decision Identifier',
854
+ default: '',
855
+ type: 'options',
856
+ displayOptions: {
857
+ show: {
858
+ resource: [
859
+ 'applications'
860
+ ],
861
+ operation: [
862
+ 'api.applications.consents.delete'
863
+ ]
864
+ }
865
+ },
866
+ typeOptions: {
867
+ loadOptionsMethod: 'getApplicationConsents'
868
+ }
869
+ },
870
+ {
871
+ displayName: 'Consent Id',
872
+ name: 'consentId',
873
+ required: true,
874
+ description: 'Consent Decision Identifier',
875
+ default: '',
876
+ type: 'options',
877
+ displayOptions: {
878
+ show: {
879
+ resource: [
880
+ 'applications'
881
+ ],
882
+ operation: [
883
+ 'api.applications.consents.patch'
884
+ ]
885
+ }
886
+ },
887
+ typeOptions: {
888
+ loadOptionsMethod: 'getApplicationConsents'
889
+ }
890
+ },
891
+ {
892
+ displayName: 'Identifier',
893
+ name: 'identifier',
894
+ required: true,
895
+ description: 'Application Identifier. Get via [List Applications](#operation/api.applications.getMany)',
896
+ default: '',
897
+ type: 'options',
898
+ displayOptions: {
899
+ show: {
900
+ resource: [
901
+ 'applications'
902
+ ],
903
+ operation: [
904
+ 'api.applications.installations.bundles.post'
905
+ ]
906
+ }
907
+ },
908
+ typeOptions: {
909
+ loadOptionsMethod: 'getApplicationInstallations'
910
+ }
911
+ },
912
+ {
913
+ displayName: 'Storage Id',
914
+ required: true,
915
+ name: 'storageId',
916
+ type: 'options',
917
+ default: '',
918
+ description: 'Storage Identifier. Get via [List Storages](#operation/api.storages.getMany).<br><br>Storage file must be a ZIP archive containing the application bundle',
919
+ routing: {
920
+ send: {
921
+ property: 'storageId',
922
+ propertyInDotNotation: false,
923
+ type: 'body',
924
+ value: '={{ $value }}'
925
+ }
926
+ },
927
+ displayOptions: {
928
+ show: {
929
+ resource: [
930
+ 'applications'
931
+ ],
932
+ operation: [
933
+ 'api.applications.installations.bundles.post'
934
+ ]
935
+ }
936
+ },
937
+ typeOptions: {
938
+ loadOptionsMethod: 'getStorages'
939
+ }
940
+ },
941
+ {
942
+ displayName: 'Limit',
943
+ name: 'limit',
944
+ description: 'Max number of results to return',
945
+ default: 50,
946
+ type: 'number',
947
+ routing: {
948
+ send: {
949
+ type: 'query',
950
+ property: 'limit',
951
+ value: '={{ typeof $value === \'number\' ? $value : undefined }}',
952
+ propertyInDotNotation: false
953
+ }
954
+ },
955
+ displayOptions: {
956
+ show: {
957
+ resource: [
958
+ 'applications'
959
+ ],
960
+ operation: [
961
+ 'api.applications.installations.getMany'
962
+ ],
963
+ returnAll: [
964
+ false
965
+ ]
966
+ }
967
+ },
968
+ typeOptions: {
969
+ minValue: 1
970
+ }
971
+ },
972
+ {
973
+ displayName: 'Installed By',
974
+ name: 'installedBy',
975
+ description: 'User Identifier',
976
+ default: '',
977
+ type: 'options',
978
+ routing: {
979
+ send: {
980
+ type: 'query',
981
+ property: 'installedBy',
982
+ value: '={{ typeof $value === \'number\' ? $value : undefined }}',
983
+ propertyInDotNotation: false
984
+ }
985
+ },
986
+ displayOptions: {
987
+ show: {
988
+ resource: [
989
+ 'applications'
990
+ ],
991
+ operation: [
992
+ 'api.applications.installations.getMany'
993
+ ]
994
+ }
995
+ },
996
+ typeOptions: {
997
+ loadOptionsMethod: 'getUsers'
998
+ }
999
+ },
1000
+ {
1001
+ displayName: 'Order By',
1002
+ name: 'orderBy',
1003
+ description: 'Read more about [sorting rules](#section/Introduction/Sorting)',
1004
+ default: '',
1005
+ type: 'string',
1006
+ routing: {
1007
+ send: {
1008
+ type: 'query',
1009
+ property: 'orderBy',
1010
+ value: '={{ $value || undefined }}',
1011
+ propertyInDotNotation: false
1012
+ }
1013
+ },
1014
+ displayOptions: {
1015
+ show: {
1016
+ resource: [
1017
+ 'applications'
1018
+ ],
1019
+ operation: [
1020
+ 'api.applications.installations.getMany'
1021
+ ]
1022
+ }
1023
+ },
1024
+ placeholder: 'createdAt desc'
1025
+ },
1026
+ {
1027
+ displayName: 'Body',
1028
+ name: '_body',
1029
+ description: 'Select configuration type',
1030
+ default: {},
1031
+ type: 'fixedCollection',
1032
+ displayOptions: {
1033
+ show: {
1034
+ resource: [
1035
+ 'applications'
1036
+ ],
1037
+ operation: [
1038
+ 'api.applications.installations.post'
1039
+ ]
1040
+ }
1041
+ },
1042
+ options: [
1043
+ {
1044
+ displayName: 'Install an application from a manifest URL',
1045
+ name: '_installAnApplicationFromAManifestUrl',
1046
+ values: [
1047
+ {
1048
+ displayName: 'Url',
1049
+ name: 'url',
1050
+ type: 'string',
1051
+ default: '',
1052
+ description: 'Manifest URL',
1053
+ required: true,
1054
+ placeholder: 'https://localhost.dev/crowdin.json'
1055
+ },
1056
+ {
1057
+ displayName: 'Permissions',
1058
+ name: 'permissions',
1059
+ type: 'fixedCollection',
1060
+ default: {},
1061
+ description: undefined,
1062
+ placeholder: 'Add Field',
1063
+ options: [
1064
+ {
1065
+ displayName: 'Fields',
1066
+ name: 'fields',
1067
+ values: [
1068
+ {
1069
+ displayName: 'User',
1070
+ name: 'user',
1071
+ type: 'fixedCollection',
1072
+ default: {},
1073
+ description: 'Use modules permissions instead',
1074
+ placeholder: 'Add Field',
1075
+ options: [
1076
+ {
1077
+ displayName: 'Fields',
1078
+ name: 'fields',
1079
+ values: [
1080
+ {
1081
+ displayName: 'Value',
1082
+ name: 'value',
1083
+ type: 'options',
1084
+ default: '',
1085
+ description: undefined,
1086
+ options: [
1087
+ {
1088
+ name: '-',
1089
+ value: ''
1090
+ },
1091
+ {
1092
+ name: 'owner',
1093
+ value: 'owner'
1094
+ },
1095
+ {
1096
+ name: 'managers',
1097
+ value: 'managers'
1098
+ },
1099
+ {
1100
+ name: 'all',
1101
+ value: 'all'
1102
+ },
1103
+ {
1104
+ name: 'guests',
1105
+ value: 'guests'
1106
+ },
1107
+ {
1108
+ name: 'restricted',
1109
+ value: 'restricted'
1110
+ }
1111
+ ],
1112
+ placeholder: 'restricted'
1113
+ },
1114
+ {
1115
+ displayName: 'Ids',
1116
+ name: 'ids',
1117
+ type: 'fixedCollection',
1118
+ typeOptions: {
1119
+ multipleValues: true
1120
+ },
1121
+ default: {},
1122
+ description: 'Ids is available only for restricted value',
1123
+ placeholder: 'Add Item',
1124
+ options: [
1125
+ {
1126
+ displayName: 'Items',
1127
+ name: 'items',
1128
+ values: [
1129
+ {
1130
+ displayName: 'Value',
1131
+ name: '_value',
1132
+ type: 'number',
1133
+ default: 0,
1134
+ description: undefined,
1135
+ placeholder: '0'
1136
+ }
1137
+ ]
1138
+ }
1139
+ ]
1140
+ }
1141
+ ]
1142
+ }
1143
+ ]
1144
+ },
1145
+ {
1146
+ displayName: 'Project',
1147
+ name: 'project',
1148
+ type: 'fixedCollection',
1149
+ default: {},
1150
+ description: undefined,
1151
+ placeholder: 'Add Field',
1152
+ options: [
1153
+ {
1154
+ displayName: 'Fields',
1155
+ name: 'fields',
1156
+ values: [
1157
+ {
1158
+ displayName: 'Value',
1159
+ name: 'value',
1160
+ type: 'options',
1161
+ default: '',
1162
+ description: undefined,
1163
+ options: [
1164
+ {
1165
+ name: '-',
1166
+ value: ''
1167
+ },
1168
+ {
1169
+ name: 'own',
1170
+ value: 'own'
1171
+ },
1172
+ {
1173
+ name: 'restricted',
1174
+ value: 'restricted'
1175
+ }
1176
+ ],
1177
+ placeholder: 'restricted'
1178
+ },
1179
+ {
1180
+ displayName: 'Ids',
1181
+ name: 'ids',
1182
+ type: 'fixedCollection',
1183
+ typeOptions: {
1184
+ multipleValues: true
1185
+ },
1186
+ default: {},
1187
+ description: undefined,
1188
+ placeholder: 'Add Item',
1189
+ options: [
1190
+ {
1191
+ displayName: 'Items',
1192
+ name: 'items',
1193
+ values: [
1194
+ {
1195
+ displayName: 'Value',
1196
+ name: '_value',
1197
+ type: 'number',
1198
+ default: 0,
1199
+ description: undefined,
1200
+ placeholder: '0'
1201
+ }
1202
+ ]
1203
+ }
1204
+ ]
1205
+ }
1206
+ ]
1207
+ }
1208
+ ]
1209
+ }
1210
+ ]
1211
+ }
1212
+ ]
1213
+ },
1214
+ {
1215
+ displayName: 'Modules',
1216
+ name: 'modules',
1217
+ type: 'fixedCollection',
1218
+ typeOptions: {
1219
+ multipleValues: true
1220
+ },
1221
+ default: {},
1222
+ description: undefined,
1223
+ placeholder: 'Add Item',
1224
+ options: [
1225
+ {
1226
+ displayName: 'Item',
1227
+ name: 'items',
1228
+ values: [
1229
+ {
1230
+ displayName: 'Key',
1231
+ name: 'key',
1232
+ type: 'string',
1233
+ default: '',
1234
+ description: undefined,
1235
+ placeholder: 'some-module-key'
1236
+ },
1237
+ {
1238
+ displayName: 'Permissions',
1239
+ name: 'permissions',
1240
+ type: 'fixedCollection',
1241
+ default: {},
1242
+ description: undefined,
1243
+ placeholder: 'Add Field',
1244
+ options: [
1245
+ {
1246
+ displayName: 'Fields',
1247
+ name: 'fields',
1248
+ values: [
1249
+ {
1250
+ displayName: 'User',
1251
+ name: 'user',
1252
+ type: 'fixedCollection',
1253
+ default: {},
1254
+ description: undefined,
1255
+ placeholder: 'Add Field',
1256
+ options: [
1257
+ {
1258
+ displayName: 'Fields',
1259
+ name: 'fields',
1260
+ values: [
1261
+ {
1262
+ displayName: 'Value',
1263
+ name: 'value',
1264
+ type: 'options',
1265
+ default: '',
1266
+ description: '\n\n __Note__: For exporters, the `all` value will be set',
1267
+ options: [
1268
+ {
1269
+ name: '-',
1270
+ value: ''
1271
+ },
1272
+ {
1273
+ name: 'owner',
1274
+ value: 'owner'
1275
+ },
1276
+ {
1277
+ name: 'managers',
1278
+ value: 'managers'
1279
+ },
1280
+ {
1281
+ name: 'all',
1282
+ value: 'all'
1283
+ },
1284
+ {
1285
+ name: 'guests',
1286
+ value: 'guests'
1287
+ },
1288
+ {
1289
+ name: 'restricted',
1290
+ value: 'restricted'
1291
+ }
1292
+ ],
1293
+ placeholder: 'restricted'
1294
+ },
1295
+ {
1296
+ displayName: 'Ids',
1297
+ name: 'ids',
1298
+ type: 'fixedCollection',
1299
+ typeOptions: {
1300
+ multipleValues: true
1301
+ },
1302
+ default: {},
1303
+ description: 'Ids is only available for restricted value',
1304
+ placeholder: 'Add Item',
1305
+ options: [
1306
+ {
1307
+ displayName: 'Items',
1308
+ name: 'items',
1309
+ values: [
1310
+ {
1311
+ displayName: 'Value',
1312
+ name: '_value',
1313
+ type: 'number',
1314
+ default: 0,
1315
+ description: undefined,
1316
+ placeholder: '0'
1317
+ }
1318
+ ]
1319
+ }
1320
+ ]
1321
+ }
1322
+ ]
1323
+ }
1324
+ ]
1325
+ }
1326
+ ]
623
1327
  }
624
- ],
625
- placeholder: 'restricted'
1328
+ ]
1329
+ }
1330
+ ]
1331
+ }
1332
+ ]
1333
+ },
1334
+ {
1335
+ displayName: 'Assign Agent',
1336
+ name: 'assignAgent',
1337
+ type: 'boolean',
1338
+ default: false,
1339
+ description: 'Assign Agent as a manager to all existing projects'
1340
+ }
1341
+ ]
1342
+ },
1343
+ {
1344
+ displayName: 'Install an application from manifest content',
1345
+ name: '_installAnApplicationFromManifestContent',
1346
+ values: [
1347
+ {
1348
+ displayName: 'Application manifest content',
1349
+ name: 'manifest',
1350
+ type: 'fixedCollection',
1351
+ default: {},
1352
+ description: 'The inline manifest that declares the app - the same document install-from-URL fetches from `URL`. Supported only for serverless apps - apps that run entirely in the browser with no backend (no `baseUrl`).',
1353
+ placeholder: 'Add Field',
1354
+ options: [
1355
+ {
1356
+ displayName: 'Fields',
1357
+ name: 'fields',
1358
+ values: [
1359
+ {
1360
+ displayName: 'Name',
1361
+ name: 'name',
1362
+ type: 'string',
1363
+ default: '',
1364
+ description: 'Display name of the application',
1365
+ placeholder: 'My App'
626
1366
  },
627
1367
  {
628
- displayName: 'Ids',
629
- name: 'ids',
1368
+ displayName: 'Description',
1369
+ name: 'description',
1370
+ type: 'string',
1371
+ default: '',
1372
+ description: 'Short description of what the application does'
1373
+ },
1374
+ {
1375
+ displayName: 'Logo',
1376
+ name: 'logo',
1377
+ type: 'string',
1378
+ default: '',
1379
+ description: 'Relative URL (within the application bundle) of the application logo'
1380
+ },
1381
+ {
1382
+ displayName: 'Scopes',
1383
+ name: 'scopes',
630
1384
  type: 'fixedCollection',
631
1385
  typeOptions: {
632
1386
  multipleValues: true
633
1387
  },
634
1388
  default: {},
635
- description: undefined,
1389
+ description: 'OAuth scopes granted to the app for host-proxied Crowdin API calls.<br><br>Available scopes: `*`, `language`, `user`, `team`, `notification`, `custom_language`, `group`, `tm`, `glossary`, `style-guide`, `mt`, `ai`, `ai.provider`, `ai.prompt`, `ai.proxy`, `ai.translate`, `automation`, `automation.rule`, `automation.rule.execution`, `webhook`, `project`, `project.settings`, `project.member`, `project.status`, `project.status.issue`, `project.status.progress`, `project.status.qa-check`, `project.source`, `project.source.file`, `project.source.string`, `project.translation`, `project.screenshot`, `project.webhook`, `project.task`, `project.dictionary`, `project.report`, `project.advisor`, `client`, `vendor`, `field`, `security-log`, `application`, `organization`, `custom-spellchecker`, `external-qa-check`.<br><br>Each scope supports `:read` and `:write` modifiers (e.g. `project:read`, `project:write`); without a modifier the scope grants both.',
636
1390
  placeholder: 'Add Item',
637
1391
  options: [
638
1392
  {
639
- displayName: 'Items',
640
- name: 'items',
1393
+ displayName: 'Items',
1394
+ name: 'items',
1395
+ values: [
1396
+ {
1397
+ displayName: 'Value',
1398
+ name: '_value',
1399
+ type: 'string',
1400
+ default: '',
1401
+ description: undefined
1402
+ }
1403
+ ]
1404
+ }
1405
+ ]
1406
+ },
1407
+ {
1408
+ displayName: 'String Based Available',
1409
+ name: 'stringBasedAvailable',
1410
+ type: 'boolean',
1411
+ default: false,
1412
+ description: 'Whether the app is offered in string-based projects (in addition to file-based projects).'
1413
+ },
1414
+ {
1415
+ displayName: 'Modules',
1416
+ name: 'json:modules',
1417
+ type: 'json',
1418
+ default: '{}',
1419
+ description: 'UI module definitions: an object whose keys are UI module types and whose values are arrays of module definitions.<br><br>`URL` is not allowed (these apps have no `baseUrl`).<br><br>Allowed module types: `editor-right-panel`, `editor-translations-panel`, `editor-asset-panel`, `editor-background-worker`, `project-tools`, `project-menu`, `project-menu-crowdsource`, `project-reports`, `project-integrations`, `profile-resources-menu`, `profile-settings-menu`, `organization-menu`, `organization-settings-menu`, `organization-menu-crowdsource`, `modal`, `chat`, `context-menu`, `navbar-extension`.<br><br>For `context-menu` modules only the `modal` and `redirect` option types are supported (`new_tab` needs a page outside the app bundle, which serverless apps cannot serve).'
1420
+ },
1421
+ {
1422
+ displayName: 'Application default permissions',
1423
+ name: 'default_permissions',
1424
+ type: 'fixedCollection',
1425
+ default: {},
1426
+ description: undefined,
1427
+ placeholder: 'Add Field',
1428
+ options: [
1429
+ {
1430
+ displayName: 'Fields',
1431
+ name: 'fields',
1432
+ values: [
1433
+ {
1434
+ displayName: 'User',
1435
+ name: 'user',
1436
+ type: 'options',
1437
+ default: '',
1438
+ description: 'Which users the app is available to by default',
1439
+ options: [
1440
+ {
1441
+ name: '-',
1442
+ value: ''
1443
+ },
1444
+ {
1445
+ name: 'owner',
1446
+ value: 'owner'
1447
+ },
1448
+ {
1449
+ name: 'managers',
1450
+ value: 'managers'
1451
+ },
1452
+ {
1453
+ name: 'all',
1454
+ value: 'all'
1455
+ },
1456
+ {
1457
+ name: 'guests',
1458
+ value: 'guests'
1459
+ }
1460
+ ],
1461
+ placeholder: 'owner'
1462
+ },
1463
+ {
1464
+ displayName: 'Project',
1465
+ name: 'project',
1466
+ type: 'options',
1467
+ default: '',
1468
+ description: 'Which projects the app is available in by default',
1469
+ options: [
1470
+ {
1471
+ name: '-',
1472
+ value: ''
1473
+ },
1474
+ {
1475
+ name: 'own',
1476
+ value: 'own'
1477
+ },
1478
+ {
1479
+ name: 'restricted',
1480
+ value: 'restricted'
1481
+ }
1482
+ ],
1483
+ placeholder: 'own'
1484
+ }
1485
+ ]
1486
+ }
1487
+ ]
1488
+ },
1489
+ {
1490
+ displayName: 'Application bundle',
1491
+ name: 'bundle',
1492
+ type: 'fixedCollection',
1493
+ default: {},
1494
+ description: 'Where the app is loaded from. Either Crowdin hosts the app in its own storage (`internal`) or the app is served from an external URL such as a local dev server (`external`).',
1495
+ options: [
1496
+ {
1497
+ displayName: 'Internal application bundle',
1498
+ name: '_applicationBundleInternal',
1499
+ values: [
1500
+ {
1501
+ displayName: 'Mode',
1502
+ name: 'mode',
1503
+ type: 'options',
1504
+ default: '',
1505
+ description: 'The app is hosted by Crowdin in its own storage (no external URL).',
1506
+ options: [
1507
+ {
1508
+ name: '-',
1509
+ value: ''
1510
+ },
1511
+ {
1512
+ name: 'internal',
1513
+ value: 'internal'
1514
+ }
1515
+ ],
1516
+ placeholder: 'internal',
1517
+ required: true
1518
+ }
1519
+ ]
1520
+ },
1521
+ {
1522
+ displayName: 'External application bundle',
1523
+ name: '_applicationBundleExternal',
641
1524
  values: [
642
1525
  {
643
- displayName: 'Value',
644
- name: '_value',
645
- type: 'number',
646
- default: 0,
647
- description: undefined,
648
- placeholder: '0'
1526
+ displayName: 'Mode',
1527
+ name: 'mode',
1528
+ type: 'options',
1529
+ default: '',
1530
+ description: 'The app is served from an external URL (e.g. a local dev server).',
1531
+ options: [
1532
+ {
1533
+ name: '-',
1534
+ value: ''
1535
+ },
1536
+ {
1537
+ name: 'external',
1538
+ value: 'external'
1539
+ }
1540
+ ],
1541
+ placeholder: 'external',
1542
+ required: true
1543
+ },
1544
+ {
1545
+ displayName: 'Url',
1546
+ name: 'url',
1547
+ type: 'string',
1548
+ default: '',
1549
+ description: 'URL the app is served from; for local development this is your dev server, e.g. `http://localhost:8080/`.',
1550
+ required: true
649
1551
  }
650
1552
  ]
651
1553
  }
@@ -653,55 +1555,8 @@ exports.applicationsProperties = [
653
1555
  }
654
1556
  ]
655
1557
  }
656
- ]
657
- }
658
- ]
659
- }
660
- ]
661
- },
662
- {
663
- displayName: 'Modules',
664
- name: 'modules',
665
- type: 'fixedCollection',
666
- default: {},
667
- description: undefined,
668
- routing: {
669
- send: {
670
- property: 'modules',
671
- propertyInDotNotation: false,
672
- type: 'body',
673
- value: '={{ $value }}',
674
- preSend: [
675
- preSend_1.normalizeFieldBody
676
- ]
677
- }
678
- },
679
- displayOptions: {
680
- show: {
681
- resource: [
682
- 'applications'
683
- ],
684
- operation: [
685
- 'api.applications.installations.post'
686
- ]
687
- }
688
- },
689
- typeOptions: {
690
- multipleValues: true
691
- },
692
- placeholder: 'Add Item',
693
- options: [
694
- {
695
- displayName: 'Item',
696
- name: 'items',
697
- values: [
698
- {
699
- displayName: 'Key',
700
- name: 'key',
701
- type: 'string',
702
- default: '',
703
- description: undefined,
704
- placeholder: 'some-module-key'
1558
+ ],
1559
+ required: true
705
1560
  },
706
1561
  {
707
1562
  displayName: 'Permissions',
@@ -720,7 +1575,7 @@ exports.applicationsProperties = [
720
1575
  name: 'user',
721
1576
  type: 'fixedCollection',
722
1577
  default: {},
723
- description: undefined,
1578
+ description: 'Use modules permissions instead',
724
1579
  placeholder: 'Add Field',
725
1580
  options: [
726
1581
  {
@@ -732,7 +1587,7 @@ exports.applicationsProperties = [
732
1587
  name: 'value',
733
1588
  type: 'options',
734
1589
  default: '',
735
- description: '\n\n __Note__: For exporters, the `all` value will be set',
1590
+ description: undefined,
736
1591
  options: [
737
1592
  {
738
1593
  name: '-',
@@ -769,7 +1624,72 @@ exports.applicationsProperties = [
769
1624
  multipleValues: true
770
1625
  },
771
1626
  default: {},
772
- description: 'Ids is only available for restricted value',
1627
+ description: 'Ids is available only for restricted value',
1628
+ placeholder: 'Add Item',
1629
+ options: [
1630
+ {
1631
+ displayName: 'Items',
1632
+ name: 'items',
1633
+ values: [
1634
+ {
1635
+ displayName: 'Value',
1636
+ name: '_value',
1637
+ type: 'number',
1638
+ default: 0,
1639
+ description: undefined,
1640
+ placeholder: '0'
1641
+ }
1642
+ ]
1643
+ }
1644
+ ]
1645
+ }
1646
+ ]
1647
+ }
1648
+ ]
1649
+ },
1650
+ {
1651
+ displayName: 'Project',
1652
+ name: 'project',
1653
+ type: 'fixedCollection',
1654
+ default: {},
1655
+ description: undefined,
1656
+ placeholder: 'Add Field',
1657
+ options: [
1658
+ {
1659
+ displayName: 'Fields',
1660
+ name: 'fields',
1661
+ values: [
1662
+ {
1663
+ displayName: 'Value',
1664
+ name: 'value',
1665
+ type: 'options',
1666
+ default: '',
1667
+ description: undefined,
1668
+ options: [
1669
+ {
1670
+ name: '-',
1671
+ value: ''
1672
+ },
1673
+ {
1674
+ name: 'own',
1675
+ value: 'own'
1676
+ },
1677
+ {
1678
+ name: 'restricted',
1679
+ value: 'restricted'
1680
+ }
1681
+ ],
1682
+ placeholder: 'restricted'
1683
+ },
1684
+ {
1685
+ displayName: 'Ids',
1686
+ name: 'ids',
1687
+ type: 'fixedCollection',
1688
+ typeOptions: {
1689
+ multipleValues: true
1690
+ },
1691
+ default: {},
1692
+ description: undefined,
773
1693
  placeholder: 'Add Item',
774
1694
  options: [
775
1695
  {
@@ -795,34 +1715,140 @@ exports.applicationsProperties = [
795
1715
  ]
796
1716
  }
797
1717
  ]
1718
+ },
1719
+ {
1720
+ displayName: 'Modules',
1721
+ name: 'modules',
1722
+ type: 'fixedCollection',
1723
+ typeOptions: {
1724
+ multipleValues: true
1725
+ },
1726
+ default: {},
1727
+ description: undefined,
1728
+ placeholder: 'Add Item',
1729
+ options: [
1730
+ {
1731
+ displayName: 'Item',
1732
+ name: 'items',
1733
+ values: [
1734
+ {
1735
+ displayName: 'Key',
1736
+ name: 'key',
1737
+ type: 'string',
1738
+ default: '',
1739
+ description: undefined,
1740
+ placeholder: 'some-module-key'
1741
+ },
1742
+ {
1743
+ displayName: 'Permissions',
1744
+ name: 'permissions',
1745
+ type: 'fixedCollection',
1746
+ default: {},
1747
+ description: undefined,
1748
+ placeholder: 'Add Field',
1749
+ options: [
1750
+ {
1751
+ displayName: 'Fields',
1752
+ name: 'fields',
1753
+ values: [
1754
+ {
1755
+ displayName: 'User',
1756
+ name: 'user',
1757
+ type: 'fixedCollection',
1758
+ default: {},
1759
+ description: undefined,
1760
+ placeholder: 'Add Field',
1761
+ options: [
1762
+ {
1763
+ displayName: 'Fields',
1764
+ name: 'fields',
1765
+ values: [
1766
+ {
1767
+ displayName: 'Value',
1768
+ name: 'value',
1769
+ type: 'options',
1770
+ default: '',
1771
+ description: '\n\n __Note__: For exporters, the `all` value will be set',
1772
+ options: [
1773
+ {
1774
+ name: '-',
1775
+ value: ''
1776
+ },
1777
+ {
1778
+ name: 'owner',
1779
+ value: 'owner'
1780
+ },
1781
+ {
1782
+ name: 'managers',
1783
+ value: 'managers'
1784
+ },
1785
+ {
1786
+ name: 'all',
1787
+ value: 'all'
1788
+ },
1789
+ {
1790
+ name: 'guests',
1791
+ value: 'guests'
1792
+ },
1793
+ {
1794
+ name: 'restricted',
1795
+ value: 'restricted'
1796
+ }
1797
+ ],
1798
+ placeholder: 'restricted'
1799
+ },
1800
+ {
1801
+ displayName: 'Ids',
1802
+ name: 'ids',
1803
+ type: 'fixedCollection',
1804
+ typeOptions: {
1805
+ multipleValues: true
1806
+ },
1807
+ default: {},
1808
+ description: 'Ids is only available for restricted value',
1809
+ placeholder: 'Add Item',
1810
+ options: [
1811
+ {
1812
+ displayName: 'Items',
1813
+ name: 'items',
1814
+ values: [
1815
+ {
1816
+ displayName: 'Value',
1817
+ name: '_value',
1818
+ type: 'number',
1819
+ default: 0,
1820
+ description: undefined,
1821
+ placeholder: '0'
1822
+ }
1823
+ ]
1824
+ }
1825
+ ]
1826
+ }
1827
+ ]
1828
+ }
1829
+ ]
1830
+ }
1831
+ ]
1832
+ }
1833
+ ]
1834
+ }
1835
+ ]
1836
+ }
1837
+ ]
798
1838
  }
799
1839
  ]
800
1840
  }
801
- ]
802
- },
803
- {
804
- displayName: 'Assign Agent',
805
- name: 'assignAgent',
806
- type: 'boolean',
807
- default: false,
808
- description: 'Assign Agent as a manager to all existing projects',
1841
+ ],
809
1842
  routing: {
810
1843
  send: {
811
- property: 'assignAgent',
1844
+ preSend: [
1845
+ preSend_1.normalizeRootBody
1846
+ ],
1847
+ property: '_body',
812
1848
  propertyInDotNotation: false,
813
1849
  type: 'body',
814
1850
  value: '={{ $value }}'
815
1851
  }
816
- },
817
- displayOptions: {
818
- show: {
819
- resource: [
820
- 'applications'
821
- ],
822
- operation: [
823
- 'api.applications.installations.post'
824
- ]
825
- }
826
1852
  }
827
1853
  },
828
1854
  {
@@ -913,6 +1939,28 @@ exports.applicationsProperties = [
913
1939
  loadOptionsMethod: 'getApplicationInstallations'
914
1940
  }
915
1941
  },
1942
+ {
1943
+ displayName: 'Body',
1944
+ name: 'body',
1945
+ type: 'json',
1946
+ default: '{}',
1947
+ description: 'A JSON Patch operation as defined by [RFC 6902](https://tools.ietf.org/html/rfc6902#section-4)',
1948
+ routing: {
1949
+ request: {
1950
+ body: '={{ JSON.parse($value) }}'
1951
+ }
1952
+ },
1953
+ displayOptions: {
1954
+ show: {
1955
+ resource: [
1956
+ 'applications'
1957
+ ],
1958
+ operation: [
1959
+ 'api.applications.installations.patch'
1960
+ ]
1961
+ }
1962
+ }
1963
+ },
916
1964
  {
917
1965
  displayName: 'Identifier',
918
1966
  name: 'identifier',
@@ -1189,87 +2237,52 @@ exports.applicationsProperties = [
1189
2237
  'applications'
1190
2238
  ],
1191
2239
  operation: [
1192
- 'api.applications.installations.patch'
2240
+ 'api.applications.consents.patch'
1193
2241
  ]
1194
2242
  }
1195
2243
  },
1196
2244
  options: [
1197
2245
  {
1198
- displayName: 'Permissions',
1199
- name: 'permissions',
2246
+ displayName: 'Status',
2247
+ name: 'status',
2248
+ type: 'options',
2249
+ default: '',
2250
+ description: 'The decision: whether the application may act on behalf of the current user',
2251
+ options: [
2252
+ {
2253
+ name: '-',
2254
+ value: ''
2255
+ },
2256
+ {
2257
+ name: 'granted',
2258
+ value: 'granted'
2259
+ },
2260
+ {
2261
+ name: 'denied',
2262
+ value: 'denied'
2263
+ }
2264
+ ]
2265
+ },
2266
+ {
2267
+ displayName: 'Scopes',
2268
+ name: 'scopes',
1200
2269
  type: 'fixedCollection',
1201
2270
  default: {},
1202
- description: 'Value for /permissions',
1203
- placeholder: 'Add Field',
2271
+ description: 'Scopes the decision was made for - a snapshot of the application scopes at decision time.<br><br>Available scopes: `*`, `language`, `user`, `team`, `notification`, `custom_language`, `group`, `tm`, `glossary`, `style-guide`, `mt`, `ai`, `ai.provider`, `ai.prompt`, `ai.proxy`, `ai.translate`, `automation`, `automation.rule`, `automation.rule.execution`, `webhook`, `project`, `project.settings`, `project.member`, `project.status`, `project.status.issue`, `project.status.progress`, `project.status.qa-check`, `project.source`, `project.source.file`, `project.source.string`, `project.translation`, `project.screenshot`, `project.webhook`, `project.task`, `project.dictionary`, `project.report`, `project.advisor`, `client`, `vendor`, `field`, `security-log`, `application`, `organization`, `custom-spellchecker`, `external-qa-check`.<br><br>Each scope supports `:read` and `:write` modifiers (e.g. `project:read`, `project:write`); without a modifier the scope grants both',
2272
+ typeOptions: {
2273
+ multipleValues: true
2274
+ },
2275
+ placeholder: 'Add Item',
1204
2276
  options: [
1205
2277
  {
1206
- name: 'fields',
1207
- displayName: 'Fields',
2278
+ name: 'items',
2279
+ displayName: 'Items',
1208
2280
  values: [
1209
2281
  {
1210
- displayName: 'Project',
1211
- name: 'project',
1212
- type: 'fixedCollection',
1213
- default: {},
1214
- description: undefined,
1215
- placeholder: 'Add Field',
1216
- options: [
1217
- {
1218
- name: 'fields',
1219
- displayName: 'Fields',
1220
- values: [
1221
- {
1222
- displayName: 'Value',
1223
- name: 'value',
1224
- type: 'options',
1225
- default: '',
1226
- description: undefined,
1227
- options: [
1228
- {
1229
- name: '-',
1230
- value: ''
1231
- },
1232
- {
1233
- name: 'own',
1234
- value: 'own'
1235
- },
1236
- {
1237
- name: 'restricted',
1238
- value: 'restricted'
1239
- }
1240
- ],
1241
- placeholder: 'restricted'
1242
- },
1243
- {
1244
- displayName: 'Ids',
1245
- name: 'ids',
1246
- type: 'fixedCollection',
1247
- typeOptions: {
1248
- multipleValues: true
1249
- },
1250
- default: {},
1251
- description: undefined,
1252
- placeholder: 'Add Item',
1253
- options: [
1254
- {
1255
- name: 'items',
1256
- displayName: 'Items',
1257
- values: [
1258
- {
1259
- displayName: 'Value',
1260
- name: '_value',
1261
- type: 'number',
1262
- default: 0,
1263
- description: undefined,
1264
- placeholder: '0'
1265
- }
1266
- ]
1267
- }
1268
- ]
1269
- }
1270
- ]
1271
- }
1272
- ]
2282
+ displayName: 'Value',
2283
+ name: '_value',
2284
+ type: 'string',
2285
+ default: ''
1273
2286
  }
1274
2287
  ]
1275
2288
  }
@@ -1337,6 +2350,23 @@ exports.applicationsProperties = [
1337
2350
  }
1338
2351
  }
1339
2352
  },
2353
+ {
2354
+ displayName: 'Return All',
2355
+ name: 'returnAll',
2356
+ type: 'boolean',
2357
+ default: true,
2358
+ description: 'Whether to return all results or only up to a given limit',
2359
+ displayOptions: {
2360
+ show: {
2361
+ resource: [
2362
+ 'applications'
2363
+ ],
2364
+ operation: [
2365
+ 'api.applications.consents.getMany'
2366
+ ]
2367
+ }
2368
+ }
2369
+ },
1340
2370
  {
1341
2371
  displayName: 'Return All',
1342
2372
  name: 'returnAll',