@chift/chift-nodejs 1.0.7 → 1.0.9

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 (58) hide show
  1. package/.eslintcache +1 -0
  2. package/.github/workflows/ci.yml +2 -1
  3. package/CHANGELOG.md +28 -0
  4. package/coverage/clover.xml +1645 -0
  5. package/coverage/coverage-final.json +19 -0
  6. package/coverage/lcov-report/base.css +224 -0
  7. package/coverage/lcov-report/block-navigation.js +87 -0
  8. package/coverage/lcov-report/favicon.png +0 -0
  9. package/coverage/lcov-report/index.html +146 -0
  10. package/coverage/lcov-report/prettify.css +1 -0
  11. package/coverage/lcov-report/prettify.js +2 -0
  12. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  13. package/coverage/lcov-report/sorter.js +196 -0
  14. package/coverage/lcov-report/src/helpers/index.html +131 -0
  15. package/coverage/lcov-report/src/helpers/openapi.ts.html +151 -0
  16. package/coverage/lcov-report/src/helpers/settings.ts.html +94 -0
  17. package/coverage/lcov-report/src/index.html +116 -0
  18. package/coverage/lcov-report/src/index.ts.html +88 -0
  19. package/coverage/lcov-report/src/modules/accounting.ts.html +1156 -0
  20. package/coverage/lcov-report/src/modules/api.ts.html +190 -0
  21. package/coverage/lcov-report/src/modules/consumer.ts.html +616 -0
  22. package/coverage/lcov-report/src/modules/consumers.ts.html +331 -0
  23. package/coverage/lcov-report/src/modules/custom.ts.html +193 -0
  24. package/coverage/lcov-report/src/modules/datastores.ts.html +142 -0
  25. package/coverage/lcov-report/src/modules/ecommerce.ts.html +331 -0
  26. package/coverage/lcov-report/src/modules/flow.ts.html +589 -0
  27. package/coverage/lcov-report/src/modules/index.html +326 -0
  28. package/coverage/lcov-report/src/modules/integrations.ts.html +151 -0
  29. package/coverage/lcov-report/src/modules/internalApi.ts.html +586 -0
  30. package/coverage/lcov-report/src/modules/invoicing.ts.html +391 -0
  31. package/coverage/lcov-report/src/modules/pos.ts.html +421 -0
  32. package/coverage/lcov-report/src/modules/sync.ts.html +316 -0
  33. package/coverage/lcov-report/src/modules/syncs.ts.html +169 -0
  34. package/coverage/lcov-report/src/modules/webhooks.ts.html +343 -0
  35. package/coverage/lcov.info +1976 -0
  36. package/dist/src/modules/accounting.d.ts +6 -6
  37. package/dist/src/modules/accounting.js +11 -17
  38. package/dist/src/modules/api.d.ts +27909 -1622
  39. package/dist/src/modules/consumer.d.ts +46 -320
  40. package/dist/src/modules/consumer.js +0 -10
  41. package/dist/src/modules/consumers.d.ts +230 -1620
  42. package/dist/src/modules/ecommerce.d.ts +0 -8
  43. package/dist/src/modules/ecommerce.js +0 -28
  44. package/dist/src/modules/flow.js +1 -1
  45. package/dist/src/modules/pos.d.ts +1 -3
  46. package/dist/src/modules/pos.js +0 -7
  47. package/dist/src/modules/sync.d.ts +184 -1296
  48. package/dist/src/modules/syncs.d.ts +27677 -8
  49. package/dist/src/modules/syncs.js +0 -10
  50. package/dist/test/modules/accounting.test.js +11 -0
  51. package/dist/test/modules/ecommerce.test.js +7 -34
  52. package/dist/test/modules/flow.test.d.ts +1 -0
  53. package/dist/test/modules/flow.test.js +69 -0
  54. package/dist/test/modules/pos.test.js +5 -10
  55. package/package.json +1 -1
  56. package/src/modules/accounting.ts +95 -22
  57. package/src/modules/integrations.ts +4 -2
  58. package/test/modules/accounting.test.ts +31 -0
