n8n-nodes-klicktipp 1.0.6 → 1.0.8

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 (75) hide show
  1. package/README.md +48 -40
  2. package/dist/credentials/KlickTippApi.credentials.js +0 -9
  3. package/dist/credentials/KlickTippApi.credentials.js.map +1 -1
  4. package/dist/nodes/KlickTipp/KlickTipp.node.json +1 -1
  5. package/dist/nodes/KlickTipp/KlickTippTrigger.node.d.ts +5 -0
  6. package/dist/nodes/KlickTipp/KlickTippTrigger.node.js +50 -0
  7. package/dist/nodes/KlickTipp/KlickTippTrigger.node.js.map +1 -0
  8. package/dist/nodes/KlickTipp/actions/contact-tagging/index.d.ts +5 -0
  9. package/dist/nodes/KlickTipp/actions/contact-tagging/index.js +61 -0
  10. package/dist/nodes/KlickTipp/actions/contact-tagging/index.js.map +1 -0
  11. package/dist/nodes/KlickTipp/actions/{subscriber → contact-tagging}/tag.operation.js +4 -4
  12. package/dist/nodes/KlickTipp/actions/contact-tagging/tag.operation.js.map +1 -0
  13. package/dist/nodes/KlickTipp/actions/{subscriber → contact-tagging}/untag.operation.js +5 -5
  14. package/dist/nodes/KlickTipp/actions/contact-tagging/untag.operation.js.map +1 -0
  15. package/dist/nodes/KlickTipp/actions/field/get.operation.js +3 -3
  16. package/dist/nodes/KlickTipp/actions/field/get.operation.js.map +1 -1
  17. package/dist/nodes/KlickTipp/actions/field/index.js +9 -9
  18. package/dist/nodes/KlickTipp/actions/field/index.js.map +1 -1
  19. package/dist/nodes/KlickTipp/actions/node.description.js +14 -8
  20. package/dist/nodes/KlickTipp/actions/node.description.js.map +1 -1
  21. package/dist/nodes/KlickTipp/actions/node.type.d.ts +2 -1
  22. package/dist/nodes/KlickTipp/actions/opt-in-process/get-redirect.operation.js +3 -4
  23. package/dist/nodes/KlickTipp/actions/opt-in-process/get-redirect.operation.js.map +1 -1
  24. package/dist/nodes/KlickTipp/actions/opt-in-process/get.operation.js +1 -1
  25. package/dist/nodes/KlickTipp/actions/opt-in-process/get.operation.js.map +1 -1
  26. package/dist/nodes/KlickTipp/actions/opt-in-process/index.js +11 -11
  27. package/dist/nodes/KlickTipp/actions/opt-in-process/index.js.map +1 -1
  28. package/dist/nodes/KlickTipp/actions/router.js +4 -0
  29. package/dist/nodes/KlickTipp/actions/router.js.map +1 -1
  30. package/dist/nodes/KlickTipp/actions/subscriber/delete.operation.js +4 -4
  31. package/dist/nodes/KlickTipp/actions/subscriber/delete.operation.js.map +1 -1
  32. package/dist/nodes/KlickTipp/actions/subscriber/get.operation.js +4 -4
  33. package/dist/nodes/KlickTipp/actions/subscriber/get.operation.js.map +1 -1
  34. package/dist/nodes/KlickTipp/actions/subscriber/index.d.ts +1 -7
  35. package/dist/nodes/KlickTipp/actions/subscriber/index.js +27 -81
  36. package/dist/nodes/KlickTipp/actions/subscriber/index.js.map +1 -1
  37. package/dist/nodes/KlickTipp/actions/subscriber/search.operation.js +2 -2
  38. package/dist/nodes/KlickTipp/actions/subscriber/search.operation.js.map +1 -1
  39. package/dist/nodes/KlickTipp/actions/subscriber/subscribe.operation.js +5 -5
  40. package/dist/nodes/KlickTipp/actions/subscriber/subscribe.operation.js.map +1 -1
  41. package/dist/nodes/KlickTipp/actions/subscriber/tagged.operation.js +2 -2
  42. package/dist/nodes/KlickTipp/actions/subscriber/tagged.operation.js.map +1 -1
  43. package/dist/nodes/KlickTipp/actions/subscriber/unsubscribe.operation.js +2 -2
  44. package/dist/nodes/KlickTipp/actions/subscriber/unsubscribe.operation.js.map +1 -1
  45. package/dist/nodes/KlickTipp/actions/subscriber/update.operation.js +7 -7
  46. package/dist/nodes/KlickTipp/actions/subscriber/update.operation.js.map +1 -1
  47. package/dist/nodes/KlickTipp/actions/tag/create.operation.js +2 -2
  48. package/dist/nodes/KlickTipp/actions/tag/create.operation.js.map +1 -1
  49. package/dist/nodes/KlickTipp/actions/tag/delete.operation.js +2 -2
  50. package/dist/nodes/KlickTipp/actions/tag/delete.operation.js.map +1 -1
  51. package/dist/nodes/KlickTipp/actions/tag/get.operation.js +2 -2
  52. package/dist/nodes/KlickTipp/actions/tag/get.operation.js.map +1 -1
  53. package/dist/nodes/KlickTipp/actions/tag/index.js +13 -13
  54. package/dist/nodes/KlickTipp/actions/tag/index.js.map +1 -1
  55. package/dist/nodes/KlickTipp/actions/tag/update.operation.js +4 -4
  56. package/dist/nodes/KlickTipp/actions/tag/update.operation.js.map +1 -1
  57. package/dist/package.json +3 -2
  58. package/dist/tsconfig.tsbuildinfo +1 -1
  59. package/package.json +3 -2
  60. package/dist/nodes/KlickTipp/actions/subscriber/resend-autoresponder.operation.d.ts +0 -26
  61. package/dist/nodes/KlickTipp/actions/subscriber/resend-autoresponder.operation.js +0 -48
  62. package/dist/nodes/KlickTipp/actions/subscriber/resend-autoresponder.operation.js.map +0 -1
  63. package/dist/nodes/KlickTipp/actions/subscriber/sign-in.operation.d.ts +0 -26
  64. package/dist/nodes/KlickTipp/actions/subscriber/sign-in.operation.js +0 -97
  65. package/dist/nodes/KlickTipp/actions/subscriber/sign-in.operation.js.map +0 -1
  66. package/dist/nodes/KlickTipp/actions/subscriber/sign-off.operation.d.ts +0 -26
  67. package/dist/nodes/KlickTipp/actions/subscriber/sign-off.operation.js +0 -48
  68. package/dist/nodes/KlickTipp/actions/subscriber/sign-off.operation.js.map +0 -1
  69. package/dist/nodes/KlickTipp/actions/subscriber/sign-out.operation.d.ts +0 -26
  70. package/dist/nodes/KlickTipp/actions/subscriber/sign-out.operation.js +0 -48
  71. package/dist/nodes/KlickTipp/actions/subscriber/sign-out.operation.js.map +0 -1
  72. package/dist/nodes/KlickTipp/actions/subscriber/tag.operation.js.map +0 -1
  73. package/dist/nodes/KlickTipp/actions/subscriber/untag.operation.js.map +0 -1
  74. /package/dist/nodes/KlickTipp/actions/{subscriber → contact-tagging}/tag.operation.d.ts +0 -0
  75. /package/dist/nodes/KlickTipp/actions/{subscriber → contact-tagging}/untag.operation.d.ts +0 -0
