repzo 1.0.45 → 1.0.46

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.
package/lib/index.js CHANGED
@@ -1,1037 +1,1644 @@
1
1
  import axios from "axios";
2
2
  import { v4 as uuid } from "uuid";
3
3
  export default class Repzo {
4
- constructor(apiKey, options) {
5
- this.client = {
6
- _path: "/client",
7
- find: async (params) => {
8
- let res = await this._fetch(this.svAPIEndpoint, this.client._path, params);
9
- return res;
10
- },
11
- get: async (id, params) => {
12
- return await this._fetch(this.svAPIEndpoint, this.client._path + `/${id}`, params);
13
- },
14
- create: async (body) => {
15
- let res = await this._create(this.svAPIEndpoint, this.client._path, body);
16
- return res;
17
- },
18
- update: async (id, body) => {
19
- let res = await this._update(this.svAPIEndpoint, this.client._path + `/${id}`, body);
20
- return res;
21
- },
22
- remove: async (id) => {
23
- let res = await this._delete(this.svAPIEndpoint, this.client._path + `/${id}`);
24
- return res;
25
- },
26
- };
27
- this.product = {
28
- _path: "/product",
29
- find: async (params) => {
30
- let res = await this._fetch(this.svAPIEndpoint, this.product._path, params);
31
- return res;
32
- },
33
- get: async (id, params) => {
34
- return await this._fetch(this.svAPIEndpoint, this.product._path + `/${id}`, params);
35
- },
36
- create: async (body) => {
37
- let res = await this._create(this.svAPIEndpoint, this.product._path, body);
38
- return res;
39
- },
40
- update: async (id, body) => {
41
- let res = await this._update(this.svAPIEndpoint, this.product._path + `/${id}`, body);
42
- return res;
43
- },
44
- remove: async (id) => {
45
- let res = await this._delete(this.svAPIEndpoint, this.product._path + `/${id}`);
46
- return res;
47
- },
48
- };
49
- this.variant = {
50
- _path: "/variant",
51
- find: async (params) => {
52
- let res = await this._fetch(this.svAPIEndpoint, this.variant._path, params);
53
- return res;
54
- },
55
- get: async (id, params) => {
56
- return await this._fetch(this.svAPIEndpoint, this.variant._path + `/${id}`, params);
57
- },
58
- create: async (body) => {
59
- let res = await this._create(this.svAPIEndpoint, this.variant._path, body);
60
- return res;
61
- },
62
- update: async (id, body) => {
63
- let res = await this._update(this.svAPIEndpoint, this.variant._path + `/${id}`, body);
64
- return res;
65
- },
66
- remove: async (id) => {
67
- let res = await this._delete(this.svAPIEndpoint, this.variant._path + `/${id}`);
68
- return res;
69
- },
70
- };
71
- this.category = {
72
- _path: "/product-category",
73
- find: async (params) => {
74
- let res = await this._fetch(this.svAPIEndpoint, this.category._path, params);
75
- return res;
76
- },
77
- get: async (id) => {
78
- return await this._fetch(this.svAPIEndpoint, this.category._path + `/${id}`);
79
- },
80
- create: async (body) => {
81
- let res = await this._create(this.svAPIEndpoint, this.category._path, body);
82
- return res;
83
- },
84
- update: async (id, body) => {
85
- let res = await this._update(this.svAPIEndpoint, this.category._path + `/${id}`, body);
86
- return res;
87
- },
88
- remove: async (id) => {
89
- let res = await this._delete(this.svAPIEndpoint, this.category._path + `/${id}`);
90
- return res;
91
- },
92
- };
93
- this.sub_category = {
94
- _path: "/product-sub-category",
95
- find: async (params) => {
96
- let res = await this._fetch(this.svAPIEndpoint, this.sub_category._path, params);
97
- return res;
98
- },
99
- get: async (id, params) => {
100
- return await this._fetch(this.svAPIEndpoint, this.sub_category._path + `/${id}`, params);
101
- },
102
- create: async (body) => {
103
- let res = await this._create(this.svAPIEndpoint, this.sub_category._path, body);
104
- return res;
105
- },
106
- update: async (id, body) => {
107
- let res = await this._update(this.svAPIEndpoint, this.sub_category._path + `/${id}`, body);
108
- return res;
109
- },
110
- remove: async (id) => {
111
- let res = await this._delete(this.svAPIEndpoint, this.sub_category._path + `/${id}`);
112
- return res;
113
- },
114
- };
115
- this.brand = {
116
- _path: "/product-brand",
117
- find: async (params) => {
118
- let res = await this._fetch(this.svAPIEndpoint, this.brand._path, params);
119
- return res;
120
- },
121
- get: async (id) => {
122
- return await this._fetch(this.svAPIEndpoint, this.brand._path + `/${id}`);
123
- },
124
- create: async (body) => {
125
- let res = await this._create(this.svAPIEndpoint, this.brand._path, body);
126
- return res;
127
- },
128
- update: async (id, body) => {
129
- let res = await this._update(this.svAPIEndpoint, this.brand._path + `/${id}`, body);
130
- return res;
131
- },
132
- remove: async (id) => {
133
- let res = await this._delete(this.svAPIEndpoint, this.brand._path + `/${id}`);
134
- return res;
135
- },
136
- };
137
- this.product_group = {
138
- _path: "/product-group",
139
- find: async (params) => {
140
- let res = await this._fetch(this.svAPIEndpoint, this.product_group._path, params);
141
- return res;
142
- },
143
- get: async (id) => {
144
- return await this._fetch(this.svAPIEndpoint, this.product_group._path + `/${id}`);
145
- },
146
- create: async (body) => {
147
- let res = await this._create(this.svAPIEndpoint, this.product_group._path, body);
148
- return res;
149
- },
150
- update: async (id, body) => {
151
- let res = await this._update(this.svAPIEndpoint, this.product_group._path + `/${id}`, body);
152
- return res;
153
- },
154
- remove: async (id) => {
155
- let res = await this._delete(this.svAPIEndpoint, this.product_group._path + `/${id}`);
156
- return res;
157
- },
158
- };
159
- this.tax = {
160
- _path: "/tax",
161
- find: async (params) => {
162
- let res = await this._fetch(this.svAPIEndpoint, this.tax._path, params);
163
- return res;
164
- },
165
- get: async (id) => {
166
- return await this._fetch(this.svAPIEndpoint, this.tax._path + `/${id}`);
167
- },
168
- create: async (body) => {
169
- let res = await this._create(this.svAPIEndpoint, this.tax._path, body);
170
- return res;
171
- },
172
- update: async (id, body) => {
173
- let res = await this._update(this.svAPIEndpoint, this.tax._path + `/${id}`, body);
174
- return res;
175
- },
176
- remove: async (id) => {
177
- let res = await this._delete(this.svAPIEndpoint, this.tax._path + `/${id}`);
178
- return res;
179
- },
180
- };
181
- this.measureunit = {
182
- _path: "/measureunits",
183
- find: async (params) => {
184
- let res = await this._fetch(this.svAPIEndpoint, this.measureunit._path, params);
185
- return res;
186
- },
187
- get: async (id) => {
188
- return await this._fetch(this.svAPIEndpoint, this.measureunit._path + `/${id}`);
189
- },
190
- create: async (body) => {
191
- let res = await this._create(this.svAPIEndpoint, this.measureunit._path, body);
192
- return res;
193
- },
194
- update: async (id, body) => {
195
- let res = await this._update(this.svAPIEndpoint, this.measureunit._path + `/${id}`, body);
196
- return res;
197
- },
198
- remove: async (id) => {
199
- let res = await this._delete(this.svAPIEndpoint, this.measureunit._path + `/${id}`);
200
- return res;
201
- },
202
- };
203
- this.measureunitFamily = {
204
- _path: "/measureunit-family",
205
- find: async (params) => {
206
- let res = await this._fetch(this.svAPIEndpoint, this.measureunitFamily._path, params);
207
- return res;
208
- },
209
- get: async (id) => {
210
- return await this._fetch(this.svAPIEndpoint, this.measureunitFamily._path + `/${id}`);
211
- },
212
- create: async (body) => {
213
- let res = await this._create(this.svAPIEndpoint, this.measureunitFamily._path, body);
214
- return res;
215
- },
216
- update: async (id, body) => {
217
- let res = await this._update(this.svAPIEndpoint, this.measureunitFamily._path + `/${id}`, body);
218
- return res;
219
- },
220
- remove: async (id) => {
221
- let res = await this._delete(this.svAPIEndpoint, this.measureunitFamily._path + `/${id}`);
222
- return res;
223
- },
224
- };
225
- this.media = {
226
- _path: "/media",
227
- find: async (params) => {
228
- let res = await this._fetch(this.svAPIEndpoint, this.media._path, params);
229
- return res;
230
- },
231
- get: async (id) => {
232
- return await this._fetch(this.svAPIEndpoint, this.media._path + `/${id}`);
233
- },
234
- create: async (body) => {
235
- let res = await this._create(this.svAPIEndpoint, this.media._path, body);
236
- return res;
237
- },
238
- update: async (id, body) => {
239
- let res = await this._update(this.svAPIEndpoint, this.media._path + `/${id}`, body);
240
- return res;
241
- },
242
- remove: async (id) => {
243
- let res = await this._delete(this.svAPIEndpoint, this.media._path + `/${id}`);
244
- return res;
245
- },
246
- };
247
- this.priceList = {
248
- _path: "/pricelists",
249
- find: async (params) => {
250
- let res = await this._fetch(this.svAPIEndpoint, this.priceList._path, params);
251
- return res;
252
- },
253
- get: async (id) => {
254
- return await this._fetch(this.svAPIEndpoint, this.priceList._path + `/${id}`);
255
- },
256
- create: async (body) => {
257
- let res = await this._create(this.svAPIEndpoint, this.priceList._path, body);
258
- return res;
259
- },
260
- update: async (id, body) => {
261
- let res = await this._update(this.svAPIEndpoint, this.priceList._path + `/${id}`, body);
262
- return res;
263
- },
264
- remove: async (id) => {
265
- let res = await this._delete(this.svAPIEndpoint, this.priceList._path + `/${id}`);
266
- return res;
267
- },
268
- };
269
- this.priceListItem = {
270
- _path: "/pricelistsitems",
271
- find: async (params) => {
272
- let res = await this._fetch(this.svAPIEndpoint, this.priceListItem._path, params);
273
- return res;
274
- },
275
- get: async (id) => {
276
- return await this._fetch(this.svAPIEndpoint, this.priceListItem._path + `/${id}`);
277
- },
278
- create: async (body) => {
279
- let res = await this._create(this.svAPIEndpoint, this.priceListItem._path, body);
280
- return res;
281
- },
282
- update: async (id, body) => {
283
- let res = await this._update(this.svAPIEndpoint, this.priceListItem._path + `/${id}`, body);
284
- return res;
285
- },
286
- remove: async (id) => {
287
- let res = await this._delete(this.svAPIEndpoint, this.priceListItem._path + `/${id}`);
288
- return res;
289
- },
290
- };
291
- this.team = {
292
- _path: "/teams",
293
- find: async (params) => {
294
- let res = await this._fetch(this.svAPIEndpoint, this.team._path, params);
295
- return res;
296
- },
297
- get: async (id) => {
298
- return await this._fetch(this.svAPIEndpoint, this.team._path + `/${id}`);
299
- },
300
- create: async (body) => {
301
- let res = await this._create(this.svAPIEndpoint, this.team._path, body);
302
- return res;
303
- },
304
- update: async (id, body) => {
305
- let res = await this._update(this.svAPIEndpoint, this.team._path + `/${id}`, body);
306
- return res;
307
- },
308
- remove: async (id) => {
309
- let res = await this._delete(this.svAPIEndpoint, this.team._path + `/${id}`);
310
- return res;
311
- },
312
- };
313
- this.rep = {
314
- _path: "/rep",
315
- find: async (params) => {
316
- let res = await this._fetch(this.svAPIEndpoint, this.rep._path, params);
317
- return res;
318
- },
319
- get: async (id, params) => {
320
- return await this._fetch(this.svAPIEndpoint, this.rep._path + `/${id}`, params);
321
- },
322
- create: async (body) => {
323
- let res = await this._create(this.svAPIEndpoint, this.rep._path, body);
324
- return res;
325
- },
326
- update: async (id, body) => {
327
- let res = await this._update(this.svAPIEndpoint, this.rep._path + `/${id}`, body);
328
- return res;
329
- },
330
- remove: async (id) => {
331
- let res = await this._delete(this.svAPIEndpoint, this.rep._path + `/${id}`);
332
- return res;
333
- },
334
- };
335
- this.tag = {
336
- _path: "/tag",
337
- find: async (params) => {
338
- let res = await this._fetch(this.svAPIEndpoint, this.tag._path, params);
339
- return res;
340
- },
341
- get: async (id) => {
342
- return await this._fetch(this.svAPIEndpoint, this.tag._path + `/${id}`);
343
- },
344
- create: async (body) => {
345
- let res = await this._create(this.svAPIEndpoint, this.tag._path, body);
346
- return res;
347
- },
348
- update: async (id, body) => {
349
- let res = await this._update(this.svAPIEndpoint, this.tag._path + `/${id}`, body);
350
- return res;
351
- },
352
- remove: async (id) => {
353
- let res = await this._delete(this.svAPIEndpoint, this.tag._path + `/${id}`);
354
- return res;
355
- },
356
- };
357
- this.warehouse = {
358
- _path: "/warehouse",
359
- find: async (params) => {
360
- let res = await this._fetch(this.svAPIEndpoint, this.warehouse._path, params);
361
- return res;
362
- },
363
- get: async (id) => {
364
- return await this._fetch(this.svAPIEndpoint, this.warehouse._path + `/${id}`);
365
- },
366
- create: async (body) => {
367
- let res = await this._create(this.svAPIEndpoint, this.warehouse._path, body);
368
- return res;
369
- },
370
- update: async (id, body) => {
371
- let res = await this._update(this.svAPIEndpoint, this.warehouse._path + `/${id}`, body);
372
- return res;
373
- },
374
- remove: async (id) => {
375
- let res = await this._delete(this.svAPIEndpoint, this.warehouse._path + `/${id}`);
376
- return res;
377
- },
378
- };
379
- this.channel = {
380
- _path: "/client-channel",
381
- find: async (params) => {
382
- let res = await this._fetch(this.svAPIEndpoint, this.channel._path, params);
383
- return res;
384
- },
385
- get: async (id) => {
386
- return await this._fetch(this.svAPIEndpoint, this.channel._path + `/${id}`);
387
- },
388
- create: async (body) => {
389
- let res = await this._create(this.svAPIEndpoint, this.channel._path, body);
390
- return res;
391
- },
392
- update: async (id, body) => {
393
- let res = await this._update(this.svAPIEndpoint, this.channel._path + `/${id}`, body);
394
- return res;
395
- },
396
- remove: async (id) => {
397
- let res = await this._delete(this.svAPIEndpoint, this.channel._path + `/${id}`);
398
- return res;
399
- },
400
- };
401
- this.speciality = {
402
- _path: "/speciality",
403
- find: async (params) => {
404
- let res = await this._fetch(this.svAPIEndpoint, this.speciality._path, params);
405
- return res;
406
- },
407
- get: async (id) => {
408
- return await this._fetch(this.svAPIEndpoint, this.speciality._path + `/${id}`);
409
- },
410
- create: async (body) => {
411
- let res = await this._create(this.svAPIEndpoint, this.speciality._path, body);
412
- return res;
413
- },
414
- update: async (id, body) => {
415
- let res = await this._update(this.svAPIEndpoint, this.speciality._path + `/${id}`, body);
416
- return res;
417
- },
418
- remove: async (id) => {
419
- let res = await this._delete(this.svAPIEndpoint, this.speciality._path + `/${id}`);
420
- return res;
421
- },
422
- };
423
- this.clientContact = {
424
- _path: "/client-contact",
425
- find: async (params) => {
426
- let res = await this._fetch(this.svAPIEndpoint, this.clientContact._path, params);
427
- return res;
428
- },
429
- get: async (id) => {
430
- return await this._fetch(this.svAPIEndpoint, this.clientContact._path + `/${id}`);
431
- },
432
- create: async (body) => {
433
- let res = await this._create(this.svAPIEndpoint, this.clientContact._path, body);
434
- return res;
435
- },
436
- update: async (id, body) => {
437
- let res = await this._update(this.svAPIEndpoint, this.clientContact._path + `/${id}`, body);
438
- return res;
439
- },
440
- remove: async (id) => {
441
- let res = await this._delete(this.svAPIEndpoint, this.clientContact._path + `/${id}`);
442
- return res;
443
- },
444
- };
445
- this.paymentTerm = {
446
- _path: "/paymentterms",
447
- find: async (params) => {
448
- let res = await this._fetch(this.svAPIEndpoint, this.paymentTerm._path, params);
449
- return res;
450
- },
451
- get: async (id) => {
452
- return await this._fetch(this.svAPIEndpoint, this.paymentTerm._path + `/${id}`);
453
- },
454
- create: async (body) => {
455
- let res = await this._create(this.svAPIEndpoint, this.paymentTerm._path, body);
456
- return res;
457
- },
458
- update: async (id, body) => {
459
- let res = await this._update(this.svAPIEndpoint, this.paymentTerm._path + `/${id}`, body);
460
- return res;
461
- },
462
- remove: async (id) => {
463
- let res = await this._delete(this.svAPIEndpoint, this.paymentTerm._path + `/${id}`);
464
- return res;
465
- },
466
- };
467
- this.bank = {
468
- _path: "/banks",
469
- find: async (params) => {
470
- let res = await this._fetch(this.svAPIEndpoint, this.bank._path, params);
471
- return res;
472
- },
473
- get: async (id) => {
474
- return await this._fetch(this.svAPIEndpoint, this.bank._path + `/${id}`);
475
- },
476
- create: async (body) => {
477
- let res = await this._create(this.svAPIEndpoint, this.bank._path, body);
478
- return res;
479
- },
480
- update: async (id, body) => {
481
- let res = await this._update(this.svAPIEndpoint, this.bank._path + `/${id}`, body);
482
- return res;
483
- },
484
- };
485
- this.bank_list = {
486
- _path: "/bankslists",
487
- find: async (params) => {
488
- let res = await this._fetch(this.svAPIEndpoint, this.bank_list._path, params);
489
- return res;
490
- },
491
- get: async (id) => {
492
- return await this._fetch(this.svAPIEndpoint, this.bank_list._path + `/${id}`);
493
- },
494
- create: async (body) => {
495
- let res = await this._create(this.svAPIEndpoint, this.bank_list._path, body);
496
- return res;
497
- },
498
- update: async (id, body) => {
499
- let res = await this._update(this.svAPIEndpoint, this.bank_list._path + `/${id}`, body);
500
- return res;
501
- },
502
- };
503
- this.customStatus = {
504
- _path: "/custom-status",
505
- find: async (params) => {
506
- let res = await this._fetch(this.svAPIEndpoint, this.customStatus._path, params);
507
- return res;
508
- },
509
- get: async (id) => {
510
- return await this._fetch(this.svAPIEndpoint, this.customStatus._path + `/${id}`);
511
- },
512
- create: async (body) => {
513
- let res = await this._create(this.svAPIEndpoint, this.customStatus._path, body);
514
- return res;
515
- },
516
- update: async (id, body) => {
517
- let res = await this._update(this.svAPIEndpoint, this.customStatus._path + `/${id}`, body);
518
- return res;
519
- },
520
- remove: async (id) => {
521
- let res = await this._delete(this.svAPIEndpoint, this.customStatus._path + `/${id}`);
522
- return res;
523
- },
524
- };
525
- this.workorder = {
526
- _path: "/workorder",
527
- find: async (params) => {
528
- let res = await this._fetch(this.svAPIEndpoint, this.workorder._path, params);
529
- return res;
530
- },
531
- get: async (id, params) => {
532
- return await this._fetch(this.svAPIEndpoint, this.workorder._path + `/${id}`, params);
533
- },
534
- };
535
- this.quickConvertToPdf = {
536
- _path: "/quick-convert-to-pdf",
537
- find: async (params) => {
538
- let res = await this._fetch(this.svAPIEndpoint, this.quickConvertToPdf._path, params);
539
- return res;
540
- },
541
- get: async (id, params) => {
542
- return await this._fetch(this.svAPIEndpoint, this.quickConvertToPdf._path + `/${id}`, params);
543
- },
544
- create: async (body) => {
545
- let res = await this._create(this.svAPIEndpoint, this.quickConvertToPdf._path, body);
546
- return res;
547
- },
548
- remove: async (id) => {
549
- let res = await this._delete(this.svAPIEndpoint, this.quickConvertToPdf._path + `/${id}`);
550
- return res;
551
- },
552
- };
553
- this.visit = {
554
- _path: "/visit",
555
- find: async (params) => {
556
- let res = await this._fetch(this.svAPIEndpoint, this.visit._path, params);
557
- return res;
558
- },
559
- get: async (id, params) => {
560
- return await this._fetch(this.svAPIEndpoint, this.visit._path + `/${id}`, params);
561
- },
562
- create: async (body) => {
563
- let res = await this._create(this.svAPIEndpoint, this.visit._path, body);
564
- return res;
565
- },
566
- update: async (id, body) => {
567
- let res = await this._update(this.svAPIEndpoint, this.visit._path + `/${id}`, body);
568
- return res;
569
- },
570
- };
571
- this.invoice = {
572
- _path: "/fullinvoices",
573
- find: async (params) => {
574
- let res = await this._fetch(this.svAPIEndpoint, this.invoice._path, params);
575
- return res;
576
- },
577
- get: async (id, params) => {
578
- return await this._fetch(this.svAPIEndpoint, this.invoice._path + `/${id}`, params);
579
- },
580
- create: async (body) => {
581
- let res = await this._create(this.svAPIEndpoint, this.invoice._path, body);
582
- return res;
583
- },
584
- update: async (id, body) => {
585
- let res = await this._update(this.svAPIEndpoint, this.invoice._path + `/${id}`, body);
586
- return res;
587
- },
588
- };
589
- this.proforma = {
590
- _path: "/proforma",
591
- find: async (params) => {
592
- let res = await this._fetch(this.svAPIEndpoint, this.proforma._path, params);
593
- return res;
594
- },
595
- get: async (id, params) => {
596
- return await this._fetch(this.svAPIEndpoint, this.proforma._path + `/${id}`, params);
597
- },
598
- create: async (body) => {
599
- let res = await this._create(this.svAPIEndpoint, this.proforma._path, body);
600
- return res;
601
- },
602
- update: async (id, body) => {
603
- let res = await this._update(this.svAPIEndpoint, this.proforma._path + `/${id}`, body);
604
- return res;
605
- },
606
- };
607
- this.payment = {
608
- _path: "/payments",
609
- find: async (params) => {
610
- let res = await this._fetch(this.svAPIEndpoint, this.payment._path, params);
611
- return res;
612
- },
613
- get: async (id, params) => {
614
- return await this._fetch(this.svAPIEndpoint, this.payment._path + `/${id}`, params);
615
- },
616
- create: async (body) => {
617
- let res = await this._create(this.svAPIEndpoint, this.payment._path, body);
618
- return res;
619
- },
620
- update: async (id, body) => {
621
- let res = await this._update(this.svAPIEndpoint, this.payment._path + `/${id}`, body);
622
- return res;
623
- },
624
- };
625
- this.refund = {
626
- _path: "/refund",
627
- find: async (params) => {
628
- let res = await this._fetch(this.svAPIEndpoint, this.refund._path, params);
629
- return res;
630
- },
631
- get: async (id, params) => {
632
- return await this._fetch(this.svAPIEndpoint, this.refund._path + `/${id}`, params);
633
- },
634
- create: async (body) => {
635
- let res = await this._create(this.svAPIEndpoint, this.refund._path, body);
636
- return res;
637
- },
638
- update: async (id, body) => {
639
- let res = await this._update(this.svAPIEndpoint, this.refund._path + `/${id}`, body);
640
- return res;
641
- },
642
- };
643
- this.transfer = {
644
- _path: "/transfer",
645
- find: async (params) => {
646
- let res = await this._fetch(this.svAPIEndpoint, this.transfer._path, params);
647
- return res;
648
- },
649
- get: async (id, params) => {
650
- return await this._fetch(this.svAPIEndpoint, this.transfer._path + `/${id}`, params);
651
- },
652
- create: async (body) => {
653
- let res = await this._create(this.svAPIEndpoint, this.transfer._path, body);
654
- return res;
655
- },
656
- update: async (id, body) => {
657
- let res = await this._update(this.svAPIEndpoint, this.transfer._path + `/${id}`, body);
658
- return res;
659
- },
660
- };
661
- this.adjustInventory = {
662
- _path: "/adjust-inventory",
663
- find: async (params) => {
664
- let res = await this._fetch(this.svAPIEndpoint, this.adjustInventory._path, params);
665
- return res;
666
- },
667
- get: async (id, params) => {
668
- return await this._fetch(this.svAPIEndpoint, this.adjustInventory._path + `/${id}`, params);
669
- },
670
- create: async (body) => {
671
- let res = await this._create(this.svAPIEndpoint, this.adjustInventory._path, body);
672
- return res;
673
- },
674
- };
675
- this.inventory = {
676
- _path: "/inventory",
677
- find: async (params) => {
678
- let res = await this._fetch(this.svAPIEndpoint, this.inventory._path, params);
679
- return res;
680
- },
681
- };
682
- this.integrationApp = {
683
- _path: "/integration-app",
684
- find: async (params) => {
685
- let res = await this._fetch(this.svAPIEndpoint, this.integrationApp._path, params);
686
- return res;
687
- },
688
- get: async (id, params) => {
689
- return await this._fetch(this.svAPIEndpoint, this.integrationApp._path + `/${id}`, params);
690
- },
691
- create: async (body) => {
692
- let res = await this._create(this.svAPIEndpoint, this.integrationApp._path, body);
693
- return res;
694
- },
695
- update: async (id, body) => {
696
- let res = await this._update(this.svAPIEndpoint, this.integrationApp._path + `/${id}`, body);
697
- return res;
698
- },
699
- };
700
- this.joinActionsWebHook = {
701
- _path: "/svix-integration",
702
- update: async (id, body) => {
703
- let res = await this._update(this.svAPIEndpoint, this.joinActionsWebHook._path, body);
704
- return res;
705
- },
706
- };
707
- this.patchAction = {
708
- _path: "/patch-action",
709
- create: async (body, params) => {
710
- const res = await this._create(this.svAPIEndpoint, this.patchAction._path, body, params);
711
- return res;
712
- },
713
- update: async (body) => {
714
- const res = await this._update(this.svAPIEndpoint, this.patchAction._path, body);
715
- return res;
716
- },
717
- };
718
- this.updateIntegrationMeta = {
719
- _path: "/update-integration-meta",
720
- create: async (body, params) => {
721
- let res = await this._create(this.svAPIEndpoint, this.updateIntegrationMeta._path, body, params);
722
- return res;
723
- },
724
- };
725
- this.svAPIEndpoint =
726
- !options?.env || options?.env == "production"
727
- ? "https://sv.api.repzo.me"
728
- : options?.env == "staging"
729
- ? "https://staging.sv.api.repzo.me"
730
- : options?.env == "local"
731
- ? "http://localhost:3030"
732
- : "";
733
- this.headers = {
734
- "api-key": apiKey,
735
- "Content-Type": "application/json",
736
- Accept: "application/json",
737
- };
738
- if (options?.headers)
739
- Object.assign(this.headers, options.headers);
740
- }
741
- async _fetch(baseUrl, path, params) {
742
- let res = await axios.get(baseUrl + path, {
743
- params,
744
- headers: this.headers,
745
- });
746
- return res.data;
747
- }
748
- async _create(baseUrl, path, body, params) {
749
- let res = await axios.post(baseUrl + path, body, {
750
- params,
751
- headers: this.headers,
752
- });
753
- return res.data;
754
- }
755
- async _update(baseUrl, path, body, params) {
756
- let res = await axios.put(baseUrl + path, body, {
757
- params,
758
- headers: this.headers,
759
- });
760
- return res.data;
761
- }
762
- async _delete(baseUrl, path, params) {
763
- let res = await axios.delete(baseUrl + path, {
764
- params,
765
- headers: this.headers,
766
- });
767
- return res.data;
768
- }
4
+ constructor(apiKey, options) {
5
+ this.client = {
6
+ _path: "/client",
7
+ find: async (params) => {
8
+ let res = await this._fetch(
9
+ this.svAPIEndpoint,
10
+ this.client._path,
11
+ params
12
+ );
13
+ return res;
14
+ },
15
+ get: async (id, params) => {
16
+ return await this._fetch(
17
+ this.svAPIEndpoint,
18
+ this.client._path + `/${id}`,
19
+ params
20
+ );
21
+ },
22
+ create: async (body) => {
23
+ let res = await this._create(
24
+ this.svAPIEndpoint,
25
+ this.client._path,
26
+ body
27
+ );
28
+ return res;
29
+ },
30
+ update: async (id, body) => {
31
+ let res = await this._update(
32
+ this.svAPIEndpoint,
33
+ this.client._path + `/${id}`,
34
+ body
35
+ );
36
+ return res;
37
+ },
38
+ remove: async (id) => {
39
+ let res = await this._delete(
40
+ this.svAPIEndpoint,
41
+ this.client._path + `/${id}`
42
+ );
43
+ return res;
44
+ },
45
+ };
46
+ this.product = {
47
+ _path: "/product",
48
+ find: async (params) => {
49
+ let res = await this._fetch(
50
+ this.svAPIEndpoint,
51
+ this.product._path,
52
+ params
53
+ );
54
+ return res;
55
+ },
56
+ get: async (id, params) => {
57
+ return await this._fetch(
58
+ this.svAPIEndpoint,
59
+ this.product._path + `/${id}`,
60
+ params
61
+ );
62
+ },
63
+ create: async (body) => {
64
+ let res = await this._create(
65
+ this.svAPIEndpoint,
66
+ this.product._path,
67
+ body
68
+ );
69
+ return res;
70
+ },
71
+ update: async (id, body) => {
72
+ let res = await this._update(
73
+ this.svAPIEndpoint,
74
+ this.product._path + `/${id}`,
75
+ body
76
+ );
77
+ return res;
78
+ },
79
+ remove: async (id) => {
80
+ let res = await this._delete(
81
+ this.svAPIEndpoint,
82
+ this.product._path + `/${id}`
83
+ );
84
+ return res;
85
+ },
86
+ };
87
+ this.variant = {
88
+ _path: "/variant",
89
+ find: async (params) => {
90
+ let res = await this._fetch(
91
+ this.svAPIEndpoint,
92
+ this.variant._path,
93
+ params
94
+ );
95
+ return res;
96
+ },
97
+ get: async (id, params) => {
98
+ return await this._fetch(
99
+ this.svAPIEndpoint,
100
+ this.variant._path + `/${id}`,
101
+ params
102
+ );
103
+ },
104
+ create: async (body) => {
105
+ let res = await this._create(
106
+ this.svAPIEndpoint,
107
+ this.variant._path,
108
+ body
109
+ );
110
+ return res;
111
+ },
112
+ update: async (id, body) => {
113
+ let res = await this._update(
114
+ this.svAPIEndpoint,
115
+ this.variant._path + `/${id}`,
116
+ body
117
+ );
118
+ return res;
119
+ },
120
+ remove: async (id) => {
121
+ let res = await this._delete(
122
+ this.svAPIEndpoint,
123
+ this.variant._path + `/${id}`
124
+ );
125
+ return res;
126
+ },
127
+ };
128
+ this.category = {
129
+ _path: "/product-category",
130
+ find: async (params) => {
131
+ let res = await this._fetch(
132
+ this.svAPIEndpoint,
133
+ this.category._path,
134
+ params
135
+ );
136
+ return res;
137
+ },
138
+ get: async (id) => {
139
+ return await this._fetch(
140
+ this.svAPIEndpoint,
141
+ this.category._path + `/${id}`
142
+ );
143
+ },
144
+ create: async (body) => {
145
+ let res = await this._create(
146
+ this.svAPIEndpoint,
147
+ this.category._path,
148
+ body
149
+ );
150
+ return res;
151
+ },
152
+ update: async (id, body) => {
153
+ let res = await this._update(
154
+ this.svAPIEndpoint,
155
+ this.category._path + `/${id}`,
156
+ body
157
+ );
158
+ return res;
159
+ },
160
+ remove: async (id) => {
161
+ let res = await this._delete(
162
+ this.svAPIEndpoint,
163
+ this.category._path + `/${id}`
164
+ );
165
+ return res;
166
+ },
167
+ };
168
+ this.sub_category = {
169
+ _path: "/product-sub-category",
170
+ find: async (params) => {
171
+ let res = await this._fetch(
172
+ this.svAPIEndpoint,
173
+ this.sub_category._path,
174
+ params
175
+ );
176
+ return res;
177
+ },
178
+ get: async (id, params) => {
179
+ return await this._fetch(
180
+ this.svAPIEndpoint,
181
+ this.sub_category._path + `/${id}`,
182
+ params
183
+ );
184
+ },
185
+ create: async (body) => {
186
+ let res = await this._create(
187
+ this.svAPIEndpoint,
188
+ this.sub_category._path,
189
+ body
190
+ );
191
+ return res;
192
+ },
193
+ update: async (id, body) => {
194
+ let res = await this._update(
195
+ this.svAPIEndpoint,
196
+ this.sub_category._path + `/${id}`,
197
+ body
198
+ );
199
+ return res;
200
+ },
201
+ remove: async (id) => {
202
+ let res = await this._delete(
203
+ this.svAPIEndpoint,
204
+ this.sub_category._path + `/${id}`
205
+ );
206
+ return res;
207
+ },
208
+ };
209
+ this.brand = {
210
+ _path: "/product-brand",
211
+ find: async (params) => {
212
+ let res = await this._fetch(
213
+ this.svAPIEndpoint,
214
+ this.brand._path,
215
+ params
216
+ );
217
+ return res;
218
+ },
219
+ get: async (id) => {
220
+ return await this._fetch(
221
+ this.svAPIEndpoint,
222
+ this.brand._path + `/${id}`
223
+ );
224
+ },
225
+ create: async (body) => {
226
+ let res = await this._create(
227
+ this.svAPIEndpoint,
228
+ this.brand._path,
229
+ body
230
+ );
231
+ return res;
232
+ },
233
+ update: async (id, body) => {
234
+ let res = await this._update(
235
+ this.svAPIEndpoint,
236
+ this.brand._path + `/${id}`,
237
+ body
238
+ );
239
+ return res;
240
+ },
241
+ remove: async (id) => {
242
+ let res = await this._delete(
243
+ this.svAPIEndpoint,
244
+ this.brand._path + `/${id}`
245
+ );
246
+ return res;
247
+ },
248
+ };
249
+ this.product_group = {
250
+ _path: "/product-group",
251
+ find: async (params) => {
252
+ let res = await this._fetch(
253
+ this.svAPIEndpoint,
254
+ this.product_group._path,
255
+ params
256
+ );
257
+ return res;
258
+ },
259
+ get: async (id) => {
260
+ return await this._fetch(
261
+ this.svAPIEndpoint,
262
+ this.product_group._path + `/${id}`
263
+ );
264
+ },
265
+ create: async (body) => {
266
+ let res = await this._create(
267
+ this.svAPIEndpoint,
268
+ this.product_group._path,
269
+ body
270
+ );
271
+ return res;
272
+ },
273
+ update: async (id, body) => {
274
+ let res = await this._update(
275
+ this.svAPIEndpoint,
276
+ this.product_group._path + `/${id}`,
277
+ body
278
+ );
279
+ return res;
280
+ },
281
+ remove: async (id) => {
282
+ let res = await this._delete(
283
+ this.svAPIEndpoint,
284
+ this.product_group._path + `/${id}`
285
+ );
286
+ return res;
287
+ },
288
+ };
289
+ this.tax = {
290
+ _path: "/tax",
291
+ find: async (params) => {
292
+ let res = await this._fetch(this.svAPIEndpoint, this.tax._path, params);
293
+ return res;
294
+ },
295
+ get: async (id) => {
296
+ return await this._fetch(this.svAPIEndpoint, this.tax._path + `/${id}`);
297
+ },
298
+ create: async (body) => {
299
+ let res = await this._create(this.svAPIEndpoint, this.tax._path, body);
300
+ return res;
301
+ },
302
+ update: async (id, body) => {
303
+ let res = await this._update(
304
+ this.svAPIEndpoint,
305
+ this.tax._path + `/${id}`,
306
+ body
307
+ );
308
+ return res;
309
+ },
310
+ remove: async (id) => {
311
+ let res = await this._delete(
312
+ this.svAPIEndpoint,
313
+ this.tax._path + `/${id}`
314
+ );
315
+ return res;
316
+ },
317
+ };
318
+ this.measureunit = {
319
+ _path: "/measureunits",
320
+ find: async (params) => {
321
+ let res = await this._fetch(
322
+ this.svAPIEndpoint,
323
+ this.measureunit._path,
324
+ params
325
+ );
326
+ return res;
327
+ },
328
+ get: async (id) => {
329
+ return await this._fetch(
330
+ this.svAPIEndpoint,
331
+ this.measureunit._path + `/${id}`
332
+ );
333
+ },
334
+ create: async (body) => {
335
+ let res = await this._create(
336
+ this.svAPIEndpoint,
337
+ this.measureunit._path,
338
+ body
339
+ );
340
+ return res;
341
+ },
342
+ update: async (id, body) => {
343
+ let res = await this._update(
344
+ this.svAPIEndpoint,
345
+ this.measureunit._path + `/${id}`,
346
+ body
347
+ );
348
+ return res;
349
+ },
350
+ remove: async (id) => {
351
+ let res = await this._delete(
352
+ this.svAPIEndpoint,
353
+ this.measureunit._path + `/${id}`
354
+ );
355
+ return res;
356
+ },
357
+ };
358
+ this.measureunitFamily = {
359
+ _path: "/measureunit-family",
360
+ find: async (params) => {
361
+ let res = await this._fetch(
362
+ this.svAPIEndpoint,
363
+ this.measureunitFamily._path,
364
+ params
365
+ );
366
+ return res;
367
+ },
368
+ get: async (id) => {
369
+ return await this._fetch(
370
+ this.svAPIEndpoint,
371
+ this.measureunitFamily._path + `/${id}`
372
+ );
373
+ },
374
+ create: async (body) => {
375
+ let res = await this._create(
376
+ this.svAPIEndpoint,
377
+ this.measureunitFamily._path,
378
+ body
379
+ );
380
+ return res;
381
+ },
382
+ update: async (id, body) => {
383
+ let res = await this._update(
384
+ this.svAPIEndpoint,
385
+ this.measureunitFamily._path + `/${id}`,
386
+ body
387
+ );
388
+ return res;
389
+ },
390
+ remove: async (id) => {
391
+ let res = await this._delete(
392
+ this.svAPIEndpoint,
393
+ this.measureunitFamily._path + `/${id}`
394
+ );
395
+ return res;
396
+ },
397
+ };
398
+ this.media = {
399
+ _path: "/media",
400
+ find: async (params) => {
401
+ let res = await this._fetch(
402
+ this.svAPIEndpoint,
403
+ this.media._path,
404
+ params
405
+ );
406
+ return res;
407
+ },
408
+ get: async (id) => {
409
+ return await this._fetch(
410
+ this.svAPIEndpoint,
411
+ this.media._path + `/${id}`
412
+ );
413
+ },
414
+ create: async (body) => {
415
+ let res = await this._create(
416
+ this.svAPIEndpoint,
417
+ this.media._path,
418
+ body
419
+ );
420
+ return res;
421
+ },
422
+ update: async (id, body) => {
423
+ let res = await this._update(
424
+ this.svAPIEndpoint,
425
+ this.media._path + `/${id}`,
426
+ body
427
+ );
428
+ return res;
429
+ },
430
+ remove: async (id) => {
431
+ let res = await this._delete(
432
+ this.svAPIEndpoint,
433
+ this.media._path + `/${id}`
434
+ );
435
+ return res;
436
+ },
437
+ };
438
+ this.priceList = {
439
+ _path: "/pricelists",
440
+ find: async (params) => {
441
+ let res = await this._fetch(
442
+ this.svAPIEndpoint,
443
+ this.priceList._path,
444
+ params
445
+ );
446
+ return res;
447
+ },
448
+ get: async (id) => {
449
+ return await this._fetch(
450
+ this.svAPIEndpoint,
451
+ this.priceList._path + `/${id}`
452
+ );
453
+ },
454
+ create: async (body) => {
455
+ let res = await this._create(
456
+ this.svAPIEndpoint,
457
+ this.priceList._path,
458
+ body
459
+ );
460
+ return res;
461
+ },
462
+ update: async (id, body) => {
463
+ let res = await this._update(
464
+ this.svAPIEndpoint,
465
+ this.priceList._path + `/${id}`,
466
+ body
467
+ );
468
+ return res;
469
+ },
470
+ remove: async (id) => {
471
+ let res = await this._delete(
472
+ this.svAPIEndpoint,
473
+ this.priceList._path + `/${id}`
474
+ );
475
+ return res;
476
+ },
477
+ };
478
+ this.priceListItem = {
479
+ _path: "/pricelistsitems",
480
+ find: async (params) => {
481
+ let res = await this._fetch(
482
+ this.svAPIEndpoint,
483
+ this.priceListItem._path,
484
+ params
485
+ );
486
+ return res;
487
+ },
488
+ get: async (id) => {
489
+ return await this._fetch(
490
+ this.svAPIEndpoint,
491
+ this.priceListItem._path + `/${id}`
492
+ );
493
+ },
494
+ create: async (body) => {
495
+ let res = await this._create(
496
+ this.svAPIEndpoint,
497
+ this.priceListItem._path,
498
+ body
499
+ );
500
+ return res;
501
+ },
502
+ update: async (id, body) => {
503
+ let res = await this._update(
504
+ this.svAPIEndpoint,
505
+ this.priceListItem._path + `/${id}`,
506
+ body
507
+ );
508
+ return res;
509
+ },
510
+ remove: async (id) => {
511
+ let res = await this._delete(
512
+ this.svAPIEndpoint,
513
+ this.priceListItem._path + `/${id}`
514
+ );
515
+ return res;
516
+ },
517
+ };
518
+ this.team = {
519
+ _path: "/teams",
520
+ find: async (params) => {
521
+ let res = await this._fetch(
522
+ this.svAPIEndpoint,
523
+ this.team._path,
524
+ params
525
+ );
526
+ return res;
527
+ },
528
+ get: async (id) => {
529
+ return await this._fetch(
530
+ this.svAPIEndpoint,
531
+ this.team._path + `/${id}`
532
+ );
533
+ },
534
+ create: async (body) => {
535
+ let res = await this._create(this.svAPIEndpoint, this.team._path, body);
536
+ return res;
537
+ },
538
+ update: async (id, body) => {
539
+ let res = await this._update(
540
+ this.svAPIEndpoint,
541
+ this.team._path + `/${id}`,
542
+ body
543
+ );
544
+ return res;
545
+ },
546
+ remove: async (id) => {
547
+ let res = await this._delete(
548
+ this.svAPIEndpoint,
549
+ this.team._path + `/${id}`
550
+ );
551
+ return res;
552
+ },
553
+ };
554
+ this.returnReason = {
555
+ _path: "/return-reason",
556
+ find: async (params) => {
557
+ let res = await this._fetch(
558
+ this.svAPIEndpoint,
559
+ this.returnReason._path,
560
+ params
561
+ );
562
+ return res;
563
+ },
564
+ get: async (id) => {
565
+ return await this._fetch(
566
+ this.svAPIEndpoint,
567
+ this.returnReason._path + `/${id}`
568
+ );
569
+ },
570
+ create: async (body) => {
571
+ let res = await this._create(
572
+ this.svAPIEndpoint,
573
+ this.returnReason._path,
574
+ body
575
+ );
576
+ return res;
577
+ },
578
+ update: async (id, body) => {
579
+ let res = await this._update(
580
+ this.svAPIEndpoint,
581
+ this.returnReason._path + `/${id}`,
582
+ body
583
+ );
584
+ return res;
585
+ },
586
+ remove: async (id) => {
587
+ let res = await this._delete(
588
+ this.svAPIEndpoint,
589
+ this.returnReason._path + `/${id}`
590
+ );
591
+ return res;
592
+ },
593
+ };
594
+ this.rep = {
595
+ _path: "/rep",
596
+ find: async (params) => {
597
+ let res = await this._fetch(this.svAPIEndpoint, this.rep._path, params);
598
+ return res;
599
+ },
600
+ get: async (id, params) => {
601
+ return await this._fetch(
602
+ this.svAPIEndpoint,
603
+ this.rep._path + `/${id}`,
604
+ params
605
+ );
606
+ },
607
+ create: async (body) => {
608
+ let res = await this._create(this.svAPIEndpoint, this.rep._path, body);
609
+ return res;
610
+ },
611
+ update: async (id, body) => {
612
+ let res = await this._update(
613
+ this.svAPIEndpoint,
614
+ this.rep._path + `/${id}`,
615
+ body
616
+ );
617
+ return res;
618
+ },
619
+ remove: async (id) => {
620
+ let res = await this._delete(
621
+ this.svAPIEndpoint,
622
+ this.rep._path + `/${id}`
623
+ );
624
+ return res;
625
+ },
626
+ };
627
+ this.tag = {
628
+ _path: "/tag",
629
+ find: async (params) => {
630
+ let res = await this._fetch(this.svAPIEndpoint, this.tag._path, params);
631
+ return res;
632
+ },
633
+ get: async (id) => {
634
+ return await this._fetch(this.svAPIEndpoint, this.tag._path + `/${id}`);
635
+ },
636
+ create: async (body) => {
637
+ let res = await this._create(this.svAPIEndpoint, this.tag._path, body);
638
+ return res;
639
+ },
640
+ update: async (id, body) => {
641
+ let res = await this._update(
642
+ this.svAPIEndpoint,
643
+ this.tag._path + `/${id}`,
644
+ body
645
+ );
646
+ return res;
647
+ },
648
+ remove: async (id) => {
649
+ let res = await this._delete(
650
+ this.svAPIEndpoint,
651
+ this.tag._path + `/${id}`
652
+ );
653
+ return res;
654
+ },
655
+ };
656
+ this.warehouse = {
657
+ _path: "/warehouse",
658
+ find: async (params) => {
659
+ let res = await this._fetch(
660
+ this.svAPIEndpoint,
661
+ this.warehouse._path,
662
+ params
663
+ );
664
+ return res;
665
+ },
666
+ get: async (id) => {
667
+ return await this._fetch(
668
+ this.svAPIEndpoint,
669
+ this.warehouse._path + `/${id}`
670
+ );
671
+ },
672
+ create: async (body) => {
673
+ let res = await this._create(
674
+ this.svAPIEndpoint,
675
+ this.warehouse._path,
676
+ body
677
+ );
678
+ return res;
679
+ },
680
+ update: async (id, body) => {
681
+ let res = await this._update(
682
+ this.svAPIEndpoint,
683
+ this.warehouse._path + `/${id}`,
684
+ body
685
+ );
686
+ return res;
687
+ },
688
+ remove: async (id) => {
689
+ let res = await this._delete(
690
+ this.svAPIEndpoint,
691
+ this.warehouse._path + `/${id}`
692
+ );
693
+ return res;
694
+ },
695
+ };
696
+ this.channel = {
697
+ _path: "/client-channel",
698
+ find: async (params) => {
699
+ let res = await this._fetch(
700
+ this.svAPIEndpoint,
701
+ this.channel._path,
702
+ params
703
+ );
704
+ return res;
705
+ },
706
+ get: async (id) => {
707
+ return await this._fetch(
708
+ this.svAPIEndpoint,
709
+ this.channel._path + `/${id}`
710
+ );
711
+ },
712
+ create: async (body) => {
713
+ let res = await this._create(
714
+ this.svAPIEndpoint,
715
+ this.channel._path,
716
+ body
717
+ );
718
+ return res;
719
+ },
720
+ update: async (id, body) => {
721
+ let res = await this._update(
722
+ this.svAPIEndpoint,
723
+ this.channel._path + `/${id}`,
724
+ body
725
+ );
726
+ return res;
727
+ },
728
+ remove: async (id) => {
729
+ let res = await this._delete(
730
+ this.svAPIEndpoint,
731
+ this.channel._path + `/${id}`
732
+ );
733
+ return res;
734
+ },
735
+ };
736
+ this.speciality = {
737
+ _path: "/speciality",
738
+ find: async (params) => {
739
+ let res = await this._fetch(
740
+ this.svAPIEndpoint,
741
+ this.speciality._path,
742
+ params
743
+ );
744
+ return res;
745
+ },
746
+ get: async (id) => {
747
+ return await this._fetch(
748
+ this.svAPIEndpoint,
749
+ this.speciality._path + `/${id}`
750
+ );
751
+ },
752
+ create: async (body) => {
753
+ let res = await this._create(
754
+ this.svAPIEndpoint,
755
+ this.speciality._path,
756
+ body
757
+ );
758
+ return res;
759
+ },
760
+ update: async (id, body) => {
761
+ let res = await this._update(
762
+ this.svAPIEndpoint,
763
+ this.speciality._path + `/${id}`,
764
+ body
765
+ );
766
+ return res;
767
+ },
768
+ remove: async (id) => {
769
+ let res = await this._delete(
770
+ this.svAPIEndpoint,
771
+ this.speciality._path + `/${id}`
772
+ );
773
+ return res;
774
+ },
775
+ };
776
+ this.clientContact = {
777
+ _path: "/client-contact",
778
+ find: async (params) => {
779
+ let res = await this._fetch(
780
+ this.svAPIEndpoint,
781
+ this.clientContact._path,
782
+ params
783
+ );
784
+ return res;
785
+ },
786
+ get: async (id) => {
787
+ return await this._fetch(
788
+ this.svAPIEndpoint,
789
+ this.clientContact._path + `/${id}`
790
+ );
791
+ },
792
+ create: async (body) => {
793
+ let res = await this._create(
794
+ this.svAPIEndpoint,
795
+ this.clientContact._path,
796
+ body
797
+ );
798
+ return res;
799
+ },
800
+ update: async (id, body) => {
801
+ let res = await this._update(
802
+ this.svAPIEndpoint,
803
+ this.clientContact._path + `/${id}`,
804
+ body
805
+ );
806
+ return res;
807
+ },
808
+ remove: async (id) => {
809
+ let res = await this._delete(
810
+ this.svAPIEndpoint,
811
+ this.clientContact._path + `/${id}`
812
+ );
813
+ return res;
814
+ },
815
+ };
816
+ this.paymentTerm = {
817
+ _path: "/paymentterms",
818
+ find: async (params) => {
819
+ let res = await this._fetch(
820
+ this.svAPIEndpoint,
821
+ this.paymentTerm._path,
822
+ params
823
+ );
824
+ return res;
825
+ },
826
+ get: async (id) => {
827
+ return await this._fetch(
828
+ this.svAPIEndpoint,
829
+ this.paymentTerm._path + `/${id}`
830
+ );
831
+ },
832
+ create: async (body) => {
833
+ let res = await this._create(
834
+ this.svAPIEndpoint,
835
+ this.paymentTerm._path,
836
+ body
837
+ );
838
+ return res;
839
+ },
840
+ update: async (id, body) => {
841
+ let res = await this._update(
842
+ this.svAPIEndpoint,
843
+ this.paymentTerm._path + `/${id}`,
844
+ body
845
+ );
846
+ return res;
847
+ },
848
+ remove: async (id) => {
849
+ let res = await this._delete(
850
+ this.svAPIEndpoint,
851
+ this.paymentTerm._path + `/${id}`
852
+ );
853
+ return res;
854
+ },
855
+ };
856
+ this.bank = {
857
+ _path: "/banks",
858
+ find: async (params) => {
859
+ let res = await this._fetch(
860
+ this.svAPIEndpoint,
861
+ this.bank._path,
862
+ params
863
+ );
864
+ return res;
865
+ },
866
+ get: async (id) => {
867
+ return await this._fetch(
868
+ this.svAPIEndpoint,
869
+ this.bank._path + `/${id}`
870
+ );
871
+ },
872
+ create: async (body) => {
873
+ let res = await this._create(this.svAPIEndpoint, this.bank._path, body);
874
+ return res;
875
+ },
876
+ update: async (id, body) => {
877
+ let res = await this._update(
878
+ this.svAPIEndpoint,
879
+ this.bank._path + `/${id}`,
880
+ body
881
+ );
882
+ return res;
883
+ },
884
+ };
885
+ this.bank_list = {
886
+ _path: "/bankslists",
887
+ find: async (params) => {
888
+ let res = await this._fetch(
889
+ this.svAPIEndpoint,
890
+ this.bank_list._path,
891
+ params
892
+ );
893
+ return res;
894
+ },
895
+ get: async (id) => {
896
+ return await this._fetch(
897
+ this.svAPIEndpoint,
898
+ this.bank_list._path + `/${id}`
899
+ );
900
+ },
901
+ create: async (body) => {
902
+ let res = await this._create(
903
+ this.svAPIEndpoint,
904
+ this.bank_list._path,
905
+ body
906
+ );
907
+ return res;
908
+ },
909
+ update: async (id, body) => {
910
+ let res = await this._update(
911
+ this.svAPIEndpoint,
912
+ this.bank_list._path + `/${id}`,
913
+ body
914
+ );
915
+ return res;
916
+ },
917
+ };
918
+ this.customStatus = {
919
+ _path: "/custom-status",
920
+ find: async (params) => {
921
+ let res = await this._fetch(
922
+ this.svAPIEndpoint,
923
+ this.customStatus._path,
924
+ params
925
+ );
926
+ return res;
927
+ },
928
+ get: async (id) => {
929
+ return await this._fetch(
930
+ this.svAPIEndpoint,
931
+ this.customStatus._path + `/${id}`
932
+ );
933
+ },
934
+ create: async (body) => {
935
+ let res = await this._create(
936
+ this.svAPIEndpoint,
937
+ this.customStatus._path,
938
+ body
939
+ );
940
+ return res;
941
+ },
942
+ update: async (id, body) => {
943
+ let res = await this._update(
944
+ this.svAPIEndpoint,
945
+ this.customStatus._path + `/${id}`,
946
+ body
947
+ );
948
+ return res;
949
+ },
950
+ remove: async (id) => {
951
+ let res = await this._delete(
952
+ this.svAPIEndpoint,
953
+ this.customStatus._path + `/${id}`
954
+ );
955
+ return res;
956
+ },
957
+ };
958
+ this.workorder = {
959
+ _path: "/workorder",
960
+ find: async (params) => {
961
+ let res = await this._fetch(
962
+ this.svAPIEndpoint,
963
+ this.workorder._path,
964
+ params
965
+ );
966
+ return res;
967
+ },
968
+ get: async (id, params) => {
969
+ return await this._fetch(
970
+ this.svAPIEndpoint,
971
+ this.workorder._path + `/${id}`,
972
+ params
973
+ );
974
+ },
975
+ };
976
+ this.quickConvertToPdf = {
977
+ _path: "/quick-convert-to-pdf",
978
+ find: async (params) => {
979
+ let res = await this._fetch(
980
+ this.svAPIEndpoint,
981
+ this.quickConvertToPdf._path,
982
+ params
983
+ );
984
+ return res;
985
+ },
986
+ get: async (id, params) => {
987
+ return await this._fetch(
988
+ this.svAPIEndpoint,
989
+ this.quickConvertToPdf._path + `/${id}`,
990
+ params
991
+ );
992
+ },
993
+ create: async (body) => {
994
+ let res = await this._create(
995
+ this.svAPIEndpoint,
996
+ this.quickConvertToPdf._path,
997
+ body
998
+ );
999
+ return res;
1000
+ },
1001
+ remove: async (id) => {
1002
+ let res = await this._delete(
1003
+ this.svAPIEndpoint,
1004
+ this.quickConvertToPdf._path + `/${id}`
1005
+ );
1006
+ return res;
1007
+ },
1008
+ };
1009
+ this.visit = {
1010
+ _path: "/visit",
1011
+ find: async (params) => {
1012
+ let res = await this._fetch(
1013
+ this.svAPIEndpoint,
1014
+ this.visit._path,
1015
+ params
1016
+ );
1017
+ return res;
1018
+ },
1019
+ get: async (id, params) => {
1020
+ return await this._fetch(
1021
+ this.svAPIEndpoint,
1022
+ this.visit._path + `/${id}`,
1023
+ params
1024
+ );
1025
+ },
1026
+ create: async (body) => {
1027
+ let res = await this._create(
1028
+ this.svAPIEndpoint,
1029
+ this.visit._path,
1030
+ body
1031
+ );
1032
+ return res;
1033
+ },
1034
+ update: async (id, body) => {
1035
+ let res = await this._update(
1036
+ this.svAPIEndpoint,
1037
+ this.visit._path + `/${id}`,
1038
+ body
1039
+ );
1040
+ return res;
1041
+ },
1042
+ };
1043
+ this.invoice = {
1044
+ _path: "/fullinvoices",
1045
+ find: async (params) => {
1046
+ let res = await this._fetch(
1047
+ this.svAPIEndpoint,
1048
+ this.invoice._path,
1049
+ params
1050
+ );
1051
+ return res;
1052
+ },
1053
+ get: async (id, params) => {
1054
+ return await this._fetch(
1055
+ this.svAPIEndpoint,
1056
+ this.invoice._path + `/${id}`,
1057
+ params
1058
+ );
1059
+ },
1060
+ create: async (body) => {
1061
+ let res = await this._create(
1062
+ this.svAPIEndpoint,
1063
+ this.invoice._path,
1064
+ body
1065
+ );
1066
+ return res;
1067
+ },
1068
+ update: async (id, body) => {
1069
+ let res = await this._update(
1070
+ this.svAPIEndpoint,
1071
+ this.invoice._path + `/${id}`,
1072
+ body
1073
+ );
1074
+ return res;
1075
+ },
1076
+ };
1077
+ this.proforma = {
1078
+ _path: "/proforma",
1079
+ find: async (params) => {
1080
+ let res = await this._fetch(
1081
+ this.svAPIEndpoint,
1082
+ this.proforma._path,
1083
+ params
1084
+ );
1085
+ return res;
1086
+ },
1087
+ get: async (id, params) => {
1088
+ return await this._fetch(
1089
+ this.svAPIEndpoint,
1090
+ this.proforma._path + `/${id}`,
1091
+ params
1092
+ );
1093
+ },
1094
+ create: async (body) => {
1095
+ let res = await this._create(
1096
+ this.svAPIEndpoint,
1097
+ this.proforma._path,
1098
+ body
1099
+ );
1100
+ return res;
1101
+ },
1102
+ update: async (id, body) => {
1103
+ let res = await this._update(
1104
+ this.svAPIEndpoint,
1105
+ this.proforma._path + `/${id}`,
1106
+ body
1107
+ );
1108
+ return res;
1109
+ },
1110
+ };
1111
+ this.payment = {
1112
+ _path: "/payments",
1113
+ find: async (params) => {
1114
+ let res = await this._fetch(
1115
+ this.svAPIEndpoint,
1116
+ this.payment._path,
1117
+ params
1118
+ );
1119
+ return res;
1120
+ },
1121
+ get: async (id, params) => {
1122
+ return await this._fetch(
1123
+ this.svAPIEndpoint,
1124
+ this.payment._path + `/${id}`,
1125
+ params
1126
+ );
1127
+ },
1128
+ create: async (body) => {
1129
+ let res = await this._create(
1130
+ this.svAPIEndpoint,
1131
+ this.payment._path,
1132
+ body
1133
+ );
1134
+ return res;
1135
+ },
1136
+ update: async (id, body) => {
1137
+ let res = await this._update(
1138
+ this.svAPIEndpoint,
1139
+ this.payment._path + `/${id}`,
1140
+ body
1141
+ );
1142
+ return res;
1143
+ },
1144
+ };
1145
+ this.refund = {
1146
+ _path: "/refund",
1147
+ find: async (params) => {
1148
+ let res = await this._fetch(
1149
+ this.svAPIEndpoint,
1150
+ this.refund._path,
1151
+ params
1152
+ );
1153
+ return res;
1154
+ },
1155
+ get: async (id, params) => {
1156
+ return await this._fetch(
1157
+ this.svAPIEndpoint,
1158
+ this.refund._path + `/${id}`,
1159
+ params
1160
+ );
1161
+ },
1162
+ create: async (body) => {
1163
+ let res = await this._create(
1164
+ this.svAPIEndpoint,
1165
+ this.refund._path,
1166
+ body
1167
+ );
1168
+ return res;
1169
+ },
1170
+ update: async (id, body) => {
1171
+ let res = await this._update(
1172
+ this.svAPIEndpoint,
1173
+ this.refund._path + `/${id}`,
1174
+ body
1175
+ );
1176
+ return res;
1177
+ },
1178
+ };
1179
+ this.transfer = {
1180
+ _path: "/transfer",
1181
+ find: async (params) => {
1182
+ let res = await this._fetch(
1183
+ this.svAPIEndpoint,
1184
+ this.transfer._path,
1185
+ params
1186
+ );
1187
+ return res;
1188
+ },
1189
+ get: async (id, params) => {
1190
+ return await this._fetch(
1191
+ this.svAPIEndpoint,
1192
+ this.transfer._path + `/${id}`,
1193
+ params
1194
+ );
1195
+ },
1196
+ create: async (body) => {
1197
+ let res = await this._create(
1198
+ this.svAPIEndpoint,
1199
+ this.transfer._path,
1200
+ body
1201
+ );
1202
+ return res;
1203
+ },
1204
+ update: async (id, body) => {
1205
+ let res = await this._update(
1206
+ this.svAPIEndpoint,
1207
+ this.transfer._path + `/${id}`,
1208
+ body
1209
+ );
1210
+ return res;
1211
+ },
1212
+ };
1213
+ this.adjustInventory = {
1214
+ _path: "/adjust-inventory",
1215
+ find: async (params) => {
1216
+ let res = await this._fetch(
1217
+ this.svAPIEndpoint,
1218
+ this.adjustInventory._path,
1219
+ params
1220
+ );
1221
+ return res;
1222
+ },
1223
+ get: async (id, params) => {
1224
+ return await this._fetch(
1225
+ this.svAPIEndpoint,
1226
+ this.adjustInventory._path + `/${id}`,
1227
+ params
1228
+ );
1229
+ },
1230
+ create: async (body) => {
1231
+ let res = await this._create(
1232
+ this.svAPIEndpoint,
1233
+ this.adjustInventory._path,
1234
+ body
1235
+ );
1236
+ return res;
1237
+ },
1238
+ };
1239
+ this.inventory = {
1240
+ _path: "/inventory",
1241
+ find: async (params) => {
1242
+ let res = await this._fetch(
1243
+ this.svAPIEndpoint,
1244
+ this.inventory._path,
1245
+ params
1246
+ );
1247
+ return res;
1248
+ },
1249
+ };
1250
+ this.integrationApp = {
1251
+ _path: "/integration-app",
1252
+ find: async (params) => {
1253
+ let res = await this._fetch(
1254
+ this.svAPIEndpoint,
1255
+ this.integrationApp._path,
1256
+ params
1257
+ );
1258
+ return res;
1259
+ },
1260
+ get: async (id, params) => {
1261
+ return await this._fetch(
1262
+ this.svAPIEndpoint,
1263
+ this.integrationApp._path + `/${id}`,
1264
+ params
1265
+ );
1266
+ },
1267
+ create: async (body) => {
1268
+ let res = await this._create(
1269
+ this.svAPIEndpoint,
1270
+ this.integrationApp._path,
1271
+ body
1272
+ );
1273
+ return res;
1274
+ },
1275
+ update: async (id, body) => {
1276
+ let res = await this._update(
1277
+ this.svAPIEndpoint,
1278
+ this.integrationApp._path + `/${id}`,
1279
+ body
1280
+ );
1281
+ return res;
1282
+ },
1283
+ };
1284
+ this.joinActionsWebHook = {
1285
+ _path: "/svix-integration",
1286
+ update: async (id, body) => {
1287
+ let res = await this._update(
1288
+ this.svAPIEndpoint,
1289
+ this.joinActionsWebHook._path,
1290
+ body
1291
+ );
1292
+ return res;
1293
+ },
1294
+ };
1295
+ this.patchAction = {
1296
+ _path: "/patch-action",
1297
+ create: async (body, params) => {
1298
+ const res = await this._create(
1299
+ this.svAPIEndpoint,
1300
+ this.patchAction._path,
1301
+ body,
1302
+ params
1303
+ );
1304
+ return res;
1305
+ },
1306
+ update: async (body) => {
1307
+ const res = await this._update(
1308
+ this.svAPIEndpoint,
1309
+ this.patchAction._path,
1310
+ body
1311
+ );
1312
+ return res;
1313
+ },
1314
+ };
1315
+ this.updateIntegrationMeta = {
1316
+ _path: "/update-integration-meta",
1317
+ create: async (body, params) => {
1318
+ let res = await this._create(
1319
+ this.svAPIEndpoint,
1320
+ this.updateIntegrationMeta._path,
1321
+ body,
1322
+ params
1323
+ );
1324
+ return res;
1325
+ },
1326
+ };
1327
+ this.svAPIEndpoint =
1328
+ !options?.env || options?.env == "production"
1329
+ ? "https://sv.api.repzo.me"
1330
+ : options?.env == "staging"
1331
+ ? "https://staging.sv.api.repzo.me"
1332
+ : options?.env == "local"
1333
+ ? "http://localhost:3030"
1334
+ : "";
1335
+ this.headers = {
1336
+ "api-key": apiKey,
1337
+ "Content-Type": "application/json",
1338
+ Accept: "application/json",
1339
+ };
1340
+ if (options?.headers) Object.assign(this.headers, options.headers);
1341
+ }
1342
+ async _fetch(baseUrl, path, params) {
1343
+ let res = await axios.get(baseUrl + path, {
1344
+ params,
1345
+ headers: this.headers,
1346
+ });
1347
+ return res.data;
1348
+ }
1349
+ async _create(baseUrl, path, body, params) {
1350
+ let res = await axios.post(baseUrl + path, body, {
1351
+ params,
1352
+ headers: this.headers,
1353
+ });
1354
+ return res.data;
1355
+ }
1356
+ async _update(baseUrl, path, body, params) {
1357
+ let res = await axios.put(baseUrl + path, body, {
1358
+ params,
1359
+ headers: this.headers,
1360
+ });
1361
+ return res.data;
1362
+ }
1363
+ async _delete(baseUrl, path, params) {
1364
+ let res = await axios.delete(baseUrl + path, {
1365
+ params,
1366
+ headers: this.headers,
1367
+ });
1368
+ return res.data;
1369
+ }
769
1370
  }