@@ -21,19 +21,9 @@ const Syncs = (internalApi) => {
21
21
  const { data } = yield _internalApi.get(`/syncs/${syncid}`);
22
22
  return (0, sync_1.Sync)(_internalApi, data);
23
23
  });
24
- const createSync = (body) => __awaiter(void 0, void 0, void 0, function* () {
25
- const { data, } = yield _internalApi.post('/syncs', body);
26
- return (0, sync_1.Sync)(_internalApi, data);
27
- });
28
- const updateSync = (body) => __awaiter(void 0, void 0, void 0, function* () {
29
- const { data, } = yield _internalApi.patch('/syncs', body);
30
- return (0, sync_1.Sync)(_internalApi, data);
31
- });
32
24
  return {
33
- createSync,
34
25
  getSyncs,
35
26
  getSyncById,
36
- updateSync,
37
27
  };
38
28
  };
39
29
  exports.Syncs = Syncs;
@@ -377,6 +377,17 @@ let analyticAccounts;
377
377
  const analyticAccountsWithMultiplePlans = yield consumer.accounting.getAnalyticAccountsWithMultiplePlans();
378
378
  (0, globals_1.expect)(analyticAccountsWithMultiplePlans).toBeInstanceOf(Array);
379
379
  }));
380
+ (0, globals_1.test)('getAnalyticLinesOfAccount', () => __awaiter(void 0, void 0, void 0, function* () {
381
+ const analyticLinesOfAccount = yield consumer.accounting.getAnalyticLinesOfAccount(analyticAccounts[0].id);
382
+ (0, globals_1.expect)(analyticLinesOfAccount).toBeInstanceOf(Array);
383
+ if (analyticLinesOfAccount.length > 0) {
384
+ (0, globals_1.expect)(analyticLinesOfAccount[0]).toHaveProperty('account_id', analyticAccounts[0].id);
385
+ (0, globals_1.expect)(analyticLinesOfAccount[0]).toHaveProperty('description', globals_1.expect.any(String));
386
+ (0, globals_1.expect)(analyticLinesOfAccount[0]).toHaveProperty('amount', globals_1.expect.any(Number));
387
+ (0, globals_1.expect)(analyticLinesOfAccount[0]).toHaveProperty('date', globals_1.expect.any(String));
388
+ (0, globals_1.expect)(analyticLinesOfAccount[0]).toHaveProperty('id', globals_1.expect.any(String));
389
+ }
390
+ }));
380
391
  (0, globals_1.test)('createJournalEntry', () => __awaiter(void 0, void 0, void 0, function* () {
381
392
  const journal = journals.find((journal) => journal.journal_type === 'customer_invoice');
382
393
  if (!journal) {
@@ -122,9 +122,9 @@ let locations;
122
122
  (0, globals_1.expect)(product).toBeTruthy();
123
123
  (0, globals_1.expect)(product).toHaveProperty('available_quantity', globals_1.expect.any(Number));
124
124
  }));
125
- // TODO: Fix create order test
126
- globals_1.test.skip('createOrder', () => __awaiter(void 0, void 0, void 0, function* () {
127
- const order = yield consumer.ecommerce.createOrder({
125
+ /*
126
+ test('createOrder', async () => {
127
+ const order = await consumer.ecommerce.createOrder({
128
128
  customer: {
129
129
  email: 'test@test.com',
130
130
  },
@@ -155,9 +155,10 @@ globals_1.test.skip('createOrder', () => __awaiter(void 0, void 0, void 0, funct
155
155
  ],
156
156
  payment_method: 'bank-transfer',
157
157
  });
158
- (0, globals_1.expect)(order).toBeTruthy();
159
- (0, globals_1.expect)(order).toHaveProperty('id', globals_1.expect.any(String));
160
- }));
158
+ expect(order).toBeTruthy();
159
+ expect(order).toHaveProperty('id', expect.any(String));
160
+ });
161
+ */
161
162
  let orders;
162
163
  (0, globals_1.test)('getOrders', () => __awaiter(void 0, void 0, void 0, function* () {
163
164
  orders = yield consumer.ecommerce.getOrders({
@@ -190,31 +191,3 @@ let orders;
190
191
  (0, globals_1.expect)(order).toHaveProperty('lines', globals_1.expect.any(Array));
191
192
  (0, globals_1.expect)(order).toHaveProperty('other_fees');
192
193
  }));
193
- (0, globals_1.test)('getPaymentMethods', () => __awaiter(void 0, void 0, void 0, function* () {
194
- const paymentMethods = yield consumer.ecommerce.getPaymentMethods();
195
- (0, globals_1.expect)(paymentMethods).toBeInstanceOf(Array);
196
- (0, globals_1.expect)(paymentMethods.length).toBeGreaterThan(0);
197
- (0, globals_1.expect)(paymentMethods[0]).toHaveProperty('id', globals_1.expect.any(String));
198
- (0, globals_1.expect)(paymentMethods[0]).toHaveProperty('name', globals_1.expect.any(String));
199
- }));
200
- (0, globals_1.test)('getProductCategories', () => __awaiter(void 0, void 0, void 0, function* () {
201
- const productCategories = yield consumer.ecommerce.getProductCategories();
202
- (0, globals_1.expect)(productCategories).toBeInstanceOf(Array);
203
- (0, globals_1.expect)(productCategories.length).toBeGreaterThan(0);
204
- (0, globals_1.expect)(productCategories[0]).toHaveProperty('id', globals_1.expect.any(String));
205
- (0, globals_1.expect)(productCategories[0]).toHaveProperty('name', globals_1.expect.any(String));
206
- }));
207
- (0, globals_1.test)('getCountries', () => __awaiter(void 0, void 0, void 0, function* () {
208
- const countries = yield consumer.ecommerce.getCountries();
209
- (0, globals_1.expect)(countries).toBeInstanceOf(Array);
210
- (0, globals_1.expect)(countries.length).toBeGreaterThan(0);
211
- (0, globals_1.expect)(countries[0]).toHaveProperty('code', globals_1.expect.any(String));
212
- (0, globals_1.expect)(countries[0]).toHaveProperty('name', globals_1.expect.any(String));
213
- }));
214
- (0, globals_1.test)('getTaxes', () => __awaiter(void 0, void 0, void 0, function* () {
215
- const taxes = yield consumer.ecommerce.getTaxes();
216
- (0, globals_1.expect)(taxes).toBeInstanceOf(Array);
217
- (0, globals_1.expect)(taxes.length).toBeGreaterThan(0);
218
- (0, globals_1.expect)(taxes[0]).toHaveProperty('id', globals_1.expect.any(String));
219
- (0, globals_1.expect)(taxes[0]).toHaveProperty('rate', globals_1.expect.any(Number));
220
- }));
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,69 @@
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ const globals_1 = require("@jest/globals");
36
+ const chift = __importStar(require("../../src/index"));
37
+ const dotenv = __importStar(require("dotenv"));
38
+ dotenv.config();
39
+ const client = new chift.API({
40
+ baseUrl: process.env.CHIFT_BASE_URL,
41
+ clientId: process.env.CHIFT_CLIENT_ID,
42
+ clientSecret: process.env.CHIFT_CLIENT_SECRET,
43
+ accountId: process.env.CHIFT_ACCOUNT_ID,
44
+ });
45
+ let flow;
46
+ (0, globals_1.beforeAll)(() => __awaiter(void 0, void 0, void 0, function* () {
47
+ const syncId = process.env.CHIFT_TEST_SYNC_ID;
48
+ const sync = yield client.Syncs.getSyncById(syncId);
49
+ flow = yield sync.createFlow({
50
+ name: 'Je suis un flux de test',
51
+ description: 'Flux de test',
52
+ execution: {
53
+ type: 'code',
54
+ },
55
+ trigger: {
56
+ type: 'event',
57
+ },
58
+ config: {},
59
+ }, (consumer, flowContext) => __awaiter(void 0, void 0, void 0, function* () {
60
+ console.log(`Mon flow_id : ${flowContext.flow_id}`);
61
+ console.log(`Bonjour, ceci est un test, on exécute le flux pour consumer: ${consumer}`);
62
+ }));
63
+ }));
64
+ (0, globals_1.test)('executeLocal', () => __awaiter(void 0, void 0, void 0, function* () {
65
+ flow.execute({ context: { logs: true, local: true } });
66
+ }));
67
+ (0, globals_1.test)('execute', () => __awaiter(void 0, void 0, void 0, function* () {
68
+ flow.execute({ context: { logs: true, local: false } });
69
+ }));
@@ -45,14 +45,14 @@ const client = new chift.API({
45
45
  // Split testing between two APIs to support all endpoints
46
46
  const cashpadConsumerId = process.env.CHIFT_CASHPAD_CONSUMER_ID;
47
47
  const lightspeedConsumerId = process.env.CHIFT_LIGHTSPEED_CONSUMER_ID;
48
- const popinaConsumerId = process.env.CHIFT_POPINA_CONSUMER_ID;
48
+ const zeltyConsumerId = process.env.CHIFT_ZELTY_CONSUMER_ID;
49
49
  let cashpadConsumer;
50
50
  let lightspeedConsumer;
51
- let popinaConsumer;
51
+ let zeltyConsumer;
52
52
  (0, globals_1.beforeAll)(() => __awaiter(void 0, void 0, void 0, function* () {
53
53
  cashpadConsumer = yield client.Consumers.getConsumerById(cashpadConsumerId);
54
54
  lightspeedConsumer = yield client.Consumers.getConsumerById(lightspeedConsumerId);
55
- popinaConsumer = yield client.Consumers.getConsumerById(popinaConsumerId);
55
+ zeltyConsumer = yield client.Consumers.getConsumerById(zeltyConsumerId);
56
56
  }));
57
57
  (0, globals_1.test)('getLocations', () => __awaiter(void 0, void 0, void 0, function* () {
58
58
  const locations = yield lightspeedConsumer.pos.getLocations();
@@ -166,17 +166,12 @@ globals_1.test.skip('updateOrder', () => __awaiter(void 0, void 0, void 0, funct
166
166
  (0, globals_1.expect)(order).toHaveProperty('id', globals_1.expect.any(String));
167
167
  }));
168
168
  (0, globals_1.test)('getProducts', () => __awaiter(void 0, void 0, void 0, function* () {
169
- const products = yield popinaConsumer.pos.getProducts();
169
+ const products = yield zeltyConsumer.pos.getProducts();
170
170
  (0, globals_1.expect)(products).toBeInstanceOf(Array);
171
171
  (0, globals_1.expect)(products.length).toBeGreaterThan(0);
172
172
  }));
173
173
  (0, globals_1.test)('getProductCategories', () => __awaiter(void 0, void 0, void 0, function* () {
174
- const productCategories = yield popinaConsumer.pos.getProductCategories();
174
+ const productCategories = yield zeltyConsumer.pos.getProductCategories();
175
175
  (0, globals_1.expect)(productCategories).toBeInstanceOf(Array);
176
176
  (0, globals_1.expect)(productCategories.length).toBeGreaterThan(0);
177
177
  }));
178
- (0, globals_1.test)('getAccountingCategories', () => __awaiter(void 0, void 0, void 0, function* () {
179
- const accountingCategories = yield popinaConsumer.pos.getAccountingCategories();
180
- (0, globals_1.expect)(accountingCategories).toBeInstanceOf(Array);
181
- (0, globals_1.expect)(accountingCategories.length).toBeGreaterThan(0);
182
- }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chift/chift-nodejs",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "The Chift NodeJS library provides convenient access to the Chift API from applications written in the NodeJS language (Javascript/Typescript).",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -37,14 +37,20 @@ type getOutstandingsParams = Omit<
37
37
  >;
38
38
 
39
39
  const accountingFactory = {
40
- getAnalyticPlans(): RequestData<components['schemas']['AnalyticPlanItem'][]> {
40
+ getAnalyticPlans(
41
+ params: operations['accounting_get_analytic_plans']['parameters']['query']
42
+ ): RequestData<components['schemas']['AnalyticPlanItem'][]> {
41
43
  return {
44
+ params,
42
45
  method: 'get',
43
46
  url: '/consumers/{consumer_id}/accounting/analytic-plans',
44
47
  };
45
48
  },
46
- getClients(): RequestData<components['schemas']['ClientItemOut'][]> {
49
+ getClients(
50
+ params: operations['accounting_get_clients']['parameters']['query']
51
+ ): RequestData<components['schemas']['ClientItemOut'][]> {
47
52
  return {
53
+ params,
48
54
  method: 'get',
49
55
  url: '/consumers/{consumer_id}/accounting/clients',
50
56
  };
@@ -54,30 +60,39 @@ const accountingFactory = {
54
60
  params: operations['accounting_create_client']['parameters']['query']
55
61
  ): RequestData<components['schemas']['ClientItemOut']> {
56
62
  return {
63
+ params,
57
64
  method: 'post',
58
65
  url: '/consumers/{consumer_id}/accounting/clients',
59
66
  body: client,
60
- params: params,
61
67
  };
62
68
  },
63
- getClient(clientId: string): RequestData<components['schemas']['ClientItemOut']> {
69
+ getClient(
70
+ clientId: string,
71
+ params: operations['accounting_get_client']['parameters']['query']
72
+ ): RequestData<components['schemas']['ClientItemOut']> {
64
73
  return {
74
+ params,
65
75
  method: 'get',
66
76
  url: `/consumers/{consumer_id}/accounting/clients/${clientId}`,
67
77
  };
68
78
  },
69
79
  updateClient(
70
80
  clientId: string,
71
- client: components['schemas']['ClientItemUpdate']
81
+ client: components['schemas']['ClientItemUpdate'],
82
+ params: operations['accounting_update_client']['parameters']['query']
72
83
  ): RequestData<components['schemas']['ClientItemOut']> {
73
84
  return {
85
+ params,
74
86
  method: 'patch',
75
87
  url: `/consumers/{consumer_id}/accounting/clients/${clientId}`,
76
88
  body: client,
77
89
  };
78
90
  },
79
- getSuppliers(): RequestData<components['schemas']['SupplierItemOut'][]> {
91
+ getSuppliers(
92
+ params: operations['accounting_get_suppliers']['parameters']['query']
93
+ ): RequestData<components['schemas']['SupplierItemOut'][]> {
80
94
  return {
95
+ params,
81
96
  method: 'get',
82
97
  url: '/consumers/{consumer_id}/accounting/suppliers',
83
98
  };
@@ -87,23 +102,29 @@ const accountingFactory = {
87
102
  params: operations['accounting_create_supplier']['parameters']['query']
88
103
  ): RequestData<components['schemas']['SupplierItemOut']> {
89
104
  return {
105
+ params,
90
106
  method: 'post',
91
107
  url: '/consumers/{consumer_id}/accounting/suppliers',
92
108
  body: supplier,
93
- params: params,
94
109
  };
95
110
  },
96
- getSupplier(supplierId: string): RequestData<components['schemas']['SupplierItemOut']> {
111
+ getSupplier(
112
+ supplierId: string,
113
+ params: operations['accounting_get_supplier']['parameters']['query']
114
+ ): RequestData<components['schemas']['SupplierItemOut']> {
97
115
  return {
116
+ params,
98
117
  method: 'get',
99
118
  url: `/consumers/{consumer_id}/accounting/suppliers/${supplierId}`,
100
119
  };
101
120
  },
102
121
  updateSupplier(
103
122
  supplierId: string,
104
- supplier: components['schemas']['SupplierItemUpdate']
123
+ supplier: components['schemas']['SupplierItemUpdate'],
124
+ params: operations['accounting_update_supplier']['parameters']['query']
105
125
  ): RequestData<components['schemas']['SupplierItemOut']> {
106
126
  return {
127
+ params,
107
128
  method: 'patch',
108
129
  url: `/consumers/{consumer_id}/accounting/suppliers/${supplierId}`,
109
130
  body: supplier,
@@ -172,43 +193,54 @@ const accountingFactory = {
172
193
  };
173
194
  },
174
195
  createAnalyticAccount(
175
- analyticAccount: components['schemas']['AnalyticAccountItemIn']
196
+ analyticAccount: components['schemas']['AnalyticAccountItemIn'],
197
+ params: operations['accounting_create_analytic_account']['parameters']['query']
176
198
  ): RequestData<components['schemas']['AnalyticAccountItemOut']> {
177
199
  return {
200
+ params,
178
201
  method: 'post',
179
202
  url: '/consumers/{consumer_id}/accounting/analytic-accounts',
180
203
  body: analyticAccount,
181
204
  };
182
205
  },
183
- getAnalyticAccounts(): RequestData<components['schemas']['AnalyticAccountItemOut'][]> {
206
+ getAnalyticAccounts(
207
+ params: operations['accounting_get_analytic_accounts']['parameters']['query']
208
+ ): RequestData<components['schemas']['AnalyticAccountItemOut'][]> {
184
209
  return {
210
+ params,
185
211
  method: 'get',
186
212
  url: '/consumers/{consumer_id}/accounting/analytic-accounts',
187
213
  };
188
214
  },
189
215
  createAnalyticAccountWithMultiplePlans(
190
216
  analytic_plan: string,
191
- analyticAccount: components['schemas']['AnalyticAccountItemIn']
217
+ analyticAccount: components['schemas']['AnalyticAccountItemIn'],
218
+ params: operations['accounting_create_analytic_account_multi_plans']['parameters']['query']
192
219
  ): RequestData<components['schemas']['AnalyticAccountItemOutMultiAnalyticPlans']> {
193
220
  return {
221
+ params,
194
222
  method: 'post',
195
223
  url: `/consumers/{consumer_id}/accounting/analytic-accounts/multi-analytic-plans/${analytic_plan}`,
196
224
  body: analyticAccount,
197
225
  };
198
226
  },
199
227
  getAnalyticAccount(
200
- analytic_account_id: string
228
+ analytic_account_id: string,
229
+ params: operations['accounting_get_analytic_account']['parameters']['query']
201
230
  ): RequestData<components['schemas']['AnalyticAccountItemOut']> {
202
231
  return {
232
+ params,
203
233
  method: 'get',
204
234
  url: `/consumers/{consumer_id}/accounting/analytic-accounts/${analytic_account_id}`,
205
235
  };
206
236
  },
207
237
  updateAnalyticAccount(
208
238
  analytic_account_id: string,
209
- analyticAccount: components['schemas']['AnalyticAccountItemUpdate']
239
+ analyticAccount: components['schemas']['AnalyticAccountItemUpdate'],
240
+ params: operations['accounting_update_analytic_account']['parameters']['query']
210
241
  ): RequestData<components['schemas']['AnalyticAccountItemOut']> {
211
242
  return {
243
+ params,
212
244
  method: 'patch',
213
245
  url: `/consumers/{consumer_id}/accounting/analytic-accounts/${analytic_account_id}`,
214
246
  body: analyticAccount,
@@ -216,9 +248,11 @@ const accountingFactory = {
216
248
  },
217
249
  getAnalyticAccountWithMultiplePlans(
218
250
  analytic_account_id: string,
219
- analytic_plan: string
251
+ analytic_plan: string,
252
+ params: operations['accounting_get_analytic_account_multi_plans']['parameters']['query']
220
253
  ): RequestData<components['schemas']['AnalyticAccountItemOutMultiAnalyticPlans']> {
221
254
  return {
255
+ params,
222
256
  method: 'get',
223
257
  url: `/consumers/{consumer_id}/accounting/analytic-accounts/${analytic_account_id}/multi-analytic-plans/${analytic_plan}`,
224
258
  };
@@ -226,18 +260,21 @@ const accountingFactory = {
226
260
  updateAnalyticAccountWithMultiplePlans(
227
261
  analytic_account_id: string,
228
262
  analytic_plan: string,
229
- analyticAccount: components['schemas']['AnalyticAccountItemUpdate']
263
+ analyticAccount: components['schemas']['AnalyticAccountItemUpdate'],
264
+ params: operations['accounting_update_analytic_account_multi_plans']['parameters']['query']
230
265
  ): RequestData<components['schemas']['AnalyticAccountItemOutMultiAnalyticPlans']> {
231
266
  return {
267
+ params,
232
268
  method: 'patch',
233
269
  url: `/consumers/{consumer_id}/accounting/analytic-accounts/${analytic_account_id}/multi-analytic-plans/${analytic_plan}`,
234
270
  body: analyticAccount,
235
271
  };
236
272
  },
237
- getAnalyticAccountsWithMultiplePlans(): RequestData<
238
- components['schemas']['AnalyticAccountItemOutMultiAnalyticPlans'][]
239
- > {
273
+ getAnalyticAccountsWithMultiplePlans(
274
+ params: operations['accounting_get_analytic_accounts_multi_plans']['parameters']['query']
275
+ ): RequestData<components['schemas']['AnalyticAccountItemOutMultiAnalyticPlans'][]> {
240
276
  return {
277
+ params,
241
278
  method: 'get',
242
279
  url: '/consumers/{consumer_id}/accounting/analytic-accounts/multi-analytic-plans',
243
280
  };
@@ -260,20 +297,30 @@ const accountingFactory = {
260
297
  url: `/consumers/{consumer_id}/accounting/journal/entries/multi-analytic-plans`,
261
298
  };
262
299
  },
263
- getPaymentsByInvoiceId(invoice_id: string): RequestData<components['schemas']['Payment'][]> {
300
+ getPaymentsByInvoiceId(
301
+ invoice_id: string,
302
+ params: operations['accounting_get_payments_by_invoice']['parameters']['query']
303
+ ): RequestData<components['schemas']['Payment'][]> {
264
304
  return {
305
+ params,
265
306
  method: 'get',
266
307
  url: `/consumers/{consumer_id}/accounting/invoices/id/${invoice_id}/payments`,
267
308
  };
268
309
  },
269
- getJournals(): RequestData<components['schemas']['Journal'][]> {
310
+ getJournals(
311
+ params: operations['accounting_get_journals']['parameters']['query']
312
+ ): RequestData<components['schemas']['Journal'][]> {
270
313
  return {
314
+ params,
271
315
  method: 'get',
272
316
  url: `/consumers/{consumer_id}/accounting/journals`,
273
317
  };
274
318
  },
275
- getVatCodes(): RequestData<components['schemas']['app__routers__accounting__VatCode'][]> {
319
+ getVatCodes(
320
+ params: operations['accounting_get_vat_codes']['parameters']['query']
321
+ ): RequestData<components['schemas']['app__routers__accounting__VatCode'][]> {
276
322
  return {
323
+ params,
277
324
  method: 'get',
278
325
  url: `/consumers/{consumer_id}/accounting/vat-codes`,
279
326
  };
@@ -320,6 +367,15 @@ const accountingFactory = {
320
367
  body: attachment,
321
368
  };
322
369
  },
370
+ getAttachments(
371
+ params: operations['accounting_get_attachments']['parameters']['query']
372
+ ): RequestData<components['schemas']['AttachmentItem'][]> {
373
+ return {
374
+ params,
375
+ method: 'get',
376
+ url: `/consumers/{consumer_id}/accounting/attachments`,
377
+ };
378
+ },
323
379
  getChartOfAccounts(
324
380
  params: getChartOfAccountsParams
325
381
  ): RequestData<components['schemas']['AccountItem'][]> {
@@ -403,6 +459,23 @@ const accountingFactory = {
403
459
  body: journal_entry,
404
460
  };
405
461
  },
462
+ matchEntries(
463
+ body: components['schemas']['MatchingIn'],
464
+ params: operations['accounting_match_entries']['parameters']['query']
465
+ ): RequestData<components['schemas']['MatchingOut']> {
466
+ return {
467
+ params,
468
+ body,
469
+ method: 'post',
470
+ url: '/consumers/{consumer_id}/accounting/matching',
471
+ };
472
+ },
473
+ getFolders(): RequestData<components['schemas']['FolderItem'][]> {
474
+ return {
475
+ method: 'get',
476
+ url: '/consumers/{consumer_id}/accounting/folders',
477
+ };
478
+ },
406
479
  };
407
480
 
408
481
  export { accountingFactory };
@@ -5,12 +5,14 @@ import { chiftOperations } from '../types/public-api/mappings';
5
5
  const Integrations = (internalApi: InternalAPI) => {
6
6
  const _internalApi: InternalAPI = internalApi;
7
7
 
8
- const getIntegrations = async () => {
8
+ const getIntegrations = async (
9
+ params: operations[chiftOperations['getIntegrations']]['parameters']['query'] = {}
10
+ ) => {
9
11
  const {
10
12
  data,
11
13
  }: {
12
14
  data: operations[chiftOperations['getIntegrations']]['responses'][200]['content']['application/json'];
13
- } = await _internalApi.get('/integrations');
15
+ } = await _internalApi.get('/integrations', { params });
14
16
  return data;
15
17
  };
16
18
 
@@ -595,3 +595,34 @@ test('createFinancialEntryOld', async () => {
595
595
  expect(financialEntry).toBeTruthy();
596
596
  expect(financialEntry).toHaveProperty('journal_id', journal.id);
597
597
  });
598
+
599
+ let folders: components['schemas']['FolderItem'][] = [];
600
+ test('getFolders', async () => {
601
+ folders = await consumer.accounting.getFolders();
602
+ expect(folders).toBeInstanceOf(Array);
603
+ expect(folders.length).toBeGreaterThan(0);
604
+ expect(folders[0]).toHaveProperty('id', expect.any(String));
605
+ expect(folders[0]).toHaveProperty('name', expect.any(String));
606
+ });
607
+
608
+ test.skip('getAttachments', async () => {
609
+ const attachments = await consumer.accounting.getAttachments({
610
+ // TODO: Add documentId from test account
611
+ documentId: '',
612
+ type: 'invoice',
613
+ });
614
+ expect(attachments).toBeInstanceOf(Array);
615
+ expect(attachments.length).toBeGreaterThan(0);
616
+ expect(attachments[0]).toHaveProperty('id', expect.any(String));
617
+ expect(attachments[0]).toHaveProperty('base64_string', expect.any(String));
618
+ });
619
+
620
+ test.skip('matchEntries', async () => {
621
+ const match = await consumer.accounting.matchEntries({
622
+ // TODO: Change params with test account values
623
+ entries: [],
624
+ partner_id: '',
625
+ });
626
+ expect(match).toHaveProperty('matching_number', expect.any(String));
627
+ expect(match).toHaveProperty('balance', expect.any(Number));
628
+ });