package/README.md CHANGED
@@ -6,8 +6,8 @@ What is the KlickTipp Marketing Suite?
6
6
 
7
7
  <a href="https://www.klicktipp.com/de?source=n8n" title="E-Mail-Marketing" target="_blank" rel="noopener noreferrer">KlickTipp Marketing Suite</a> is a digital marketing platform that empowers creators and small businesses to generate leads and turn them into passionate customers. It boosts growth with GDPR-compliant tools for email and SMS marketing, marketing automation, landing pages, and conversion rate optimization.
8
8
 
9
- This package provides a set of nodes for interacting with the KlickTipp API, allowing you to manage subscribers, tags, subscription processes, and more directly from n8n.
10
- For more detailed information on the KlickTipp API, including available functions for managing subscribers, tags, fields, and more, please refer to <a href="https://www.klicktipp.com/de/support/wissensdatenbank/application-programming-interface-api?source=n8n" target="_blank" rel="noopener" title="E-Mail-Marketing API">official KlickTipp API client documentation</a>.
9
+ This package provides a set of nodes for interacting with the KlickTipp API, allowing you to manage contacts, tags, subscription processes, and more directly from n8n.
10
+ For more detailed information on the KlickTipp API, including available functions for managing contacts, tags, fields, and more, please refer to <a href="https://www.klicktipp.com/de/support/wissensdatenbank/application-programming-interface-api?source=n8n" target="_blank" rel="noopener" title="E-Mail-Marketing API">official KlickTipp API client documentation</a>.
11
11
 
12
12
  ---
13
13
 
@@ -15,11 +15,12 @@ For more detailed information on the KlickTipp API, including available function
15
15
 
