@chariow/n8n-nodes-chariow 0.0.1

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 (105) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +236 -0
  3. package/dist/credentials/ChariowApi.credentials.d.ts +13 -0
  4. package/dist/credentials/ChariowApi.credentials.js +45 -0
  5. package/dist/credentials/ChariowApi.credentials.js.map +1 -0
  6. package/dist/examples/n8n-nodes-starter/icons/github.dark.svg +3 -0
  7. package/dist/examples/n8n-nodes-starter/icons/github.svg +3 -0
  8. package/dist/examples/n8n-nodes-starter/nodes/Example/example.dark.svg +13 -0
  9. package/dist/examples/n8n-nodes-starter/nodes/Example/example.svg +13 -0
  10. package/dist/icons/chariow.svg +27 -0
  11. package/dist/nodes/Chariow/Chariow.node.d.ts +5 -0
  12. package/dist/nodes/Chariow/Chariow.node.js +147 -0
  13. package/dist/nodes/Chariow/Chariow.node.js.map +1 -0
  14. package/dist/nodes/Chariow/Chariow.node.json +18 -0
  15. package/dist/nodes/Chariow/ChariowTrigger.node.d.ts +12 -0
  16. package/dist/nodes/Chariow/ChariowTrigger.node.js +191 -0
  17. package/dist/nodes/Chariow/ChariowTrigger.node.js.map +1 -0
  18. package/dist/nodes/Chariow/ChariowTrigger.node.json +18 -0
  19. package/dist/nodes/Chariow/resources/checkout/create.d.ts +3 -0
  20. package/dist/nodes/Chariow/resources/checkout/create.js +137 -0
  21. package/dist/nodes/Chariow/resources/checkout/create.js.map +1 -0
  22. package/dist/nodes/Chariow/resources/checkout/index.d.ts +5 -0
  23. package/dist/nodes/Chariow/resources/checkout/index.js +62 -0
  24. package/dist/nodes/Chariow/resources/checkout/index.js.map +1 -0
  25. package/dist/nodes/Chariow/resources/customer/get.d.ts +3 -0
  26. package/dist/nodes/Chariow/resources/customer/get.js +27 -0
  27. package/dist/nodes/Chariow/resources/customer/get.js.map +1 -0
  28. package/dist/nodes/Chariow/resources/customer/getAll.d.ts +3 -0
  29. package/dist/nodes/Chariow/resources/customer/getAll.js +80 -0
  30. package/dist/nodes/Chariow/resources/customer/getAll.js.map +1 -0
  31. package/dist/nodes/Chariow/resources/customer/index.d.ts +6 -0
  32. package/dist/nodes/Chariow/resources/customer/index.js +70 -0
  33. package/dist/nodes/Chariow/resources/customer/index.js.map +1 -0
  34. package/dist/nodes/Chariow/resources/discount/get.d.ts +3 -0
  35. package/dist/nodes/Chariow/resources/discount/get.js +27 -0
  36. package/dist/nodes/Chariow/resources/discount/get.js.map +1 -0
  37. package/dist/nodes/Chariow/resources/discount/getAll.d.ts +3 -0
  38. package/dist/nodes/Chariow/resources/discount/getAll.js +85 -0
  39. package/dist/nodes/Chariow/resources/discount/getAll.js.map +1 -0
  40. package/dist/nodes/Chariow/resources/discount/index.d.ts +6 -0
  41. package/dist/nodes/Chariow/resources/discount/index.js +70 -0
  42. package/dist/nodes/Chariow/resources/discount/index.js.map +1 -0
  43. package/dist/nodes/Chariow/resources/index.d.ts +8 -0
  44. package/dist/nodes/Chariow/resources/index.js +51 -0
  45. package/dist/nodes/Chariow/resources/index.js.map +1 -0
  46. package/dist/nodes/Chariow/resources/licence/activate.d.ts +3 -0
  47. package/dist/nodes/Chariow/resources/licence/activate.js +64 -0
  48. package/dist/nodes/Chariow/resources/licence/activate.js.map +1 -0
  49. package/dist/nodes/Chariow/resources/licence/get.d.ts +3 -0
  50. package/dist/nodes/Chariow/resources/licence/get.js +27 -0
  51. package/dist/nodes/Chariow/resources/licence/get.js.map +1 -0
  52. package/dist/nodes/Chariow/resources/licence/getActivations.d.ts +3 -0
  53. package/dist/nodes/Chariow/resources/licence/getActivations.js +64 -0
  54. package/dist/nodes/Chariow/resources/licence/getActivations.js.map +1 -0
  55. package/dist/nodes/Chariow/resources/licence/getAll.d.ts +3 -0
  56. package/dist/nodes/Chariow/resources/licence/getAll.js +100 -0
  57. package/dist/nodes/Chariow/resources/licence/getAll.js.map +1 -0
  58. package/dist/nodes/Chariow/resources/licence/index.d.ts +9 -0
  59. package/dist/nodes/Chariow/resources/licence/index.js +100 -0
  60. package/dist/nodes/Chariow/resources/licence/index.js.map +1 -0
  61. package/dist/nodes/Chariow/resources/licence/revoke.d.ts +3 -0
  62. package/dist/nodes/Chariow/resources/licence/revoke.js +27 -0
  63. package/dist/nodes/Chariow/resources/licence/revoke.js.map +1 -0
  64. package/dist/nodes/Chariow/resources/product/get.d.ts +3 -0
  65. package/dist/nodes/Chariow/resources/product/get.js +27 -0
  66. package/dist/nodes/Chariow/resources/product/get.js.map +1 -0
  67. package/dist/nodes/Chariow/resources/product/getAll.d.ts +3 -0
  68. package/dist/nodes/Chariow/resources/product/getAll.js +84 -0
  69. package/dist/nodes/Chariow/resources/product/getAll.js.map +1 -0
  70. package/dist/nodes/Chariow/resources/product/index.d.ts +6 -0
  71. package/dist/nodes/Chariow/resources/product/index.js +70 -0
  72. package/dist/nodes/Chariow/resources/product/index.js.map +1 -0
  73. package/dist/nodes/Chariow/resources/sale/get.d.ts +3 -0
  74. package/dist/nodes/Chariow/resources/sale/get.js +27 -0
  75. package/dist/nodes/Chariow/resources/sale/get.js.map +1 -0
  76. package/dist/nodes/Chariow/resources/sale/getAll.d.ts +3 -0
  77. package/dist/nodes/Chariow/resources/sale/getAll.js +94 -0
  78. package/dist/nodes/Chariow/resources/sale/getAll.js.map +1 -0
  79. package/dist/nodes/Chariow/resources/sale/index.d.ts +6 -0
  80. package/dist/nodes/Chariow/resources/sale/index.js +70 -0
  81. package/dist/nodes/Chariow/resources/sale/index.js.map +1 -0
  82. package/dist/nodes/Chariow/resources/store/getInfo.d.ts +3 -0
  83. package/dist/nodes/Chariow/resources/store/getInfo.js +11 -0
  84. package/dist/nodes/Chariow/resources/store/getInfo.js.map +1 -0
  85. package/dist/nodes/Chariow/resources/store/index.d.ts +5 -0
  86. package/dist/nodes/Chariow/resources/store/index.js +62 -0
  87. package/dist/nodes/Chariow/resources/store/index.js.map +1 -0
  88. package/dist/nodes/Chariow/shared/constants.d.ts +20 -0
  89. package/dist/nodes/Chariow/shared/constants.js +24 -0
  90. package/dist/nodes/Chariow/shared/constants.js.map +1 -0
  91. package/dist/nodes/Chariow/shared/descriptions.d.ts +4 -0
  92. package/dist/nodes/Chariow/shared/descriptions.js +34 -0
  93. package/dist/nodes/Chariow/shared/descriptions.js.map +1 -0
  94. package/dist/nodes/Chariow/shared/index.d.ts +4 -0
  95. package/dist/nodes/Chariow/shared/index.js +21 -0
  96. package/dist/nodes/Chariow/shared/index.js.map +1 -0
  97. package/dist/nodes/Chariow/shared/transport.d.ts +3 -0
  98. package/dist/nodes/Chariow/shared/transport.js +63 -0
  99. package/dist/nodes/Chariow/shared/transport.js.map +1 -0
  100. package/dist/nodes/Chariow/shared/utils.d.ts +3 -0
  101. package/dist/nodes/Chariow/shared/utils.js +20 -0
  102. package/dist/nodes/Chariow/shared/utils.js.map +1 -0
  103. package/dist/package.json +67 -0
  104. package/dist/tsconfig.tsbuildinfo +1 -0
  105. package/package.json +67 -0
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Axa Zara
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,236 @@
1
+ # n8n-nodes-chariow
2
+
3
+ This is an n8n community node that lets you use [Chariow](https://chariow.com) in your n8n workflows.
4
+
5
+ Chariow is a digital products platform that helps creators and entrepreneurs sell their content, products, and services across borders without hassle.
6
+
7
+ [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
8
+
9
+ [Installation](#installation)
10
+ [Operations](#operations)
11
+ [Credentials](#credentials)
12
+ [Compatibility](#compatibility)
13
+ [Usage](#usage)
14
+ [Resources](#resources)
15
+
16
+ ## Installation
17
+
18
+ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
19
+
20
+ ### npm
21
+
22
+ ```bash
23
+ npm install n8n-nodes-chariow
24
+ ```
25
+
26
+ ### Docker
27
+
28
+ If you're using Docker, add the package to your n8n instance:
29
+
30
+ ```bash
31
+ docker exec -it n8n npm install n8n-nodes-chariow
32
+ ```
33
+
34
+ Then restart your n8n instance.
35
+
36
+ ## Operations
37
+
38
+ ### Chariow Node (Actions)
39
+
40
+ This node supports the following resources and operations:
41
+
42
+ #### Customer
43
+ - **Get**: Retrieve a customer by ID
44
+ - **Get Many**: List customers with optional search filter
45
+
46
+ #### Product
47
+ - **Get**: Retrieve a product by ID
48
+ - **Get Many**: List products with optional filters (search, status)
49
+
50
+ #### Sale
51
+ - **Get**: Retrieve a sale by ID
52
+ - **Get Many**: List sales with optional filters (customer_id, product_id, status)
53
+
54
+ #### Discount
55
+ - **Get**: Retrieve a discount by ID or code
56
+ - **Get Many**: List discounts with optional filters (search, status)
57
+
58
+ #### Licence
59
+ - **Get**: Retrieve a licence by ID or key
60
+ - **Get Many**: List licences with optional filters (customer_id, product_id, search, status)
61
+ - **Activate**: Activate a licence with optional device information
62
+ - **Revoke**: Revoke a licence
63
+ - **Get Activations**: List activations for a licence
64
+
65
+ #### Checkout
66
+ - **Create**: Create a new checkout session with optional customer info, discount code, and custom fields
67
+
68
+ #### Store
69
+ - **Get Info**: Retrieve your store information
70
+
71
+ ### Chariow Trigger Node (Webhooks)
72
+
73
+ Automatically start workflows when events occur in Chariow:
74
+
75
+ #### Sale Events
76
+ - `successful.sale` - When a sale is completed successfully
77
+ - `abandoned.sale` - When a sale is abandoned
78
+ - `failed.sale` - When a sale fails
79
+ - `refunded.sale` - When a sale is refunded
80
+
81
+ #### Licence Events
82
+ - `activated.licence` - When a licence is activated
83
+ - `expired.licence` - When a licence expires
84
+ - `issued.licence` - When a new licence is issued
85
+ - `revoked.licence` - When a licence is revoked
86
+
87
+ ## Credentials
88
+
89
+ To use this node, you'll need a Chariow API key:
90
+
91
+ 1. Log in to your [Chariow dashboard](https://app.chariow.com)
92
+ 2. Go to **Settings** > **API Keys**
93
+ 3. Create a new API key or copy an existing one
94
+ 4. The API key should start with `sk_live_` (production) or `sk_test_` (testing)
95
+
96
+ ## Compatibility
97
+
98
+ - Tested with n8n version 1.0.0 and above
99
+ - Requires Node.js 18.10 or higher
100
+
101
+ ## Usage
102
+
103
+ ### Basic Example: Get Customer Data
104
+
105
+ 1. Add the **Chariow** node to your workflow
106
+ 2. Select **Customer** as the resource
107
+ 3. Select **Get** as the operation
108
+ 4. Enter the Customer ID (e.g., `cus_abc123xyz`)
109
+ 5. Execute the node
110
+
111
+ ### Webhook Example: Process New Sales
112
+
113
+ 1. Add the **Chariow Trigger** node to your workflow
114
+ 2. Select **Sale** as the event category
115
+ 3. Select **Successful** as the event type
116
+ 4. Activate the workflow
117
+ 5. The workflow will trigger whenever a new successful sale occurs
118
+
119
+ ### Create Checkout Example
120
+
121
+ 1. Add the **Chariow** node to your workflow
122
+ 2. Select **Checkout** as the resource
123
+ 3. Select **Create** as the operation
124
+ 4. Enter the Product ID
125
+ 5. Optionally add customer email, discount code, or custom fields
126
+ 6. Execute to get a checkout URL
127
+
128
+ ## Development
129
+
130
+ ### Prerequisites
131
+
132
+ - Node.js 18.10+
133
+ - pnpm 9.1+
134
+ - n8n installed globally (for local testing)
135
+
136
+ ### Setup
137
+
138
+ ```bash
139
+ # Clone the repository
140
+ git clone https://github.com/Chariow/n8n-nodes.git
141
+ cd n8n-nodes
142
+
143
+ # Install dependencies
144
+ pnpm install
145
+
146
+ # Build the node
147
+ pnpm build
148
+ ```
149
+
150
+ ### Local Testing
151
+
152
+ There are two ways to test the node locally:
153
+
154
+ #### Option 1: Using n8n-node dev (Recommended)
155
+
156
+ ```bash
157
+ # Build and start n8n with the custom node
158
+ pnpm test:local
159
+ ```
160
+
161
+ This will start n8n with your custom node loaded. Access n8n at `http://localhost:5678`.
162
+
163
+ #### Option 2: Link to existing n8n installation
164
+
165
+ ```bash
166
+ # Build the node
167
+ pnpm build
168
+
169
+ # Link to your global n8n
170
+ pnpm link --global
171
+
172
+ # In your n8n custom nodes directory (~/.n8n/custom)
173
+ mkdir -p ~/.n8n/custom
174
+ cd ~/.n8n/custom
175
+ pnpm link --global n8n-nodes-chariow
176
+
177
+ # Restart n8n
178
+ n8n start
179
+ ```
180
+
181
+ ### Available Scripts
182
+
183
+ | Command | Description |
184
+ |---------|-------------|
185
+ | `pnpm build` | Build the node |
186
+ | `pnpm build:watch` | Build and watch for changes |
187
+ | `pnpm dev` | Start n8n with the custom node |
188
+ | `pnpm lint` | Run ESLint |
189
+ | `pnpm lint:fix` | Fix ESLint errors |
190
+ | `pnpm format` | Format code with Prettier |
191
+ | `pnpm format:check` | Check code formatting |
192
+ | `pnpm typecheck` | Run TypeScript type checking |
193
+ | `pnpm test:local` | Build and start n8n for testing |
194
+
195
+ ### Project Structure
196
+
197
+ ```
198
+ chariow-n8n/
199
+ ├── credentials/
200
+ │ └── ChariowApi.credentials.ts
201
+ ├── nodes/
202
+ │ └── Chariow/
203
+ │ ├── Chariow.node.ts
204
+ │ ├── ChariowTrigger.node.ts
205
+ │ ├── shared/
206
+ │ │ ├── transport.ts
207
+ │ │ ├── utils.ts
208
+ │ │ └── descriptions.ts
209
+ │ └── resources/
210
+ │ ├── customer/
211
+ │ ├── product/
212
+ │ ├── sale/
213
+ │ ├── discount/
214
+ │ ├── licence/
215
+ │ ├── checkout/
216
+ │ └── store/
217
+ ├── icons/
218
+ │ └── chariow.svg
219
+ └── dist/ # Built output
220
+ ```
221
+
222
+ ## Resources
223
+
224
+ * [Chariow Documentation](https://docs.chariow.com/)
225
+ * [Chariow API Reference](https://docs.chariow.com/api)
226
+ * [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
227
+
228
+ ## Support
229
+
230
+ For issues with this node, please [open an issue](https://github.com/Chariow/n8n-nodes/issues) on GitHub.
231
+
232
+ For questions about Chariow, contact [support@chariow.com](mailto:support@chariow.com).
233
+
234
+ ## License
235
+
236
+ [MIT](LICENSE.md)
@@ -0,0 +1,13 @@
1
+ import type { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class ChariowApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ icon: {
7
+ readonly light: "file:../icons/chariow.svg";
8
+ readonly dark: "file:../icons/chariow.svg";
9
+ };
10
+ properties: INodeProperties[];
11
+ authenticate: IAuthenticateGeneric;
12
+ test: ICredentialTestRequest;
13
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChariowApi = void 0;
4
+ const constants_1 = require("../nodes/Chariow/shared/constants");
5
+ class ChariowApi {
6
+ constructor() {
7
+ this.name = 'chariowApi';
8
+ this.displayName = 'Chariow API';
9
+ this.documentationUrl = 'https://docs.chariow.com/en/introduction/overview';
10
+ this.icon = {
11
+ light: 'file:../icons/chariow.svg',
12
+ dark: 'file:../icons/chariow.svg',
13
+ };
14
+ this.properties = [
15
+ {
16
+ displayName: 'API Key',
17
+ name: 'apiKey',
18
+ type: 'string',
19
+ typeOptions: { password: true },
20
+ default: '',
21
+ required: true,
22
+ description: 'Your Chariow API Key. Find it in your store settings under API Keys. It should start with sk_.',
23
+ },
24
+ ];
25
+ this.authenticate = {
26
+ type: 'generic',
27
+ properties: {
28
+ headers: {
29
+ Authorization: '=Bearer {{$credentials.apiKey}}',
30
+ Accept: 'application/json',
31
+ 'Content-Type': 'application/json',
32
+ 'X-Platform-Source': 'n8n',
33
+ },
34
+ },
35
+ };
36
+ this.test = {
37
+ request: {
38
+ baseURL: constants_1.API_BASE_URL,
39
+ url: '/store',
40
+ },
41
+ };
42
+ }
43
+ }
44
+ exports.ChariowApi = ChariowApi;
45
+ //# sourceMappingURL=ChariowApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChariowApi.credentials.js","sourceRoot":"","sources":["../../credentials/ChariowApi.credentials.ts"],"names":[],"mappings":";;;AAOA,iEAAiE;AAEjE,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QAEpB,gBAAW,GAAG,aAAa,CAAC;QAE5B,qBAAgB,GAAG,mDAAmD,CAAC;QAEvE,SAAI,GAAG;YACN,KAAK,EAAE,2BAA2B;YAClC,IAAI,EAAE,2BAA2B;SACxB,CAAC;QAEX,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EACV,gGAAgG;aACjG;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,iCAAiC;oBAChD,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;oBAClC,mBAAmB,EAAE,KAAK;iBAC1B;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,wBAAY;gBACrB,GAAG,EAAE,QAAQ;aACb;SACD,CAAC;IACH,CAAC;CAAA;AA3CD,gCA2CC"}
@@ -0,0 +1,3 @@
1
+ <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M20.0165 0C8.94791 0 0 9.01388 0 20.1653C0 29.0792 5.73324 36.6246 13.6868 39.2952C14.6812 39.496 15.0454 38.8613 15.0454 38.3274C15.0454 37.8599 15.0126 36.2575 15.0126 34.5879C9.4445 35.79 8.28498 32.1841 8.28498 32.1841C7.39015 29.847 6.06429 29.2463 6.06429 29.2463C4.24185 28.011 6.19704 28.011 6.19704 28.011C8.21861 28.1446 9.27938 30.081 9.27938 30.081C11.0686 33.1522 13.9518 32.2844 15.1118 31.7502C15.2773 30.4481 15.8079 29.5467 16.3713 29.046C11.9303 28.5785 7.25781 26.8425 7.25781 19.0967C7.25781 16.8932 8.05267 15.0905 9.31216 13.6884C9.11344 13.1877 8.41732 11.1174 9.51128 8.34644C9.51128 8.34644 11.2014 7.81217 15.0122 10.4164C16.6438 9.97495 18.3263 9.7504 20.0165 9.74851C21.7067 9.74851 23.4295 9.98246 25.0205 10.4164C28.8317 7.81217 30.5218 8.34644 30.5218 8.34644C31.6158 11.1174 30.9192 13.1877 30.7205 13.6884C32.0132 15.0905 32.7753 16.8932 32.7753 19.0967C32.7753 26.8425 28.1028 28.5449 23.6287 29.046C24.358 29.6802 24.9873 30.882 24.9873 32.7851C24.9873 35.4893 24.9545 37.6596 24.9545 38.327C24.9545 38.8613 25.3192 39.496 26.3132 39.2956C34.2667 36.6242 39.9999 29.0792 39.9999 20.1653C40.0327 9.01388 31.052 0 20.0165 0Z" fill="white"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M20.0165 0C8.94791 0 0 9.01388 0 20.1653C0 29.0792 5.73324 36.6246 13.6868 39.2952C14.6812 39.496 15.0454 38.8613 15.0454 38.3274C15.0454 37.8599 15.0126 36.2575 15.0126 34.5879C9.4445 35.79 8.28498 32.1841 8.28498 32.1841C7.39015 29.847 6.06429 29.2463 6.06429 29.2463C4.24185 28.011 6.19704 28.011 6.19704 28.011C8.21861 28.1446 9.27938 30.081 9.27938 30.081C11.0686 33.1522 13.9518 32.2844 15.1118 31.7502C15.2773 30.4481 15.8079 29.5467 16.3713 29.046C11.9303 28.5785 7.25781 26.8425 7.25781 19.0967C7.25781 16.8932 8.05267 15.0905 9.31216 13.6884C9.11344 13.1877 8.41732 11.1174 9.51128 8.34644C9.51128 8.34644 11.2014 7.81217 15.0122 10.4164C16.6438 9.97495 18.3263 9.7504 20.0165 9.74851C21.7067 9.74851 23.4295 9.98246 25.0205 10.4164C28.8317 7.81217 30.5218 8.34644 30.5218 8.34644C31.6158 11.1174 30.9192 13.1877 30.7205 13.6884C32.0132 15.0905 32.7753 16.8932 32.7753 19.0967C32.7753 26.8425 28.1028 28.5449 23.6287 29.046C24.358 29.6802 24.9873 30.882 24.9873 32.7851C24.9873 35.4893 24.9545 37.6596 24.9545 38.327C24.9545 38.8613 25.3192 39.496 26.3132 39.2956C34.2667 36.6242 39.9999 29.0792 39.9999 20.1653C40.0327 9.01388 31.052 0 20.0165 0Z" fill="#24292F"/>
3
+ </svg>
@@ -0,0 +1,13 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="aquamarine"
2
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-cpu">
3
+ <rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect>
4
+ <rect x="9" y="9" width="6" height="6"></rect>
5
+ <line x1="9" y1="1" x2="9" y2="4"></line>
6
+ <line x1="15" y1="1" x2="15" y2="4"></line>
7
+ <line x1="9" y1="20" x2="9" y2="23"></line>
8
+ <line x1="15" y1="20" x2="15" y2="23"></line>
9
+ <line x1="20" y1="9" x2="23" y2="9"></line>
10
+ <line x1="20" y1="14" x2="23" y2="14"></line>
11
+ <line x1="1" y1="9" x2="4" y2="9"></line>
12
+ <line x1="1" y1="14" x2="4" y2="14"></line>
13
+ </svg>
@@ -0,0 +1,13 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="darkblue"
2
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-cpu">
3
+ <rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect>
4
+ <rect x="9" y="9" width="6" height="6"></rect>
5
+ <line x1="9" y1="1" x2="9" y2="4"></line>
6
+ <line x1="15" y1="1" x2="15" y2="4"></line>
7
+ <line x1="9" y1="20" x2="9" y2="23"></line>
8
+ <line x1="15" y1="20" x2="15" y2="23"></line>
9
+ <line x1="20" y1="9" x2="23" y2="9"></line>
10
+ <line x1="20" y1="14" x2="23" y2="14"></line>
11
+ <line x1="1" y1="9" x2="4" y2="9"></line>
12
+ <line x1="1" y1="14" x2="4" y2="14"></line>
13
+ </svg>
@@ -0,0 +1,27 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Calque_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1189.84 1190.66">
3
+ <defs>
4
+ <style>
5
+ .cls-1 {
6
+ fill: #fc0;
7
+ }
8
+
9
+ .cls-2 {
10
+ fill: #1c1e21;
11
+ }
12
+ </style>
13
+ </defs>
14
+ <g id="Calque_1-2" data-name="Calque_1">
15
+ <g>
16
+ <path class="cls-1" d="M1189.84,372.38c0,328.57-266.36,594.93-594.93,594.93S0,700.95,0,372.38h148.13c0,246.76,200.03,446.8,446.78,446.8s446.8-200.04,446.8-446.8h148.13Z"/>
17
+ <g>
18
+ <path class="cls-2" d="M892.11,1080c0,61.11-49.53,110.66-110.66,110.66s-110.66-49.55-110.66-110.66,49.55-110.66,110.66-110.66,110.66,49.55,110.66,110.66Z"/>
19
+ <path class="cls-2" d="M519.03,1080c0,61.11-49.53,110.66-110.66,110.66s-110.66-49.55-110.66-110.66,49.55-110.66,110.66-110.66,110.66,49.55,110.66,110.66Z"/>
20
+ </g>
21
+ <g>
22
+ <rect class="cls-1" x="742.88" width="297.76" height="297.76"/>
23
+ <polygon class="cls-2" points="804.55 534.22 594 744.75 149.2 299.95 154.94 294.2 359.73 89.4 642.71 372.38 804.55 534.22"/>
24
+ </g>
25
+ </g>
26
+ </g>
27
+ </svg>
@@ -0,0 +1,5 @@
1
+ import type { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class Chariow implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
+ }
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Chariow = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const resources_1 = require("./resources");
6
+ class Chariow {
7
+ constructor() {
8
+ this.description = {
9
+ displayName: 'Chariow',
10
+ name: 'chariow',
11
+ icon: 'file:../../icons/chariow.svg',
12
+ group: ['transform'],
13
+ version: 1,
14
+ subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
15
+ description: 'Interact with Chariow - the digital products platform for creators and entrepreneurs',
16
+ defaults: {
17
+ name: 'Chariow',
18
+ },
19
+ inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
20
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
21
+ usableAsTool: true,
22
+ credentials: [
23
+ {
24
+ name: 'chariowApi',
25
+ required: true,
26
+ },
27
+ ],
28
+ properties: [
29
+ {
30
+ displayName: 'Resource',
31
+ name: 'resource',
32
+ type: 'options',
33
+ noDataExpression: true,
34
+ options: [
35
+ { name: 'Checkout', value: 'checkout' },
36
+ { name: 'Customer', value: 'customer' },
37
+ { name: 'Discount', value: 'discount' },
38
+ { name: 'Licence', value: 'licence' },
39
+ { name: 'Product', value: 'product' },
40
+ { name: 'Sale', value: 'sale' },
41
+ { name: 'Store', value: 'store' },
42
+ ],
43
+ default: 'customer',
44
+ },
45
+ ...resources_1.customer.operations,
46
+ ...resources_1.customer.fields,
47
+ ...resources_1.product.operations,
48
+ ...resources_1.product.fields,
49
+ ...resources_1.sale.operations,
50
+ ...resources_1.sale.fields,
51
+ ...resources_1.discount.operations,
52
+ ...resources_1.discount.fields,
53
+ ...resources_1.licence.operations,
54
+ ...resources_1.licence.fields,
55
+ ...resources_1.checkout.operations,
56
+ ...resources_1.checkout.fields,
57
+ ...resources_1.store.operations,
58
+ ...resources_1.store.fields,
59
+ ],
60
+ };
61
+ }
62
+ async execute() {
63
+ const items = this.getInputData();
64
+ const returnData = [];
65
+ const resource = this.getNodeParameter('resource', 0);
66
+ const operation = this.getNodeParameter('operation', 0);
67
+ for (let i = 0; i < items.length; i++) {
68
+ try {
69
+ let responseData = {};
70
+ if (resource === 'customer') {
71
+ if (operation === 'get') {
72
+ responseData = await resources_1.customer.get.execute.call(this, i);
73
+ }
74
+ else if (operation === 'getAll') {
75
+ responseData = await resources_1.customer.getAll.execute.call(this, i);
76
+ }
77
+ }
78
+ if (resource === 'product') {
79
+ if (operation === 'get') {
80
+ responseData = await resources_1.product.get.execute.call(this, i);
81
+ }
82
+ else if (operation === 'getAll') {
83
+ responseData = await resources_1.product.getAll.execute.call(this, i);
84
+ }
85
+ }
86
+ if (resource === 'sale') {
87
+ if (operation === 'get') {
88
+ responseData = await resources_1.sale.get.execute.call(this, i);
89
+ }
90
+ else if (operation === 'getAll') {
91
+ responseData = await resources_1.sale.getAll.execute.call(this, i);
92
+ }
93
+ }
94
+ if (resource === 'discount') {
95
+ if (operation === 'get') {
96
+ responseData = await resources_1.discount.get.execute.call(this, i);
97
+ }
98
+ else if (operation === 'getAll') {
99
+ responseData = await resources_1.discount.getAll.execute.call(this, i);
100
+ }
101
+ }
102
+ if (resource === 'licence') {
103
+ if (operation === 'get') {
104
+ responseData = await resources_1.licence.get.execute.call(this, i);
105
+ }
106
+ else if (operation === 'getAll') {
107
+ responseData = await resources_1.licence.getAll.execute.call(this, i);
108
+ }
109
+ else if (operation === 'activate') {
110
+ responseData = await resources_1.licence.activate.execute.call(this, i);
111
+ }
112
+ else if (operation === 'revoke') {
113
+ responseData = await resources_1.licence.revoke.execute.call(this, i);
114
+ }
115
+ else if (operation === 'getActivations') {
116
+ responseData = await resources_1.licence.getActivations.execute.call(this, i);
117
+ }
118
+ }
119
+ if (resource === 'checkout') {
120
+ if (operation === 'create') {
121
+ responseData = await resources_1.checkout.create.execute.call(this, i);
122
+ }
123
+ }
124
+ if (resource === 'store') {
125
+ if (operation === 'getInfo') {
126
+ responseData = await resources_1.store.getInfo.execute.call(this);
127
+ }
128
+ }
129
+ const executionData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray(responseData), { itemData: { item: i } });
130
+ returnData.push(...executionData);
131
+ }
132
+ catch (error) {
133
+ if (this.continueOnFail()) {
134
+ returnData.push({
135
+ json: { error: error.message },
136
+ pairedItem: { item: i },
137
+ });
138
+ continue;
139
+ }
140
+ throw error;
141
+ }
142
+ }
143
+ return [returnData];
144
+ }
145
+ }
146
+ exports.Chariow = Chariow;
147
+ //# sourceMappingURL=Chariow.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chariow.node.js","sourceRoot":"","sources":["../../../nodes/Chariow/Chariow.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ {
2
+ "node": "n8n-nodes-base.chariow",
3
+ "nodeVersion": "1.0",
4
+ "codexVersion": "1.0",
5
+ "categories": ["Sales"],
6
+ "resources": {
7
+ "credentialDocumentation": [
8
+ {
9
+ "url": "https://docs.chariow.com/en/introduction/overview"
10
+ }
11
+ ],
12
+ "primaryDocumentation": [
13
+ {
14
+ "url": "https://docs.chariow.com/"
15
+ }
16
+ ]
17
+ }
18
+ }
@@ -0,0 +1,12 @@
1
+ import type { IHookFunctions, INodeType, INodeTypeDescription, IWebhookFunctions, IWebhookResponseData } from 'n8n-workflow';
2
+ export declare class ChariowTrigger implements INodeType {
3
+ description: INodeTypeDescription;
4
+ webhookMethods: {
5
+ default: {
6
+ checkExists(this: IHookFunctions): Promise<boolean>;
7
+ create(this: IHookFunctions): Promise<boolean>;
8
+ delete(this: IHookFunctions): Promise<boolean>;
9
+ };
10
+ };
11
+ webhook(this: IWebhookFunctions): Promise<IWebhookResponseData>;
12
+ }