770
1371
  Repzo.ActionLogs = class {
771
- constructor(superThis, sync_id) {
772
- this.superThis = superThis;
773
- this._path = "/integration-action-log";
774
- this.available_app_name = "";
775
- this.available_app_id = "";
776
- this.app_id = "";
777
- this.action = "";
778
- this.start_time = Date.now();
779
- this.status = "processing";
780
- this.message = "Log Created";
781
- this.details = [];
782
- this.sync_id = sync_id;
783
- this.isOld = true;
784
- }
785
- async load(sync_id) {
786
- const params = { sync_id: sync_id };
787
- const res = await this.superThis._fetch(this.superThis.svAPIEndpoint, this._path, params);
788
- if (!res?.data?.length)
789
- throw new Error(`Action Log Not found, sync_id: ${sync_id}`);
790
- const action_log = res.data[0];
791
- this.sync_id = sync_id;
792
- this.details = action_log.details;
793
- this.status = action_log.status;
794
- this.error = action_log.error;
795
- this.start_time = action_log.start_time;
796
- this.body = action_log.body;
797
- this.meta = action_log.meta;
798
- this.message = action_log.message;
799
- this.app_id = action_log.app_id;
800
- this.available_app_id = action_log.available_app_id;
801
- this.available_app_name = action_log.available_app_name;
802
- this.company_namespace = action_log.company_namespace;
803
- this.action = action_log.action;
804
- this.isOld = true;
805
- return this;
806
- }
807
- setStatus(status, error) {
808
- this.details.push({
809
- timestamp: Date.now(),
810
- content: `status was changed from ${this.status} to ${status}`,
811
- });
812
- this.status = status;
813
- if (error) {
814
- if (typeof error == "string") {
815
- this.error = { message: error };
816
- }
817
- else if (error.message || error.response?.data) {
818
- this.error = {
819
- // json: error.toJSON ? error.toJSON() : undefined,
820
- message: error.message,
821
- responseData: error.response?.data,
822
- };
823
- }
824
- else {
825
- this.error = error;
826
- }
827
- return this;
828
- }
829
- return this;
830
- }
831
- setBody(body) {
832
- this.body = body;
833
- return this;
834
- }
835
- setMeta(meta) {
836
- this.meta = meta;
837
- return this;
838
- }
839
- async commit() {
840
- let doc = {
841
- available_app_name: this.available_app_name,
842
- available_app_id: this.available_app_id,
843
- app_id: this.app_id,
844
- action: this.action,
845
- company_namespace: this.company_namespace,
846
- status: this.status,
847
- error: this.error ? this.error : undefined,
848
- start_time: this.start_time,
849
- end_time: Date.now(),
850
- total_time: Date.now() - this.start_time,
851
- body: this.body,
852
- meta: this.meta,
853
- message: this.message,
854
- details: this.details,
855
- sync_id: this.sync_id,
1372
+ constructor(superThis, sync_id) {
1373
+ this.superThis = superThis;
1374
+ this._path = "/integration-action-log";
1375
+ this.available_app_name = "";
1376
+ this.available_app_id = "";
1377
+ this.app_id = "";
1378
+ this.action = "";
1379
+ this.start_time = Date.now();
1380
+ this.status = "processing";
1381
+ this.message = "Log Created";
1382
+ this.details = [];
1383
+ this.sync_id = sync_id;
1384
+ this.isOld = true;
1385
+ }
1386
+ async load(sync_id) {
1387
+ const params = { sync_id: sync_id };
1388
+ const res = await this.superThis._fetch(
1389
+ this.superThis.svAPIEndpoint,
1390
+ this._path,
1391
+ params
1392
+ );
1393
+ if (!res?.data?.length)
1394
+ throw new Error(`Action Log Not found, sync_id: ${sync_id}`);
1395
+ const action_log = res.data[0];
1396
+ this.sync_id = sync_id;
1397
+ this.details = action_log.details;
1398
+ this.status = action_log.status;
1399
+ this.error = action_log.error;
1400
+ this.start_time = action_log.start_time;
1401
+ this.body = action_log.body;
1402
+ this.meta = action_log.meta;
1403
+ this.message = action_log.message;
1404
+ this.app_id = action_log.app_id;
1405
+ this.available_app_id = action_log.available_app_id;
1406
+ this.available_app_name = action_log.available_app_name;
1407
+ this.company_namespace = action_log.company_namespace;
1408
+ this.action = action_log.action;
1409
+ this.isOld = true;
1410
+ return this;
1411
+ }
1412
+ setStatus(status, error) {
1413
+ this.details.push({
1414
+ timestamp: Date.now(),
1415
+ content: `status was changed from ${this.status} to ${status}`,
1416
+ });
1417
+ this.status = status;
1418
+ if (error) {
1419
+ if (typeof error == "string") {
1420
+ this.error = { message: error };
1421
+ } else if (error.message || error.response?.data) {
1422
+ this.error = {
1423
+ // json: error.toJSON ? error.toJSON() : undefined,
1424
+ message: error.message,
1425
+ responseData: error.response?.data,
856
1426
  };
857
- try {
858
- const res = await this.superThis._create(this.superThis.svAPIEndpoint, this._path, doc);
859
- }
860
- catch (e) {
861
- console.error(e);
862
- }
863
- return this;
1427
+ } else {
1428
+ this.error = error;
1429
+ }
1430
+ return this;
864
1431
  }
865
- addDetail(detail, meta) {
866
- let d = {
867
- timestamp: Date.now(),
868
- content: detail,
869
- };
870
- this.message = detail;
871
- if (meta)
872
- d.meta = meta;
873
- this.details.push(d);
874
- return this;
1432
+ return this;
1433
+ }
1434
+ setBody(body) {
1435
+ this.body = body;
1436
+ return this;
1437
+ }
1438
+ setMeta(meta) {
1439
+ this.meta = meta;
1440
+ return this;
1441
+ }
1442
+ async commit() {
1443
+ let doc = {
1444
+ available_app_name: this.available_app_name,
1445
+ available_app_id: this.available_app_id,
1446
+ app_id: this.app_id,
1447
+ action: this.action,
1448
+ company_namespace: this.company_namespace,
1449
+ status: this.status,
1450
+ error: this.error ? this.error : undefined,
1451
+ start_time: this.start_time,
1452
+ end_time: Date.now(),
1453
+ total_time: Date.now() - this.start_time,
1454
+ body: this.body,
1455
+ meta: this.meta,
1456
+ message: this.message,
1457
+ details: this.details,
1458
+ sync_id: this.sync_id,
1459
+ };
1460
+ try {
1461
+ const res = await this.superThis._create(
1462
+ this.superThis.svAPIEndpoint,
1463
+ this._path,
1464
+ doc
1465
+ );
1466
+ } catch (e) {
1467
+ console.error(e);
875
1468
  }
1469
+ return this;
1470
+ }
1471
+ addDetail(detail, meta) {
1472
+ let d = {
1473
+ timestamp: Date.now(),
1474
+ content: detail,
1475
+ };
1476
+ this.message = detail;
1477
+ if (meta) d.meta = meta;
1478
+ this.details.push(d);
1479
+ return this;
1480
+ }
876
1481
  };
877
1482
  Repzo.CommandLog = class {
878
- constructor(superThis, app, command, trigger) {
879
- this.superThis = superThis;
880
- this._path = "/integration-command-log";
881
- this.app_id = app._id;
882
- this.available_app_id = app.available_app._id;
883
- this.available_app_name = app.available_app.name;
884
- this.company_namespace = app.company_namespace;
885
- this.start_time = Date.now();
886
- this.status = "received";
887
- this.message = "Request received";
888
- this.command = command;
889
- this.details = [{ timestamp: Date.now(), content: "Request received" }];
890
- this.sync_id = uuid();
891
- this.isOld = false;
892
- this.isPrioritized = false;
893
- this.retries = 1;
894
- this.trigger = trigger;
895
- this.onGoing = true;
896
- }
897
- async load(sync_id, retries) {
898
- if (sync_id) {
899
- const params = { sync_id: sync_id };
900
- const res = await this.superThis._fetch(this.superThis.svAPIEndpoint, this._path, params);
901
- if (!res?.data?.length)
902
- throw new Error(`Command Log Not found, sync_id: ${sync_id}`);
903
- const command_log = res.data[0];
904
- if (command_log) {
905
- this.sync_id = sync_id;
906
- this.details = command_log.details;
907
- this.status = command_log.status;
908
- this.error = command_log.error;
909
- this.start_time = command_log.start_time;
910
- this.body = command_log.body;
911
- this.meta = command_log.meta;
912
- this.message = command_log.message;
913
- this.retries =
914
- retries !== undefined
915
- ? retries
916
- : command_log.retries || this.retries; // retries !== undefined ? retries : command_log.retries;
917
- this.isOld = true;
918
- this.failedAt = command_log.failedAt;
919
- this.succeededAt = command_log.succeededAt;
920
- this.skippedAt = command_log.skippedAt;
921
- this.receivedAt = command_log.receivedAt;
922
- this.processedAt = command_log.processedAt;
923
- this.onGoing = command_log.onGoing || false;
924
- this.trigger = command_log.trigger;
925
- // this.priority = command_log.priority
926
- // ? command_log.priority
927
- // : this.priority
928
- // ? this.priority
929
- // : undefined;
930
- }
931
- }
932
- return this;
933
- }
934
- setStatus(status, error) {
935
- this.addDetail(`status was changed from ${this.status} to ${status}`);
936
- this.status = status;
937
- if (error) {
938
- if (typeof error == "string") {
939
- this.error = { message: error };
940
- }
941
- else if (error.message || error.response?.data) {
942
- this.error = {
943
- // json: error.toJSON ? error.toJSON() : undefined,
944
- message: error.message,
945
- responseData: error.response?.data,
946
- };
947
- }
948
- else {
949
- this.error = error;
950
- }
951
- return this;
952
- }
953
- switch (status) {
954
- case "fail":
955
- this.failedAt = new Date();
956
- this.onGoing = false;
957
- break;
958
- case "processing":
959
- this.processedAt = new Date();
960
- this.onGoing = true;
961
- break;
962
- case "queued":
963
- this.queuedAt = new Date();
964
- this.onGoing = true;
965
- break;
966
- case "received":
967
- this.receivedAt = new Date();
968
- this.onGoing = true;
969
- break;
970
- case "skipped":
971
- this.skippedAt = new Date();
972
- this.onGoing = false;
973
- break;
974
- case "success":
975
- this.succeededAt = new Date();
976
- this.onGoing = false;
977
- break;
978
- }
979
- return this;
980
- }
981
- setBody(body) {
982
- this.body = body;
983
- return this;
984
- }
985
- setMeta(meta) {
986
- this.meta = meta;
987
- return this;
1483
+ constructor(superThis, app, command, trigger) {
1484
+ this.superThis = superThis;
1485
+ this._path = "/integration-command-log";
1486
+ this.app_id = app._id;
1487
+ this.available_app_id = app.available_app._id;
1488
+ this.available_app_name = app.available_app.name;
1489
+ this.company_namespace = app.company_namespace;
1490
+ this.start_time = Date.now();
1491
+ this.status = "received";
1492
+ this.message = "Request received";
1493
+ this.command = command;
1494
+ this.details = [{ timestamp: Date.now(), content: "Request received" }];
1495
+ this.sync_id = uuid();
1496
+ this.isOld = false;
1497
+ this.isPrioritized = false;
1498
+ this.retries = 1;
1499
+ this.trigger = trigger;
1500
+ this.onGoing = true;
1501
+ }
1502
+ async load(sync_id, retries) {
1503
+ if (sync_id) {
1504
+ const params = { sync_id: sync_id };
1505
+ const res = await this.superThis._fetch(
1506
+ this.superThis.svAPIEndpoint,
1507
+ this._path,
1508
+ params
1509
+ );
1510
+ if (!res?.data?.length)
1511
+ throw new Error(`Command Log Not found, sync_id: ${sync_id}`);
1512
+ const command_log = res.data[0];
1513
+ if (command_log) {
1514
+ this.sync_id = sync_id;
1515
+ this.details = command_log.details;
1516
+ this.status = command_log.status;
1517
+ this.error = command_log.error;
1518
+ this.start_time = command_log.start_time;
1519
+ this.body = command_log.body;
1520
+ this.meta = command_log.meta;
1521
+ this.message = command_log.message;
1522
+ this.retries =
1523
+ retries !== undefined ? retries : command_log.retries || this.retries; // retries !== undefined ? retries : command_log.retries;
1524
+ this.isOld = true;
1525
+ this.failedAt = command_log.failedAt;
1526
+ this.succeededAt = command_log.succeededAt;
1527
+ this.skippedAt = command_log.skippedAt;
1528
+ this.receivedAt = command_log.receivedAt;
1529
+ this.processedAt = command_log.processedAt;
1530
+ this.onGoing = command_log.onGoing || false;
1531
+ this.trigger = command_log.trigger;
1532
+ // this.priority = command_log.priority
1533
+ // ? command_log.priority
1534
+ // : this.priority
1535
+ // ? this.priority
1536
+ // : undefined;
1537
+ }
988
1538
  }
989
- async commit() {
990
- let doc = {
991
- available_app_name: this.available_app_name,
992
- available_app_id: this.available_app_id,
993
- app_id: this.app_id,
994
- command: this.command,
995
- status: this.status,
996
- error: this.error ? this.error : undefined,
997
- start_time: this.start_time,
998
- end_time: Date.now(),
999
- total_time: Date.now() - this.start_time,
1000
- company_namespace: this.company_namespace,
1001
- body: this.body,
1002
- meta: this.meta,
1003
- message: this.message,
1004
- details: this.details,
1005
- sync_id: this.sync_id,
1006
- // priority: this.priority ? this.priority : undefined,
1007
- queuedAt: this.queuedAt ? this.queuedAt : undefined,
1008
- failedAt: this.failedAt ? this.failedAt : undefined,
1009
- succeededAt: this.succeededAt ? this.succeededAt : undefined,
1010
- skippedAt: this.skippedAt ? this.skippedAt : undefined,
1011
- receivedAt: this.receivedAt ? this.receivedAt : undefined,
1012
- processedAt: this.processedAt ? this.processedAt : undefined,
1013
- onGoing: this.onGoing !== undefined ? this.onGoing : undefined,
1014
- retries: this.retries !== undefined ? this.retries : undefined,
1015
- trigger: this.trigger,
1539
+ return this;
1540
+ }
1541
+ setStatus(status, error) {
1542
+ this.addDetail(`status was changed from ${this.status} to ${status}`);
1543
+ this.status = status;
1544
+ if (error) {
1545
+ if (typeof error == "string") {
1546
+ this.error = { message: error };
1547
+ } else if (error.message || error.response?.data) {
1548
+ this.error = {
1549
+ // json: error.toJSON ? error.toJSON() : undefined,
1550
+ message: error.message,
1551
+ responseData: error.response?.data,
1016
1552
  };
1017
- try {
1018
- const res = await this.superThis._create(this.superThis.svAPIEndpoint, this._path, doc);
1019
- this.isOld = true;
1020
- }
1021
- catch (e) {
1022
- console.error(e);
1023
- }
1024
- return this;
1553
+ } else {
1554
+ this.error = error;
1555
+ }
1556
+ return this;
1025
1557
  }
1026
- addDetail(detail, meta) {
1027
- let d = {
1028
- timestamp: Date.now(),
1029
- content: detail,
1030
- };
1031
- this.message = detail;
1032
- if (meta)
1033
- d.meta = meta;
1034
- this.details.push(d);
1035
- return this;
1558
+ switch (status) {
1559
+ case "fail":
1560
+ this.failedAt = new Date();
1561
+ this.onGoing = false;
1562
+ break;
1563
+ case "processing":
1564
+ this.processedAt = new Date();
1565
+ this.onGoing = true;
1566
+ break;
1567
+ case "queued":
1568
+ this.queuedAt = new Date();
1569
+ this.onGoing = true;
1570
+ break;
1571
+ case "received":
1572
+ this.receivedAt = new Date();
1573
+ this.onGoing = true;
1574
+ break;
1575
+ case "skipped":
1576
+ this.skippedAt = new Date();
1577
+ this.onGoing = false;
1578
+ break;
1579
+ case "success":
1580
+ this.succeededAt = new Date();
1581
+ this.onGoing = false;
1582
+ break;
1583
+ }
1584
+ return this;
1585
+ }
1586
+ setBody(body) {
1587
+ this.body = body;
1588
+ return this;
1589
+ }
1590
+ setMeta(meta) {
1591
+ this.meta = meta;
1592
+ return this;
1593
+ }
1594
+ async commit() {
1595
+ let doc = {
1596
+ available_app_name: this.available_app_name,
1597
+ available_app_id: this.available_app_id,
1598
+ app_id: this.app_id,
1599
+ command: this.command,
1600
+ status: this.status,
1601
+ error: this.error ? this.error : undefined,
1602
+ start_time: this.start_time,
1603
+ end_time: Date.now(),
1604
+ total_time: Date.now() - this.start_time,
1605
+ company_namespace: this.company_namespace,
1606
+ body: this.body,
1607
+ meta: this.meta,
1608
+ message: this.message,
1609
+ details: this.details,
1610
+ sync_id: this.sync_id,
1611
+ // priority: this.priority ? this.priority : undefined,
1612
+ queuedAt: this.queuedAt ? this.queuedAt : undefined,
1613
+ failedAt: this.failedAt ? this.failedAt : undefined,
1614
+ succeededAt: this.succeededAt ? this.succeededAt : undefined,
1615
+ skippedAt: this.skippedAt ? this.skippedAt : undefined,
1616
+ receivedAt: this.receivedAt ? this.receivedAt : undefined,
1617
+ processedAt: this.processedAt ? this.processedAt : undefined,
1618
+ onGoing: this.onGoing !== undefined ? this.onGoing : undefined,
1619
+ retries: this.retries !== undefined ? this.retries : undefined,
1620
+ trigger: this.trigger,
1621
+ };
1622
+ try {
1623
+ const res = await this.superThis._create(
1624
+ this.superThis.svAPIEndpoint,
1625
+ this._path,
1626
+ doc
1627
+ );
1628
+ this.isOld = true;
1629
+ } catch (e) {
1630
+ console.error(e);
1036
1631
  }
1632
+ return this;
1633
+ }
1634
+ addDetail(detail, meta) {
1635
+ let d = {
1636
+ timestamp: Date.now(),
1637
+ content: detail,
1638
+ };
1639
+ this.message = detail;
1640
+ if (meta) d.meta = meta;
1641
+ this.details.push(d);
1642
+ return this;
1643
+ }
1037
1644
  };