16
16
  - [Installation](#installation)
17
17
  - [Nodes Overview](#nodes-overview)
18
- - [Opt-in Process](#opt-in-process)
19
- - [Tags](#tags)
20
- - [Subscribers](#subscribers)
21
- - [Data Fields](#data-fields)
22
- - [Autoresponder](#autoresponder)
18
+ - [Contact](#contact)
19
+ - [Contact Tagging](#contact-tagging)
20
+ - [Data Field](#data-field)
21
+ - [Opt-In Process](#opt-in-process)
22
+ - [Tag](#tag)
23
+ - [Triggers](#triggers)
23
24
  - [Credentials](#credentials)
24
25
  - [Error Handling](#error-handling)
25
26
  - [License](#license)
@@ -39,47 +40,55 @@ npm install n8n-nodes-klicktipp
39
40
 
40
41
  This package includes nodes to interact with various aspects of the KlickTipp API:
41
42
 
43
+ ### Contact
44
+
45
+ - **Nodes**:
46
+ - `Add or update contact`
47
+ - `Delete contact`
48
+ - `Get contact`
49
+ - `Get contact id`
50
+ - `List contacts`
51
+ - `List tagged contacts`
52
+ - `Unsubscribe contact`
53
+ - `Update contact`
54
+ - **Description**: Provides management capabilities for contacts, such as searching, updating, and deleting contact data.
55
+
56
+ ### Contact Tagging
57
+
58
+ - **Nodes**:
59
+ - `Tag contact`
60
+ - `Untag contact`
61
+ - **Description**: Provides management capabilities for contacts tagging.
62
+
63
+ ### Data Field
64
+
65
+ - **Nodes**:
66
+ - `Get data field`
67
+ - `List data fields`
68
+ - **Description**: Manages data fields, including retrieving all available data fields for contacts, and obtaining data field information.
69
+
42
70
  ### Opt-in Process
43
71
 
44
72
  - **Nodes**:
45
- - `Opt-in Process Index`
46
- - `Opt-in Process Get`
47
- - `Opt-in Process Redirect URL`
73
+ - `Get opt-in process`
74
+ - `Get redirect url`
75
+ - `list opt in process`
48
76
  - **Description**: Manages opt-in processes, including listing all processes, retrieving details of a specific process, and obtaining redirect URLs.
49
77
 
50
- ### Tags
78
+ ### Tag
51
79
 
52
80
  - **Nodes**:
53
- - `Tag Index`
54
- - `Tag Get`
55
- - `Tag Create`
56
- - `Tag Update`
57
- - `Tag Delete`
81
+ - `Create tag`
82
+ - `Delete tag`
83
+ - `Get tag`
84
+ - `List tags`
85
+ - `Update tag`
58
86
  - **Description**: Manages tags within KlickTipp, enabling operations to list, create, update, and delete tags.
59
87
 
60
- ### Subscribers
88
+ ### Triggers
61
89
 
62
- - **Nodes**:
63
- - `Resend Autoresponder`
64
- - `Subscriber Index`
65
- - `Subscriber Search`
66
- - `Subscriber Tagged`
67
- - `Subscriber Get`
68
- - `Subscriber Subscribe`
69
- - `Subscriber Update`
70
- - `Subscriber Tag`
71
- - `Subscriber Untag`
72
- - `Subscriber Unsubscribe`
73
- - `Subscriber Delete`
74
- - `Subscriber Sign-In`
75
- - `Subscriber Sign-Out`
76
- - `Subscriber Sign-Off`
77
- - **Description**: Provides full management capabilities for subscribers, such as searching, tagging, updating, and deleting subscriber data.
78
-
79
- ### Data Fields
80
-
81
- - **Node**: `Field Index`
82
- - **Description**: Retrieves all available data fields for subscribers.
90
+ - **Node**: `On new KlickTipp event`
91
+ - **Description**: Triggers on a new event.
83
92
 
84
93
  ---
85
94
 
@@ -89,7 +98,6 @@ To authenticate with the KlickTipp API, configure your API credentials:
89
98
 
90
99
  - **Username**
91
100
  - **Password**
92
- - **API key**
93
101
 
94
102
  Once set up, these credentials will be used across all KlickTipp nodes in the package.
95
103
 
@@ -103,4 +111,4 @@ This package is licensed under the MIT License. For details, see the `LICENSE` f
103
111
 
104
112
  ## Example Workflows
105
113
 
106
- Refer to the `examples/n8n-nodes-klicktipp.json` file for sample workflows showcasing the integration.
114
+ Refer to the `examples/n8n-nodes-klicktipp.json` file for sample workflows showcasing the integration.
@@ -8,15 +8,6 @@ class KlickTippApi {
8
8
  this.displayName = 'KlickTipp API';
9
9
  this.documentationUrl = 'https://www.klicktipp.com/de/support/wissensdatenbank/application-programming-interface-api?source=n8n';
10
10
  this.properties = [
11
- {
12
- displayName: 'API Key',
13
- name: 'apiKey',
14
- type: 'string',
15
- typeOptions: {
16
- password: true,
17
- },
18
- default: '',
19
- },
20
11
  {
21
12
  displayName: 'Username',
22
13
  name: 'username',
@@ -1 +1 @@
1
- {"version":3,"file":"KlickTippApi.credentials.js","sourceRoot":"","sources":["../../credentials/KlickTippApi.credentials.ts"],"names":[],"mappings":";;;AAOA,oEAA+F;AAE/F,MAAa,YAAY;IAAzB;QACE,SAAI,GAAG,yCAA6B,CAAC;QACrC,gBAAW,GAAG,eAAe,CAAC;QAC9B,qBAAgB,GAAG,wGAAwG,CAAC;QAC5H,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACX,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACX,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACX,SAAS,EAAE,IAAI;iBAChB;gBACD,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACX,SAAS,EAAE,IAAI;iBAChB;gBACD,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;QA4BF,iBAAY,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,MAAM,EAAE,gEAAgE;iBACzE;aACF;SACF,CAAC;IACJ,CAAC;IAlCC,KAAK,CAAC,iBAAiB,CAA2B,WAA2C;QAC3F,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACnD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,oBAAQ,gBAAgB;YAChC,IAAI,EAAE;gBACJ,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;aAC/B;YACD,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAGH,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QAE/C,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAGD,OAAO;YACL,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,YAAY;SAC1B,CAAC;IACJ,CAAC;CAWF;AAnFD,oCAmFC"}
1
+ {"version":3,"file":"KlickTippApi.credentials.js","sourceRoot":"","sources":["../../credentials/KlickTippApi.credentials.ts"],"names":[],"mappings":";;;AAOA,oEAA+F;AAE/F,MAAa,YAAY;IAAzB;QACE,SAAI,GAAG,yCAA6B,CAAC;QACrC,gBAAW,GAAG,eAAe,CAAC;QAC9B,qBAAgB,GAAG,wGAAwG,CAAC;QAC5H,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACX,QAAQ,EAAE,IAAI;iBACf;gBACD,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACX,SAAS,EAAE,IAAI;iBAChB;gBACD,OAAO,EAAE,EAAE;aACZ;YACD;gBACE,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE;oBACX,SAAS,EAAE,IAAI;iBAChB;gBACD,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;QA4BF,iBAAY,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,MAAM,EAAE,gEAAgE;iBACzE;aACF;SACF,CAAC;IACJ,CAAC;IAlCC,KAAK,CAAC,iBAAiB,CAA2B,WAA2C;QAC3F,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YACnD,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG,oBAAQ,gBAAgB;YAChC,IAAI,EAAE;gBACJ,QAAQ,EAAE,WAAW,CAAC,QAAQ;gBAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;aAC/B;YACD,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QAGH,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;QAE/C,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QAGD,OAAO;YACL,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,YAAY;SAC1B,CAAC;IACJ,CAAC;CAWF;AA1ED,oCA0EC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "node": "n8n-nodes-klicktipp.klickTipp",
3
- "nodeVersion": "1.0.6",
3
+ "nodeVersion": "1.0.8",
4
4
  "codexVersion": "1.0.0",
5
5
  "categories": ["KlickTipp", "Integration", "API"],
6
6
  "resources": {
@@ -0,0 +1,5 @@
1
+ import type { IWebhookFunctions, INodeType, INodeTypeDescription, IWebhookResponseData } from 'n8n-workflow';
2
+ export declare class KlickTippTrigger implements INodeType {
3
+ description: INodeTypeDescription;
4
+ webhook(this: IWebhookFunctions): Promise<IWebhookResponseData>;
5
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KlickTippTrigger = void 0;
4
+ class KlickTippTrigger {
5
+ constructor() {
6
+ this.description = {
7
+ displayName: 'KlickTipp Trigger',
8
+ name: 'klicktippTrigger',
9
+ icon: { light: 'file:klicktipp.svg', dark: 'file:klicktipp.dark.svg' },
10
+ group: ['trigger'],
11
+ version: 1,
12
+ description: 'Triggers on a new event',
13
+ defaults: {
14
+ name: 'KlickTipp Trigger',
15
+ },
16
+ inputs: [],
17
+ outputs: ["main"],
18
+ credentials: [
19
+ {
20
+ name: 'klickTippApi',
21
+ required: true,
22
+ },
23
+ ],
24
+ webhooks: [
25
+ {
26
+ name: 'default',
27
+ httpMethod: 'POST',
28
+ responseMode: 'onReceived',
29
+ path: 'webhook',
30
+ },
31
+ ],
32
+ properties: [
33
+ {
34
+ displayName: 'For more information on creating a webhook in KlickTipp, see the online <a href="https://www.klicktipp.com/de/support/wissensdatenbank/outbound-erstellen-und-nutzen/" target="_blank">Help</a>.',
35
+ name: 'webhookSetup',
36
+ type: 'notice',
37
+ default: '',
38
+ },
39
+ ],
40
+ };
41
+ }
42
+ async webhook() {
43
+ const req = this.getRequestObject();
44
+ return {
45
+ workflowData: [this.helpers.returnJsonArray(req.body)],
46
+ };
47
+ }
48
+ }
49
+ exports.KlickTippTrigger = KlickTippTrigger;
50
+ //# sourceMappingURL=KlickTippTrigger.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KlickTippTrigger.node.js","sourceRoot":"","sources":["../../../nodes/KlickTipp/KlickTippTrigger.node.ts"],"names":[],"mappings":";;;AAUA,MAAa,gBAAgB;IAA7B;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,mBAAmB;YAChC,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,yBAAyB,EAAE;YACtE,KAAK,EAAE,CAAC,SAAS,CAAC;YAClB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE;gBACT,IAAI,EAAE,mBAAmB;aACzB;YACD,MAAM,EAAE,EAAE;YAEV,OAAO,EAAE,QAAyB;YAClC,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,cAAc;oBACpB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,QAAQ,EAAE;gBACT;oBACC,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,MAAM;oBAClB,YAAY,EAAE,YAAY;oBAC1B,IAAI,EAAE,SAAS;iBACf;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EACV,kMAAkM;oBACnM,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;iBACX;aACD;SACD,CAAC;IASH,CAAC;IANA,KAAK,CAAC,OAAO;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,OAAO;YACN,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,IAAmB,CAAC,CAAC;SACrE,CAAC;IACH,CAAC;CACD;AA9CD,4CA8CC"}
@@ -0,0 +1,5 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ import * as tag from './tag.operation';
3
+ import * as untag from './untag.operation';
4
+ export { tag, untag };
5
+ export declare const description: INodeProperties[];
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.description = exports.untag = exports.tag = void 0;
27
+ const tag = __importStar(require("./tag.operation"));
28
+ exports.tag = tag;
29
+ const untag = __importStar(require("./untag.operation"));
30
+ exports.untag = untag;
31
+ exports.description = [
32
+ {
33
+ displayName: 'Operation',
34
+ name: 'operation',
35
+ type: 'options',
36
+ noDataExpression: true,
37
+ displayOptions: {
38
+ show: {
39
+ resource: ['contact-tagging'],
40
+ },
41
+ },
42
+ options: [
43
+ {
44
+ name: 'Tag Contact',
45
+ value: 'tag',
46
+ description: 'Adds one or more tags to a contact',
47
+ action: 'Tag contact',
48
+ },
49
+ {
50
+ name: 'Untag Contact',
51
+ value: 'untag',
52
+ description: 'Removes a tag from a contact',
53
+ action: 'Untag contact',
54
+ },
55
+ ],
56
+ default: 'tag',
57
+ },
58
+ ...tag.description,
59
+ ...untag.description,
60
+ ];
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/contact-tagging/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qDAAuC;AAG9B,kBAAG;AAFZ,yDAA2C;AAE7B,sBAAK;AAEN,QAAA,WAAW,GAAsB;IAC7C;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,iBAAiB,CAAC;aAC7B;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,oCAAoC;gBACjD,MAAM,EAAE,aAAa;aACrB;YACD;gBACC,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,8BAA8B;gBAC3C,MAAM,EAAE,eAAe;aACvB;SACD;QACD,OAAO,EAAE,KAAK;KACd;IACD,GAAG,GAAG,CAAC,WAAW;IAClB,GAAG,KAAK,CAAC,WAAW;CACpB,CAAC"}
@@ -6,7 +6,7 @@ const transport_1 = require("../../transport");
6
6
  const utilities_1 = require("../../utils/utilities");
7
7
  exports.properties = [
8
8
  {
9
- displayName: 'Email',
9
+ displayName: 'Email Address',
10
10
  name: 'email',
11
11
  type: 'string',
12
12
  default: '',
@@ -25,7 +25,7 @@ exports.properties = [
25
25
  ];
26
26
  const displayOptions = {
27
27
  show: {
28
- resource: ['subscriber'],
28
+ resource: ['contact-tagging'],
29
29
  operation: ['tag'],
30
30
  },
31
31
  };
@@ -34,10 +34,10 @@ async function execute(index) {
34
34
  const email = this.getNodeParameter('email', index);
35
35
  const tagId = this.getNodeParameter('tagId', index);
36
36
  if (!email) {
37
- return utilities_1.handleError.call(this, 'The email address is required.');
37
+ return utilities_1.handleError.call(this, 'Email is missing');
38
38
  }
39
39
  if (!tagId) {
40
- return utilities_1.handleError.call(this, 'The tag ID is required.');
40
+ return utilities_1.handleError.call(this, 'Tag ID is missing');
41
41
  }
42
42
  const body = {
43
43
  email,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.operation.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/contact-tagging/tag.operation.ts"],"names":[],"mappings":";;;AAmCA,0BAuBC;AAzDD,+CAA6C;AAC7C,qDAA0E;AAE7D,QAAA,UAAU,GAAsB;IAC5C;QACC,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,gCAAgC;KAC7C;IACD;QAEC,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE;YACZ,iBAAiB,EAAE,2BAA2B;SAC9C;QACD,OAAO,EAAE,EAAE;QACX,WAAW,EACV,uHAAuH;KACxH;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,iBAAiB,CAAC;QAC7B,SAAS,EAAE,CAAC,KAAK,CAAC;KAClB;CACD,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,gCAAoB,EAAC,cAAc,EAAE,kBAAU,CAAC,CAAC;AAErE,KAAK,UAAU,OAAO,CAA0B,KAAa;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAW,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAW,CAAC;IAE9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,IAAI,GAAgB;QACzB,KAAK;QACL,MAAM,EAAE,KAAK;KACb,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,sBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;AACF,CAAC"}
@@ -6,14 +6,14 @@ const transport_1 = require("../../transport");
6
6
  const utilities_1 = require("../../utils/utilities");
7
7
  exports.properties = [
8
8
  {
9
- displayName: 'Email',
9
+ displayName: 'Email Address',
10
10
  name: 'email',
11
11
  type: 'string',
12
12
  default: '',
13
13
  placeholder: 'Enter email address (required)',
14
14
  },
15
15
  {
16
- displayName: 'Tag ID',
16
+ displayName: 'Tag',
17
17
  name: 'tagId',
18
18
  type: 'options',
19
19
  typeOptions: {
@@ -25,7 +25,7 @@ exports.properties = [
25
25
  ];
26
26
  const displayOptions = {
27
27
  show: {
28
- resource: ['subscriber'],
28
+ resource: ['contact-tagging'],
29
29
  operation: ['untag'],
30
30
  },
31
31
  };
@@ -34,10 +34,10 @@ async function execute(index) {
34
34
  const email = this.getNodeParameter('email', index);
35
35
  const tagId = this.getNodeParameter('tagId', index);
36
36
  if (!email) {
37
- return utilities_1.handleError.call(this, 'The email address is required.');
37
+ return utilities_1.handleError.call(this, 'Email is missing');
38
38
  }
39
39
  if (!tagId) {
40
- return utilities_1.handleError.call(this, 'The tag ID is required.');
40
+ return utilities_1.handleError.call(this, 'Tag ID is missing');
41
41
  }
42
42
  const body = {
43
43
  email,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"untag.operation.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/contact-tagging/untag.operation.ts"],"names":[],"mappings":";;;AAmCA,0BAuBC;AAzDD,+CAA6C;AAC7C,qDAA0E;AAE7D,QAAA,UAAU,GAAsB;IAC5C;QACC,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,gCAAgC;KAC7C;IACD;QAEC,WAAW,EAAE,KAAK;QAClB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE;YACZ,iBAAiB,EAAE,SAAS;SAC5B;QACD,OAAO,EAAE,EAAE;QACX,WAAW,EACV,yHAAyH;KAC1H;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,iBAAiB,CAAC;QAC7B,SAAS,EAAE,CAAC,OAAO,CAAC;KACpB;CACD,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,gCAAoB,EAAC,cAAc,EAAE,kBAAU,CAAC,CAAC;AAErE,KAAK,UAAU,OAAO,CAA0B,KAAa;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAW,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAW,CAAC;IAE9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,IAAI,GAAgB;QACzB,KAAK;QACL,KAAK,EAAE,KAAK;KACZ,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,sBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;AACF,CAAC"}
@@ -6,7 +6,7 @@ const transport_1 = require("../../transport");
6
6
  const utilities_1 = require("../../utils/utilities");
7
7
  exports.properties = [
8
8
  {
9
- displayName: 'Field ID',
9
+ displayName: 'Data Field',
10
10
  name: 'apiFieldId',
11
11
  type: 'options',
12
12
  typeOptions: {
@@ -27,11 +27,11 @@ exports.description = (0, utilities_1.updateDisplayOptions)(displayOptions, expo
27
27
  async function execute(index) {
28
28
  const apiFieldId = this.getNodeParameter('apiFieldId', index);
29
29
  if (!apiFieldId) {
30
- return utilities_1.handleError.call(this, 'The API field ID is required.');
30
+ return utilities_1.handleError.call(this, 'Data field ID is required');
31
31
  }
32
32
  const fieldId = apiFieldId.replace(/^field/, '');
33
33
  if (!fieldId) {
34
- return utilities_1.handleError.call(this, 'No field ID could be extracted from the provided API field ID.');
34
+ return utilities_1.handleError.call(this, 'No data field ID found');
35
35
  }
36
36
  try {
37
37
  const responseData = await transport_1.apiRequest.call(this, 'GET', `/field/${fieldId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"get.operation.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/field/get.operation.ts"],"names":[],"mappings":";;;AA6BA,0BAoBC;AAhDD,+CAA6C;AAC7C,qDAAgG;AAEnF,QAAA,UAAU,GAAsB;IAC3C;QAEE,WAAW,EAAE,UAAU;QACvB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE;YACX,iBAAiB,EAAE,WAAW;SAC/B;QACD,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,WAAW,EACT,yHAAyH;KAC5H;CACF,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC,OAAO,CAAC;QACnB,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;CACF,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,gCAAoB,EAAC,cAAc,EAAE,kBAAU,CAAC,CAAC;AAErE,KAAK,UAAU,OAAO,CAA0B,KAAa;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAW,CAAC;IAExE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;IACjE,CAAC;IAGD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,gEAAgE,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,sBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,OAAO,EAAE,CAAC,CAAC;QAC7E,OAAO,gCAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"get.operation.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/field/get.operation.ts"],"names":[],"mappings":";;;AA6BA,0BAoBC;AAhDD,+CAA6C;AAC7C,qDAAgG;AAEnF,QAAA,UAAU,GAAsB;IAC5C;QAEC,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE;YACZ,iBAAiB,EAAE,WAAW;SAC9B;QACD,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,WAAW,EACV,yHAAyH;KAC1H;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,OAAO,CAAC;QACnB,SAAS,EAAE,CAAC,KAAK,CAAC;KAClB;CACD,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,gCAAoB,EAAC,cAAc,EAAE,kBAAU,CAAC,CAAC;AAErE,KAAK,UAAU,OAAO,CAA0B,KAAa;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAW,CAAC;IAExE,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAC5D,CAAC;IAGD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,YAAY,GAAG,MAAM,sBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,OAAO,EAAE,CAAC,CAAC;QAC7E,OAAO,gCAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;AACF,CAAC"}
@@ -41,21 +41,21 @@ exports.description = [
41
41
  },
42
42
  options: [
43
43
  {
44
- name: 'Field Index',
45
- value: 'index',
46
- description: 'Returns an associative array in the format <code>{ field_id: field_name }</code>, where each key corresponds to the unique field ID, and its value is the associated field name',
47
- action: 'Field index',
44
+ name: 'Get Data Field',
45
+ value: 'get',
46
+ description: 'Gets the ID and the name of a data field',
47
+ action: 'Get data field',
48
48
  },
49
49
  {
50
- name: 'Field Get',
51
- value: 'get',
52
- description: 'Returns the name and description of a field',
53
- action: 'Field get',
50
+ name: 'List Data Fields',
51
+ value: 'index',
52
+ description: 'Lists the IDs and names of all data fields',
53
+ action: 'List data fields',
54
54
  },
55
55
  ],
56
56
  default: 'index',
57
57
  },
58
58
  ...index.description,
59
- ...get.description
59
+ ...get.description,
60
60
  ];
61
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/field/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAA2C;AAGlC,sBAAK;AAFd,qDAAuC;AAEvB,kBAAG;AAEN,QAAA,WAAW,GAAsB;IAC7C;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,OAAO,CAAC;aACnB;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,OAAO;gBACd,WAAW,EACV,iLAAiL;gBAClL,MAAM,EAAE,aAAa;aACrB;YACD;gBACC,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,6CAA6C;gBAC1D,MAAM,EAAE,WAAW;aACnB;SACD;QACD,OAAO,EAAE,OAAO;KAChB;IACD,GAAG,KAAK,CAAC,WAAW;IACpB,GAAG,GAAG,CAAC,WAAW;CAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/field/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAA2C;AAGlC,sBAAK;AAFd,qDAAuC;AAEvB,kBAAG;AAEN,QAAA,WAAW,GAAsB;IAC7C;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,OAAO,CAAC;aACnB;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,0CAA0C;gBACvD,MAAM,EAAE,gBAAgB;aACxB;YACD;gBACC,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,4CAA4C;gBACzD,MAAM,EAAE,kBAAkB;aAC1B;SACD;QACD,OAAO,EAAE,OAAO;KAChB;IACD,GAAG,KAAK,CAAC,WAAW;IACpB,GAAG,GAAG,CAAC,WAAW;CAClB,CAAC"}
@@ -28,6 +28,7 @@ const tag = __importStar(require("./tag"));
28
28
  const optIn = __importStar(require("./opt-in-process"));
29
29
  const subscriber = __importStar(require("./subscriber"));
30
30
  const field = __importStar(require("./field"));
31
+ const contactTagging = __importStar(require("./contact-tagging"));
31
32
  exports.description = {
32
33
  displayName: 'KlickTipp',
33
34
  name: 'klicktipp',
@@ -55,20 +56,24 @@ exports.description = {
55
56
  default: 'tag',
56
57
  options: [
57
58
  {
58
- name: 'Tag',
59
- value: 'tag',
59
+ name: 'Contact',
60
+ value: 'subscriber',
60
61
  },
61
62
  {
62
- name: 'Opt-in Process',
63
- value: 'opt-in',
63
+ name: 'Contact Tagging',
64
+ value: 'contact-tagging',
64
65
  },
65
66
  {
66
- name: 'Subscriber',
67
- value: 'subscriber',
67
+ name: 'Data Field',
68
+ value: 'field',
68
69
  },
69
70
  {
70
- name: 'Field',
71
- value: 'field',
71
+ name: 'Opt-In Process',
72
+ value: 'opt-in',
73
+ },
74
+ {
75
+ name: 'Tag',
76
+ value: 'tag',
72
77
  },
73
78
  ],
74
79
  },
@@ -76,6 +81,7 @@ exports.description = {
76
81
  ...optIn.description,
77
82
  ...subscriber.description,
78
83
  ...field.description,
84
+ ...contactTagging.description,
79
85
  ],
80
86
  };
81
87
  //# sourceMappingURL=node.description.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.description.js","sourceRoot":"","sources":["../../../../nodes/KlickTipp/actions/node.description.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,2CAA6B;AAC7B,wDAA0C;AAC1C,yDAA2C;AAC3C,+CAAiC;AAEpB,QAAA,WAAW,GAAyB;IAChD,WAAW,EAAE,WAAW;IACxB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACtE,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,8DAA8D;IACxE,WAAW,EAAE,6BAA6B;IAC1C,QAAQ,EAAE;QACT,IAAI,EAAE,WAAW;KACjB;IACD,MAAM,EAAE,QAAyB;IAEjC,OAAO,EAAE,QAAyB;IAClC,WAAW,EAAE;QACZ;YACC,IAAI,EAAE,cAAc;SACpB;KACD;IACD,UAAU,EAAE;QACX;YACC,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,KAAK;iBACZ;gBACD;oBACC,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,QAAQ;iBACf;gBACD;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,YAAY;iBACnB;gBACD;oBACC,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,OAAO;iBACd;aACD;SACD;QACD,GAAG,GAAG,CAAC,WAAW;QAClB,GAAG,KAAK,CAAC,WAAW;QACpB,GAAG,UAAU,CAAC,WAAW;QACzB,GAAG,KAAK,CAAC,WAAW;KACpB;CACD,CAAC"}
1
+ {"version":3,"file":"node.description.js","sourceRoot":"","sources":["../../../../nodes/KlickTipp/actions/node.description.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,2CAA6B;AAC7B,wDAA0C;AAC1C,yDAA2C;AAC3C,+CAAiC;AACjC,kEAAoD;AAEvC,QAAA,WAAW,GAAyB;IAChD,WAAW,EAAE,WAAW;IACxB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACtE,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,8DAA8D;IACxE,WAAW,EAAE,6BAA6B;IAC1C,QAAQ,EAAE;QACT,IAAI,EAAE,WAAW;KACjB;IACD,MAAM,EAAE,QAAyB;IAEjC,OAAO,EAAE,QAAyB;IAClC,WAAW,EAAE;QACZ;YACC,IAAI,EAAE,cAAc;SACpB;KACD;IACD,UAAU,EAAE;QACX;YACC,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,YAAY;iBACnB;gBACD;oBACC,IAAI,EAAE,iBAAiB;oBACvB,KAAK,EAAE,iBAAiB;iBACxB;gBACD;oBACC,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,OAAO;iBACd;gBACD;oBACC,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,QAAQ;iBACf;gBACD;oBACC,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,KAAK;iBACZ;aACD;SACD;QACD,GAAG,GAAG,CAAC,WAAW;QAClB,GAAG,KAAK,CAAC,WAAW;QACpB,GAAG,UAAU,CAAC,WAAW;QACzB,GAAG,KAAK,CAAC,WAAW;QACpB,GAAG,cAAc,CAAC,WAAW;KAC7B;CACD,CAAC"}
@@ -2,8 +2,9 @@ import type { AllEntities } from 'n8n-workflow';
2
2
  type NodeMap = {
3
3
  tag: 'create' | 'delete' | 'get' | 'index' | 'update';
4
4
  ['opt-in']: 'get' | 'getRedirect' | 'index';
5
- subscriber: 'resendAutoresponder' | 'subscribe' | 'unsubscribe' | 'index' | 'delete' | 'get' | 'search' | 'signIn' | 'signOff' | 'signOut' | 'tag' | 'tagged' | 'untag' | 'update';
5
+ subscriber: 'subscribe' | 'unsubscribe' | 'index' | 'delete' | 'get' | 'search' | 'tagged' | 'update';
6
6
  field: 'index' | 'get';
7
+ ['contact-tagging']: 'tag' | 'untag';
7
8
  };
8
9
  export type KlickTippType = AllEntities<NodeMap>;
9
10
  export {};
@@ -16,12 +16,11 @@ exports.properties = [
16
16
  description: 'Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code-examples/expressions/">expression</a>',
17
17
  },
18
18
  {
19
- displayName: 'Email',
19
+ displayName: 'Email Address',
20
20
  name: 'email',
21
21
  type: 'string',
22
22
  placeholder: 'Enter email address (required)',
23
23
  default: '',
24
- description: 'Email address',
25
24
  },
26
25
  ];
27
26
  const displayOptions = {
@@ -35,10 +34,10 @@ async function execute(index) {
35
34
  const listId = this.getNodeParameter('listId', index);
36
35
  const email = this.getNodeParameter('email', index);
37
36
  if (!listId) {
38
- return utilities_1.handleError.call(this, 'The opt-in process ID is required.');
37
+ return utilities_1.handleError.call(this, 'Opt-in process ID is missing');
39
38
  }
40
39
  if (!email) {
41
- return utilities_1.handleError.call(this, 'The email address is required.');
40
+ return utilities_1.handleError.call(this, 'Email is missing');
42
41
  }
43
42
  const body = {
44
43
  listid: listId,
@@ -1 +1 @@
1
- {"version":3,"file":"get-redirect.operation.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/opt-in-process/get-redirect.operation.ts"],"names":[],"mappings":";;;AAoCA,0BA4BC;AA/DD,+CAA6C;AAC7C,qDAAgG;AAEnF,QAAA,UAAU,GAAsB;IAC5C;QAEC,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE;YACZ,iBAAiB,EAAE,mBAAmB;SACtC;QACD,OAAO,EAAE,EAAE;QACX,WAAW,EACV,yHAAyH;KAC1H;IACD;QACC,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,eAAe;KAC5B;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,SAAS,EAAE,CAAC,aAAa,CAAC;KAC1B;CACD,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,gCAAoB,EAAC,cAAc,EAAE,kBAAU,CAAC,CAAC;AAErE,KAAK,UAAU,OAAO,CAA0B,KAAa;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAW,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAW,CAAC;IAE9D,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,oCAAoC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,IAAI,GAAgB;QACzB,MAAM,EAAE,MAAM;QACd,KAAK;KACL,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,YAAY,GAAG,MAAM,sBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAEjF,MAAM,YAAY,GAAG;YACpB,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;SAC5B,CAAC;QAEF,OAAO,gCAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"get-redirect.operation.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/opt-in-process/get-redirect.operation.ts"],"names":[],"mappings":";;;AAmCA,0BA4BC;AA9DD,+CAA6C;AAC7C,qDAAgG;AAEnF,QAAA,UAAU,GAAsB;IAC5C;QAEC,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE;YACZ,iBAAiB,EAAE,mBAAmB;SACtC;QACD,OAAO,EAAE,EAAE;QACX,WAAW,EACV,yHAAyH;KAC1H;IACD;QACC,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gCAAgC;QAC7C,OAAO,EAAE,EAAE;KACX;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,SAAS,EAAE,CAAC,aAAa,CAAC;KAC1B;CACD,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,gCAAoB,EAAC,cAAc,EAAE,kBAAU,CAAC,CAAC;AAErE,KAAK,UAAU,OAAO,CAA0B,KAAa;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAW,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAW,CAAC;IAE9D,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,IAAI,GAAgB;QACzB,MAAM,EAAE,MAAM;QACd,KAAK;KACL,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,YAAY,GAAG,MAAM,sBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAEjF,MAAM,YAAY,GAAG;YACpB,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;SAC5B,CAAC;QAEF,OAAO,gCAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;AACF,CAAC"}
@@ -26,7 +26,7 @@ exports.description = (0, utilities_1.updateDisplayOptions)(displayOptions, expo
26
26
  async function execute(index) {
27
27
  const listId = this.getNodeParameter('listId', index);
28
28
  if (!listId) {
29
- return utilities_1.handleError.call(this, 'The opt-in process ID is required.');
29
+ return utilities_1.handleError.call(this, 'Opt-in process ID is missing');
30
30
  }
31
31
  try {
32
32
  const responseData = await transport_1.apiRequest.call(this, 'GET', `/list/${listId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"get.operation.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/opt-in-process/get.operation.ts"],"names":[],"mappings":";;;AA4BA,0BAaC;AAxCD,+CAA6C;AAC7C,qDAAgG;AAEnF,QAAA,UAAU,GAAsB;IAC5C;QAEC,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE;YACZ,iBAAiB,EAAE,mBAAmB;SACtC;QACD,OAAO,EAAE,EAAE;QACX,WAAW,EACV,yHAAyH;KAC1H;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,SAAS,EAAE,CAAC,KAAK,CAAC;KAClB;CACD,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,gCAAoB,EAAC,cAAc,EAAE,kBAAU,CAAC,CAAC;AAErE,KAAK,UAAU,OAAO,CAA0B,KAAa;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAW,CAAC;IAEhE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,oCAAoC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,YAAY,GAAG,MAAM,sBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;QAC3E,OAAO,gCAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"get.operation.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/opt-in-process/get.operation.ts"],"names":[],"mappings":";;;AA4BA,0BAaC;AAxCD,+CAA6C;AAC7C,qDAAgG;AAEnF,QAAA,UAAU,GAAsB;IAC5C;QAEC,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE;YACZ,iBAAiB,EAAE,mBAAmB;SACtC;QACD,OAAO,EAAE,EAAE;QACX,WAAW,EACV,yHAAyH;KAC1H;CACD,CAAC;AAEF,MAAM,cAAc,GAAG;IACtB,IAAI,EAAE;QACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,SAAS,EAAE,CAAC,KAAK,CAAC;KAClB;CACD,CAAC;AAEW,QAAA,WAAW,GAAG,IAAA,gCAAoB,EAAC,cAAc,EAAE,kBAAU,CAAC,CAAC;AAErE,KAAK,UAAU,OAAO,CAA0B,KAAa;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAW,CAAC;IAEhE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,YAAY,GAAG,MAAM,sBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;QAC3E,OAAO,gCAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,uBAAW,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;AACF,CAAC"}
@@ -43,22 +43,22 @@ exports.description = [
43
43
  },
44
44
  options: [
45
45
  {
46
- name: 'Opt-in Process Get',
46
+ name: 'Get Opt-in Process',
47
47
  value: 'get',
48
- description: 'Returns the name of an opt-in process',
49
- action: 'Process get',
48
+ description: 'Returns the complete data of an opt-in process',
49
+ action: 'Get opt in process',
50
50
  },
51
51
  {
52
- name: 'Opt-in Process Index',
53
- value: 'index',
54
- description: 'Returns an associative array in the format <code>{ double_optin_process_id: double_optin_process_name }</code>, where each key represents the unique ID of an opt-in process, and its value is the corresponding opt-in process name',
55
- action: 'Process index',
52
+ name: 'Get Redirect URL',
53
+ value: 'getRedirect',
54
+ description: 'Gets the redirection URL for a specific opt-in process',
55
+ action: 'Get redirect url',
56
56
  },
57
57
  {
58
- name: 'Opt-in Process Redirect URL',
59
- value: 'getRedirect',
60
- description: "Returns the URL of the opt-in confirmation page for a subscriber's opt-in process",
61
- action: 'Process redirect URL',
58
+ name: 'List Opt-in Processes',
59
+ value: 'index',
60
+ description: 'Lists the IDs and names of all opt-in processes',
61
+ action: 'List opt in processes',
62
62
  },
63
63
  ],
64
64
  default: 'index',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/opt-in-process/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAA2C;AAIlC,sBAAK;AAHd,qDAAuC;AAGvB,kBAAG;AAFnB,sEAAwD;AAEnC,kCAAW;AAEnB,QAAA,WAAW,GAAsB;IAC7C;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACpB;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,uCAAuC;gBACpD,MAAM,EAAE,aAAa;aACrB;YACD;gBACC,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,OAAO;gBACd,WAAW,EACV,sOAAsO;gBACvO,MAAM,EAAE,eAAe;aACvB;YACD;gBACC,IAAI,EAAE,6BAA6B;gBACnC,KAAK,EAAE,aAAa;gBACpB,WAAW,EACV,mFAAmF;gBACpF,MAAM,EAAE,sBAAsB;aAC9B;SACD;QACD,OAAO,EAAE,OAAO;KAChB;IACD,GAAG,WAAW,CAAC,WAAW;IAC1B,GAAG,GAAG,CAAC,WAAW;CAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/KlickTipp/actions/opt-in-process/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yDAA2C;AAIlC,sBAAK;AAHd,qDAAuC;AAGvB,kBAAG;AAFnB,sEAAwD;AAEnC,kCAAW;AAEnB,QAAA,WAAW,GAAsB;IAC7C;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE;YACf,IAAI,EAAE;gBACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACpB;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,gDAAgD;gBAC7D,MAAM,EAAE,oBAAoB;aAC5B;YACD;gBACC,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,wDAAwD;gBACrE,MAAM,EAAE,kBAAkB;aAC1B;YACD;gBACC,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,iDAAiD;gBAC9D,MAAM,EAAE,uBAAuB;aAC/B;SACD;QACD,OAAO,EAAE,OAAO;KAChB;IACD,GAAG,WAAW,CAAC,WAAW;IAC1B,GAAG,GAAG,CAAC,WAAW;CAClB,CAAC"}