repzo 1.0.33 → 1.0.35

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,1524 +1,993 @@
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(
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.rep = {
555
- _path: "/rep",
556
- find: async (params) => {
557
- let res = await this._fetch(this.svAPIEndpoint, this.rep._path, params);
558
- return res;
559
- },
560
- get: async (id, params) => {
561
- return await this._fetch(
562
- this.svAPIEndpoint,
563
- this.rep._path + `/${id}`,
564
- params,
565
- );
566
- },
567
- create: async (body) => {
568
- let res = await this._create(this.svAPIEndpoint, this.rep._path, body);
569
- return res;
570
- },
571
- update: async (id, body) => {
572
- let res = await this._update(
573
- this.svAPIEndpoint,
574
- this.rep._path + `/${id}`,
575
- body,
576
- );
577
- return res;
578
- },
579
- remove: async (id) => {
580
- let res = await this._delete(
581
- this.svAPIEndpoint,
582
- this.rep._path + `/${id}`,
583
- );
584
- return res;
585
- },
586
- };
587
- this.tag = {
588
- _path: "/tag",
589
- find: async (params) => {
590
- let res = await this._fetch(this.svAPIEndpoint, this.tag._path, params);
591
- return res;
592
- },
593
- get: async (id) => {
594
- return await this._fetch(this.svAPIEndpoint, this.tag._path + `/${id}`);
595
- },
596
- create: async (body) => {
597
- let res = await this._create(this.svAPIEndpoint, this.tag._path, body);
598
- return res;
599
- },
600
- update: async (id, body) => {
601
- let res = await this._update(
602
- this.svAPIEndpoint,
603
- this.tag._path + `/${id}`,
604
- body,
605
- );
606
- return res;
607
- },
608
- remove: async (id) => {
609
- let res = await this._delete(
610
- this.svAPIEndpoint,
611
- this.tag._path + `/${id}`,
612
- );
613
- return res;
614
- },
615
- };
616
- this.warehouse = {
617
- _path: "/warehouse",
618
- find: async (params) => {
619
- let res = await this._fetch(
620
- this.svAPIEndpoint,
621
- this.warehouse._path,
622
- params,
623
- );
624
- return res;
625
- },
626
- get: async (id) => {
627
- return await this._fetch(
628
- this.svAPIEndpoint,
629
- this.warehouse._path + `/${id}`,
630
- );
631
- },
632
- create: async (body) => {
633
- let res = await this._create(
634
- this.svAPIEndpoint,
635
- this.warehouse._path,
636
- body,
637
- );
638
- return res;
639
- },
640
- update: async (id, body) => {
641
- let res = await this._update(
642
- this.svAPIEndpoint,
643
- this.warehouse._path + `/${id}`,
644
- body,
645
- );
646
- return res;
647
- },
648
- remove: async (id) => {
649
- let res = await this._delete(
650
- this.svAPIEndpoint,
651
- this.warehouse._path + `/${id}`,
652
- );
653
- return res;
654
- },
655
- };
656
- this.channel = {
657
- _path: "/client-channel",
658
- find: async (params) => {
659
- let res = await this._fetch(
660
- this.svAPIEndpoint,
661
- this.channel._path,
662
- params,
663
- );
664
- return res;
665
- },
666
- get: async (id) => {
667
- return await this._fetch(
668
- this.svAPIEndpoint,
669
- this.channel._path + `/${id}`,
670
- );
671
- },
672
- create: async (body) => {
673
- let res = await this._create(
674
- this.svAPIEndpoint,
675
- this.channel._path,
676
- body,
677
- );
678
- return res;
679
- },
680
- update: async (id, body) => {
681
- let res = await this._update(
682
- this.svAPIEndpoint,
683
- this.channel._path + `/${id}`,
684
- body,
685
- );
686
- return res;
687
- },
688
- remove: async (id) => {
689
- let res = await this._delete(
690
- this.svAPIEndpoint,
691
- this.channel._path + `/${id}`,
692
- );
693
- return res;
694
- },
695
- };
696
- this.paymentTerm = {
697
- _path: "/paymentterms",
698
- find: async (params) => {
699
- let res = await this._fetch(
700
- this.svAPIEndpoint,
701
- this.paymentTerm._path,
702
- params,
703
- );
704
- return res;
705
- },
706
- get: async (id) => {
707
- return await this._fetch(
708
- this.svAPIEndpoint,
709
- this.paymentTerm._path + `/${id}`,
710
- );
711
- },
712
- create: async (body) => {
713
- let res = await this._create(
714
- this.svAPIEndpoint,
715
- this.paymentTerm._path,
716
- body,
717
- );
718
- return res;
719
- },
720
- update: async (id, body) => {
721
- let res = await this._update(
722
- this.svAPIEndpoint,
723
- this.paymentTerm._path + `/${id}`,
724
- body,
725
- );
726
- return res;
727
- },
728
- remove: async (id) => {
729
- let res = await this._delete(
730
- this.svAPIEndpoint,
731
- this.paymentTerm._path + `/${id}`,
732
- );
733
- return res;
734
- },
735
- };
736
- this.bank = {
737
- _path: "/banks",
738
- find: async (params) => {
739
- let res = await this._fetch(
740
- this.svAPIEndpoint,
741
- this.bank._path,
742
- params,
743
- );
744
- return res;
745
- },
746
- get: async (id) => {
747
- return await this._fetch(
748
- this.svAPIEndpoint,
749
- this.bank._path + `/${id}`,
750
- );
751
- },
752
- create: async (body) => {
753
- let res = await this._create(this.svAPIEndpoint, this.bank._path, body);
754
- return res;
755
- },
756
- update: async (id, body) => {
757
- let res = await this._update(
758
- this.svAPIEndpoint,
759
- this.bank._path + `/${id}`,
760
- body,
761
- );
762
- return res;
763
- },
764
- };
765
- this.bank_list = {
766
- _path: "/bankslists",
767
- find: async (params) => {
768
- let res = await this._fetch(
769
- this.svAPIEndpoint,
770
- this.bank_list._path,
771
- params,
772
- );
773
- return res;
774
- },
775
- get: async (id) => {
776
- return await this._fetch(
777
- this.svAPIEndpoint,
778
- this.bank_list._path + `/${id}`,
779
- );
780
- },
781
- create: async (body) => {
782
- let res = await this._create(
783
- this.svAPIEndpoint,
784
- this.bank_list._path,
785
- body,
786
- );
787
- return res;
788
- },
789
- update: async (id, body) => {
790
- let res = await this._update(
791
- this.svAPIEndpoint,
792
- this.bank_list._path + `/${id}`,
793
- body,
794
- );
795
- return res;
796
- },
797
- };
798
- this.customStatus = {
799
- _path: "/custom-status",
800
- find: async (params) => {
801
- let res = await this._fetch(
802
- this.svAPIEndpoint,
803
- this.customStatus._path,
804
- params,
805
- );
806
- return res;
807
- },
808
- get: async (id) => {
809
- return await this._fetch(
810
- this.svAPIEndpoint,
811
- this.customStatus._path + `/${id}`,
812
- );
813
- },
814
- create: async (body) => {
815
- let res = await this._create(
816
- this.svAPIEndpoint,
817
- this.customStatus._path,
818
- body,
819
- );
820
- return res;
821
- },
822
- update: async (id, body) => {
823
- let res = await this._update(
824
- this.svAPIEndpoint,
825
- this.customStatus._path + `/${id}`,
826
- body,
827
- );
828
- return res;
829
- },
830
- remove: async (id) => {
831
- let res = await this._delete(
832
- this.svAPIEndpoint,
833
- this.customStatus._path + `/${id}`,
834
- );
835
- return res;
836
- },
837
- };
838
- this.workorder = {
839
- _path: "/workorder",
840
- find: async (params) => {
841
- let res = await this._fetch(
842
- this.svAPIEndpoint,
843
- this.workorder._path,
844
- params,
845
- );
846
- return res;
847
- },
848
- get: async (id, params) => {
849
- return await this._fetch(
850
- this.svAPIEndpoint,
851
- this.workorder._path + `/${id}`,
852
- params,
853
- );
854
- },
855
- };
856
- this.quickConvertToPdf = {
857
- _path: "/quick-convert-to-pdf",
858
- find: async (params) => {
859
- let res = await this._fetch(
860
- this.svAPIEndpoint,
861
- this.quickConvertToPdf._path,
862
- params,
863
- );
864
- return res;
865
- },
866
- get: async (id, params) => {
867
- return await this._fetch(
868
- this.svAPIEndpoint,
869
- this.quickConvertToPdf._path + `/${id}`,
870
- params,
871
- );
872
- },
873
- create: async (body) => {
874
- let res = await this._create(
875
- this.svAPIEndpoint,
876
- this.quickConvertToPdf._path,
877
- body,
878
- );
879
- return res;
880
- },
881
- remove: async (id) => {
882
- let res = await this._delete(
883
- this.svAPIEndpoint,
884
- this.quickConvertToPdf._path + `/${id}`,
885
- );
886
- return res;
887
- },
888
- };
889
- this.visit = {
890
- _path: "/visit",
891
- find: async (params) => {
892
- let res = await this._fetch(
893
- this.svAPIEndpoint,
894
- this.visit._path,
895
- params,
896
- );
897
- return res;
898
- },
899
- get: async (id, params) => {
900
- return await this._fetch(
901
- this.svAPIEndpoint,
902
- this.visit._path + `/${id}`,
903
- params,
904
- );
905
- },
906
- create: async (body) => {
907
- let res = await this._create(
908
- this.svAPIEndpoint,
909
- this.visit._path,
910
- body,
911
- );
912
- return res;
913
- },
914
- update: async (id, body) => {
915
- let res = await this._update(
916
- this.svAPIEndpoint,
917
- this.visit._path + `/${id}`,
918
- body,
919
- );
920
- return res;
921
- },
922
- };
923
- this.invoice = {
924
- _path: "/fullinvoices",
925
- find: async (params) => {
926
- let res = await this._fetch(
927
- this.svAPIEndpoint,
928
- this.invoice._path,
929
- params,
930
- );
931
- return res;
932
- },
933
- get: async (id, params) => {
934
- return await this._fetch(
935
- this.svAPIEndpoint,
936
- this.invoice._path + `/${id}`,
937
- params,
938
- );
939
- },
940
- create: async (body) => {
941
- let res = await this._create(
942
- this.svAPIEndpoint,
943
- this.invoice._path,
944
- body,
945
- );
946
- return res;
947
- },
948
- update: async (id, body) => {
949
- let res = await this._update(
950
- this.svAPIEndpoint,
951
- this.invoice._path + `/${id}`,
952
- body,
953
- );
954
- return res;
955
- },
956
- };
957
- this.proforma = {
958
- _path: "/proforma",
959
- find: async (params) => {
960
- let res = await this._fetch(
961
- this.svAPIEndpoint,
962
- this.proforma._path,
963
- params,
964
- );
965
- return res;
966
- },
967
- get: async (id, params) => {
968
- return await this._fetch(
969
- this.svAPIEndpoint,
970
- this.proforma._path + `/${id}`,
971
- params,
972
- );
973
- },
974
- create: async (body) => {
975
- let res = await this._create(
976
- this.svAPIEndpoint,
977
- this.proforma._path,
978
- body,
979
- );
980
- return res;
981
- },
982
- update: async (id, body) => {
983
- let res = await this._update(
984
- this.svAPIEndpoint,
985
- this.proforma._path + `/${id}`,
986
- body,
987
- );
988
- return res;
989
- },
990
- };
991
- this.payment = {
992
- _path: "/payments",
993
- find: async (params) => {
994
- let res = await this._fetch(
995
- this.svAPIEndpoint,
996
- this.payment._path,
997
- params,
998
- );
999
- return res;
1000
- },
1001
- get: async (id, params) => {
1002
- return await this._fetch(
1003
- this.svAPIEndpoint,
1004
- this.payment._path + `/${id}`,
1005
- params,
1006
- );
1007
- },
1008
- create: async (body) => {
1009
- let res = await this._create(
1010
- this.svAPIEndpoint,
1011
- this.payment._path,
1012
- body,
1013
- );
1014
- return res;
1015
- },
1016
- update: async (id, body) => {
1017
- let res = await this._update(
1018
- this.svAPIEndpoint,
1019
- this.payment._path + `/${id}`,
1020
- body,
1021
- );
1022
- return res;
1023
- },
1024
- };
1025
- this.refund = {
1026
- _path: "/refund",
1027
- find: async (params) => {
1028
- let res = await this._fetch(
1029
- this.svAPIEndpoint,
1030
- this.refund._path,
1031
- params,
1032
- );
1033
- return res;
1034
- },
1035
- get: async (id, params) => {
1036
- return await this._fetch(
1037
- this.svAPIEndpoint,
1038
- this.refund._path + `/${id}`,
1039
- params,
1040
- );
1041
- },
1042
- create: async (body) => {
1043
- let res = await this._create(
1044
- this.svAPIEndpoint,
1045
- this.refund._path,
1046
- body,
1047
- );
1048
- return res;
1049
- },
1050
- update: async (id, body) => {
1051
- let res = await this._update(
1052
- this.svAPIEndpoint,
1053
- this.refund._path + `/${id}`,
1054
- body,
1055
- );
1056
- return res;
1057
- },
1058
- };
1059
- this.transfer = {
1060
- _path: "/transfer",
1061
- find: async (params) => {
1062
- let res = await this._fetch(
1063
- this.svAPIEndpoint,
1064
- this.transfer._path,
1065
- params,
1066
- );
1067
- return res;
1068
- },
1069
- get: async (id, params) => {
1070
- return await this._fetch(
1071
- this.svAPIEndpoint,
1072
- this.transfer._path + `/${id}`,
1073
- params,
1074
- );
1075
- },
1076
- create: async (body) => {
1077
- let res = await this._create(
1078
- this.svAPIEndpoint,
1079
- this.transfer._path,
1080
- body,
1081
- );
1082
- return res;
1083
- },
1084
- update: async (id, body) => {
1085
- let res = await this._update(
1086
- this.svAPIEndpoint,
1087
- this.transfer._path + `/${id}`,
1088
- body,
1089
- );
1090
- return res;
1091
- },
1092
- };
1093
- this.adjustInventory = {
1094
- _path: "/adjust-inventory",
1095
- find: async (params) => {
1096
- let res = await this._fetch(
1097
- this.svAPIEndpoint,
1098
- this.adjustInventory._path,
1099
- params,
1100
- );
1101
- return res;
1102
- },
1103
- get: async (id, params) => {
1104
- return await this._fetch(
1105
- this.svAPIEndpoint,
1106
- this.adjustInventory._path + `/${id}`,
1107
- params,
1108
- );
1109
- },
1110
- create: async (body) => {
1111
- let res = await this._create(
1112
- this.svAPIEndpoint,
1113
- this.adjustInventory._path,
1114
- body,
1115
- );
1116
- return res;
1117
- },
1118
- };
1119
- this.inventory = {
1120
- _path: "/inventory",
1121
- find: async (params) => {
1122
- let res = await this._fetch(
1123
- this.svAPIEndpoint,
1124
- this.inventory._path,
1125
- params,
1126
- );
1127
- return res;
1128
- },
1129
- };
1130
- this.integrationApp = {
1131
- _path: "/integration-app",
1132
- find: async (params) => {
1133
- let res = await this._fetch(
1134
- this.svAPIEndpoint,
1135
- this.integrationApp._path,
1136
- params,
1137
- );
1138
- return res;
1139
- },
1140
- get: async (id, params) => {
1141
- return await this._fetch(
1142
- this.svAPIEndpoint,
1143
- this.integrationApp._path + `/${id}`,
1144
- params,
1145
- );
1146
- },
1147
- create: async (body) => {
1148
- let res = await this._create(
1149
- this.svAPIEndpoint,
1150
- this.integrationApp._path,
1151
- body,
1152
- );
1153
- return res;
1154
- },
1155
- update: async (id, body) => {
1156
- let res = await this._update(
1157
- this.svAPIEndpoint,
1158
- this.integrationApp._path + `/${id}`,
1159
- body,
1160
- );
1161
- return res;
1162
- },
1163
- };
1164
- this.joinActionsWebHook = {
1165
- _path: "/svix-integration",
1166
- update: async (id, body) => {
1167
- let res = await this._update(
1168
- this.svAPIEndpoint,
1169
- this.joinActionsWebHook._path,
1170
- body,
1171
- );
1172
- return res;
1173
- },
1174
- };
1175
- this.patchAction = {
1176
- _path: "/patch-action",
1177
- create: async (body, params) => {
1178
- const res = await this._create(
1179
- this.svAPIEndpoint,
1180
- this.patchAction._path,
1181
- body,
1182
- params,
1183
- );
1184
- return res;
1185
- },
1186
- update: async (body) => {
1187
- const res = await this._update(
1188
- this.svAPIEndpoint,
1189
- this.patchAction._path,
1190
- body,
1191
- );
1192
- return res;
1193
- },
1194
- };
1195
- this.updateIntegrationMeta = {
1196
- _path: "/update-integration-meta",
1197
- create: async (body, params) => {
1198
- let res = await this._create(
1199
- this.svAPIEndpoint,
1200
- this.updateIntegrationMeta._path,
1201
- body,
1202
- params,
1203
- );
1204
- return res;
1205
- },
1206
- };
1207
- this.svAPIEndpoint =
1208
- !options?.env || options?.env == "production"
1209
- ? "https://sv.api.repzo.me"
1210
- : options?.env == "staging"
1211
- ? "https://staging.sv.api.repzo.me"
1212
- : options?.env == "local"
1213
- ? "http://localhost:3030"
1214
- : "";
1215
- this.headers = {
1216
- "api-key": apiKey,
1217
- "Content-Type": "application/json",
1218
- Accept: "application/json",
1219
- };
1220
- if (options?.headers) Object.assign(this.headers, options.headers);
1221
- }
1222
- async _fetch(baseUrl, path, params) {
1223
- let res = await axios.get(baseUrl + path, {
1224
- params,
1225
- headers: this.headers,
1226
- });
1227
- return res.data;
1228
- }
1229
- async _create(baseUrl, path, body, params) {
1230
- let res = await axios.post(baseUrl + path, body, {
1231
- params,
1232
- headers: this.headers,
1233
- });
1234
- return res.data;
1235
- }
1236
- async _update(baseUrl, path, body, params) {
1237
- let res = await axios.put(baseUrl + path, body, {
1238
- params,
1239
- headers: this.headers,
1240
- });
1241
- return res.data;
1242
- }
1243
- async _delete(baseUrl, path, params) {
1244
- let res = await axios.delete(baseUrl + path, {
1245
- params,
1246
- headers: this.headers,
1247
- });
1248
- return res.data;
1249
- }
1250
- }
1251
- Repzo.ActionLogs = class {
1252
- constructor(superThis, sync_id) {
1253
- this.superThis = superThis;
1254
- this._path = "/integration-action-log";
1255
- this.available_app_name = "";
1256
- this.available_app_id = "";
1257
- this.app_id = "";
1258
- this.action = "";
1259
- this.start_time = Date.now();
1260
- this.status = "processing";
1261
- this.message = "Log Created";
1262
- this.details = [];
1263
- this.sync_id = sync_id;
1264
- this.isOld = true;
1265
- }
1266
- async load(sync_id) {
1267
- const params = { sync_id: sync_id };
1268
- const res = await this.superThis._fetch(
1269
- this.superThis.svAPIEndpoint,
1270
- this._path,
1271
- params,
1272
- );
1273
- if (!res?.data?.length)
1274
- throw new Error(`Action Log Not found, sync_id: ${sync_id}`);
1275
- const action_log = res.data[0];
1276
- this.sync_id = sync_id;
1277
- this.details = action_log.details;
1278
- this.status = action_log.status;
1279
- this.error = action_log.error;
1280
- this.start_time = action_log.start_time;
1281
- this.body = action_log.body;
1282
- this.meta = action_log.meta;
1283
- this.message = action_log.message;
1284
- this.app_id = action_log.app_id;
1285
- this.available_app_id = action_log.available_app_id;
1286
- this.available_app_name = action_log.available_app_name;
1287
- this.company_namespace = action_log.company_namespace;
1288
- this.action = action_log.action;
1289
- this.isOld = true;
1290
- return this;
1291
- }
1292
- setStatus(status, error) {
1293
- this.details.push({
1294
- timestamp: Date.now(),
1295
- content: `status was changed from ${this.status} to ${status}`,
1296
- });
1297
- this.status = status;
1298
- if (error) {
1299
- if (typeof error == "string") {
1300
- this.error = { message: error };
1301
- } else if (error.message || error.response?.data) {
1302
- this.error = {
1303
- // json: error.toJSON ? error.toJSON() : undefined,
1304
- message: error.message,
1305
- responseData: error.response?.data,
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.paymentTerm = {
402
+ _path: "/paymentterms",
403
+ find: async (params) => {
404
+ let res = await this._fetch(this.svAPIEndpoint, this.paymentTerm._path, params);
405
+ return res;
406
+ },
407
+ get: async (id) => {
408
+ return await this._fetch(this.svAPIEndpoint, this.paymentTerm._path + `/${id}`);
409
+ },
410
+ create: async (body) => {
411
+ let res = await this._create(this.svAPIEndpoint, this.paymentTerm._path, body);
412
+ return res;
413
+ },
414
+ update: async (id, body) => {
415
+ let res = await this._update(this.svAPIEndpoint, this.paymentTerm._path + `/${id}`, body);
416
+ return res;
417
+ },
418
+ remove: async (id) => {
419
+ let res = await this._delete(this.svAPIEndpoint, this.paymentTerm._path + `/${id}`);
420
+ return res;
421
+ },
422
+ };
423
+ this.bank = {
424
+ _path: "/banks",
425
+ find: async (params) => {
426
+ let res = await this._fetch(this.svAPIEndpoint, this.bank._path, params);
427
+ return res;
428
+ },
429
+ get: async (id) => {
430
+ return await this._fetch(this.svAPIEndpoint, this.bank._path + `/${id}`);
431
+ },
432
+ create: async (body) => {
433
+ let res = await this._create(this.svAPIEndpoint, this.bank._path, body);
434
+ return res;
435
+ },
436
+ update: async (id, body) => {
437
+ let res = await this._update(this.svAPIEndpoint, this.bank._path + `/${id}`, body);
438
+ return res;
439
+ },
440
+ };
441
+ this.bank_list = {
442
+ _path: "/bankslists",
443
+ find: async (params) => {
444
+ let res = await this._fetch(this.svAPIEndpoint, this.bank_list._path, params);
445
+ return res;
446
+ },
447
+ get: async (id) => {
448
+ return await this._fetch(this.svAPIEndpoint, this.bank_list._path + `/${id}`);
449
+ },
450
+ create: async (body) => {
451
+ let res = await this._create(this.svAPIEndpoint, this.bank_list._path, body);
452
+ return res;
453
+ },
454
+ update: async (id, body) => {
455
+ let res = await this._update(this.svAPIEndpoint, this.bank_list._path + `/${id}`, body);
456
+ return res;
457
+ },
458
+ };
459
+ this.customStatus = {
460
+ _path: "/custom-status",
461
+ find: async (params) => {
462
+ let res = await this._fetch(this.svAPIEndpoint, this.customStatus._path, params);
463
+ return res;
464
+ },
465
+ get: async (id) => {
466
+ return await this._fetch(this.svAPIEndpoint, this.customStatus._path + `/${id}`);
467
+ },
468
+ create: async (body) => {
469
+ let res = await this._create(this.svAPIEndpoint, this.customStatus._path, body);
470
+ return res;
471
+ },
472
+ update: async (id, body) => {
473
+ let res = await this._update(this.svAPIEndpoint, this.customStatus._path + `/${id}`, body);
474
+ return res;
475
+ },
476
+ remove: async (id) => {
477
+ let res = await this._delete(this.svAPIEndpoint, this.customStatus._path + `/${id}`);
478
+ return res;
479
+ },
480
+ };
481
+ this.workorder = {
482
+ _path: "/workorder",
483
+ find: async (params) => {
484
+ let res = await this._fetch(this.svAPIEndpoint, this.workorder._path, params);
485
+ return res;
486
+ },
487
+ get: async (id, params) => {
488
+ return await this._fetch(this.svAPIEndpoint, this.workorder._path + `/${id}`, params);
489
+ },
490
+ };
491
+ this.quickConvertToPdf = {
492
+ _path: "/quick-convert-to-pdf",
493
+ find: async (params) => {
494
+ let res = await this._fetch(this.svAPIEndpoint, this.quickConvertToPdf._path, params);
495
+ return res;
496
+ },
497
+ get: async (id, params) => {
498
+ return await this._fetch(this.svAPIEndpoint, this.quickConvertToPdf._path + `/${id}`, params);
499
+ },
500
+ create: async (body) => {
501
+ let res = await this._create(this.svAPIEndpoint, this.quickConvertToPdf._path, body);
502
+ return res;
503
+ },
504
+ remove: async (id) => {
505
+ let res = await this._delete(this.svAPIEndpoint, this.quickConvertToPdf._path + `/${id}`);
506
+ return res;
507
+ },
508
+ };
509
+ this.visit = {
510
+ _path: "/visit",
511
+ find: async (params) => {
512
+ let res = await this._fetch(this.svAPIEndpoint, this.visit._path, params);
513
+ return res;
514
+ },
515
+ get: async (id, params) => {
516
+ return await this._fetch(this.svAPIEndpoint, this.visit._path + `/${id}`, params);
517
+ },
518
+ create: async (body) => {
519
+ let res = await this._create(this.svAPIEndpoint, this.visit._path, body);
520
+ return res;
521
+ },
522
+ update: async (id, body) => {
523
+ let res = await this._update(this.svAPIEndpoint, this.visit._path + `/${id}`, body);
524
+ return res;
525
+ },
526
+ };
527
+ this.invoice = {
528
+ _path: "/fullinvoices",
529
+ find: async (params) => {
530
+ let res = await this._fetch(this.svAPIEndpoint, this.invoice._path, params);
531
+ return res;
532
+ },
533
+ get: async (id, params) => {
534
+ return await this._fetch(this.svAPIEndpoint, this.invoice._path + `/${id}`, params);
535
+ },
536
+ create: async (body) => {
537
+ let res = await this._create(this.svAPIEndpoint, this.invoice._path, body);
538
+ return res;
539
+ },
540
+ update: async (id, body) => {
541
+ let res = await this._update(this.svAPIEndpoint, this.invoice._path + `/${id}`, body);
542
+ return res;
543
+ },
544
+ };
545
+ this.proforma = {
546
+ _path: "/proforma",
547
+ find: async (params) => {
548
+ let res = await this._fetch(this.svAPIEndpoint, this.proforma._path, params);
549
+ return res;
550
+ },
551
+ get: async (id, params) => {
552
+ return await this._fetch(this.svAPIEndpoint, this.proforma._path + `/${id}`, params);
553
+ },
554
+ create: async (body) => {
555
+ let res = await this._create(this.svAPIEndpoint, this.proforma._path, body);
556
+ return res;
557
+ },
558
+ update: async (id, body) => {
559
+ let res = await this._update(this.svAPIEndpoint, this.proforma._path + `/${id}`, body);
560
+ return res;
561
+ },
562
+ };
563
+ this.payment = {
564
+ _path: "/payments",
565
+ find: async (params) => {
566
+ let res = await this._fetch(this.svAPIEndpoint, this.payment._path, params);
567
+ return res;
568
+ },
569
+ get: async (id, params) => {
570
+ return await this._fetch(this.svAPIEndpoint, this.payment._path + `/${id}`, params);
571
+ },
572
+ create: async (body) => {
573
+ let res = await this._create(this.svAPIEndpoint, this.payment._path, body);
574
+ return res;
575
+ },
576
+ update: async (id, body) => {
577
+ let res = await this._update(this.svAPIEndpoint, this.payment._path + `/${id}`, body);
578
+ return res;
579
+ },
580
+ };
581
+ this.refund = {
582
+ _path: "/refund",
583
+ find: async (params) => {
584
+ let res = await this._fetch(this.svAPIEndpoint, this.refund._path, params);
585
+ return res;
586
+ },
587
+ get: async (id, params) => {
588
+ return await this._fetch(this.svAPIEndpoint, this.refund._path + `/${id}`, params);
589
+ },
590
+ create: async (body) => {
591
+ let res = await this._create(this.svAPIEndpoint, this.refund._path, body);
592
+ return res;
593
+ },
594
+ update: async (id, body) => {
595
+ let res = await this._update(this.svAPIEndpoint, this.refund._path + `/${id}`, body);
596
+ return res;
597
+ },
598
+ };
599
+ this.transfer = {
600
+ _path: "/transfer",
601
+ find: async (params) => {
602
+ let res = await this._fetch(this.svAPIEndpoint, this.transfer._path, params);
603
+ return res;
604
+ },
605
+ get: async (id, params) => {
606
+ return await this._fetch(this.svAPIEndpoint, this.transfer._path + `/${id}`, params);
607
+ },
608
+ create: async (body) => {
609
+ let res = await this._create(this.svAPIEndpoint, this.transfer._path, body);
610
+ return res;
611
+ },
612
+ update: async (id, body) => {
613
+ let res = await this._update(this.svAPIEndpoint, this.transfer._path + `/${id}`, body);
614
+ return res;
615
+ },
616
+ };
617
+ this.adjustInventory = {
618
+ _path: "/adjust-inventory",
619
+ find: async (params) => {
620
+ let res = await this._fetch(this.svAPIEndpoint, this.adjustInventory._path, params);
621
+ return res;
622
+ },
623
+ get: async (id, params) => {
624
+ return await this._fetch(this.svAPIEndpoint, this.adjustInventory._path + `/${id}`, params);
625
+ },
626
+ create: async (body) => {
627
+ let res = await this._create(this.svAPIEndpoint, this.adjustInventory._path, body);
628
+ return res;
629
+ },
1306
630
  };
1307
- } else {
1308
- this.error = error;
1309
- }
1310
- return this;
631
+ this.inventory = {
632
+ _path: "/inventory",
633
+ find: async (params) => {
634
+ let res = await this._fetch(this.svAPIEndpoint, this.inventory._path, params);
635
+ return res;
636
+ },
637
+ };
638
+ this.integrationApp = {
639
+ _path: "/integration-app",
640
+ find: async (params) => {
641
+ let res = await this._fetch(this.svAPIEndpoint, this.integrationApp._path, params);
642
+ return res;
643
+ },
644
+ get: async (id, params) => {
645
+ return await this._fetch(this.svAPIEndpoint, this.integrationApp._path + `/${id}`, params);
646
+ },
647
+ create: async (body) => {
648
+ let res = await this._create(this.svAPIEndpoint, this.integrationApp._path, body);
649
+ return res;
650
+ },
651
+ update: async (id, body) => {
652
+ let res = await this._update(this.svAPIEndpoint, this.integrationApp._path + `/${id}`, body);
653
+ return res;
654
+ },
655
+ };
656
+ this.joinActionsWebHook = {
657
+ _path: "/svix-integration",
658
+ update: async (id, body) => {
659
+ let res = await this._update(this.svAPIEndpoint, this.joinActionsWebHook._path, body);
660
+ return res;
661
+ },
662
+ };
663
+ this.patchAction = {
664
+ _path: "/patch-action",
665
+ create: async (body, params) => {
666
+ const res = await this._create(this.svAPIEndpoint, this.patchAction._path, body, params);
667
+ return res;
668
+ },
669
+ update: async (body) => {
670
+ const res = await this._update(this.svAPIEndpoint, this.patchAction._path, body);
671
+ return res;
672
+ },
673
+ };
674
+ this.updateIntegrationMeta = {
675
+ _path: "/update-integration-meta",
676
+ create: async (body, params) => {
677
+ let res = await this._create(this.svAPIEndpoint, this.updateIntegrationMeta._path, body, params);
678
+ return res;
679
+ },
680
+ };
681
+ this.svAPIEndpoint =
682
+ !options?.env || options?.env == "production"
683
+ ? "https://sv.api.repzo.me"
684
+ : options?.env == "staging"
685
+ ? "https://staging.sv.api.repzo.me"
686
+ : options?.env == "local"
687
+ ? "http://localhost:3030"
688
+ : "";
689
+ this.headers = {
690
+ "api-key": apiKey,
691
+ "Content-Type": "application/json",
692
+ Accept: "application/json",
693
+ };
694
+ if (options?.headers)
695
+ Object.assign(this.headers, options.headers);
1311
696
  }
1312
- return this;
1313
- }
1314
- setBody(body) {
1315
- this.body = body;
1316
- return this;
1317
- }
1318
- setMeta(meta) {
1319
- this.meta = meta;
1320
- return this;
1321
- }
1322
- async commit() {
1323
- let doc = {
1324
- available_app_name: this.available_app_name,
1325
- available_app_id: this.available_app_id,
1326
- app_id: this.app_id,
1327
- action: this.action,
1328
- company_namespace: this.company_namespace,
1329
- status: this.status,
1330
- error: this.error ? this.error : undefined,
1331
- start_time: this.start_time,
1332
- end_time: Date.now(),
1333
- total_time: Date.now() - this.start_time,
1334
- body: this.body,
1335
- meta: this.meta,
1336
- message: this.message,
1337
- details: this.details,
1338
- sync_id: this.sync_id,
1339
- };
1340
- try {
1341
- const res = await this.superThis._create(
1342
- this.superThis.svAPIEndpoint,
1343
- this._path,
1344
- doc,
1345
- );
1346
- } catch (e) {
1347
- console.error(e);
697
+ async _fetch(baseUrl, path, params) {
698
+ let res = await axios.get(baseUrl + path, {
699
+ params,
700
+ headers: this.headers,
701
+ });
702
+ return res.data;
1348
703
  }
1349
- return this;
1350
- }
1351
- addDetail(detail, meta) {
1352
- let d = {
1353
- timestamp: Date.now(),
1354
- content: detail,
1355
- };
1356
- this.message = detail;
1357
- if (meta) d.meta = meta;
1358
- this.details.push(d);
1359
- return this;
1360
- }
1361
- };
1362
- Repzo.CommandLog = class {
1363
- constructor(superThis, app, command, trigger) {
1364
- this.superThis = superThis;
1365
- this._path = "/integration-command-log";
1366
- this.app_id = app._id;
1367
- this.available_app_id = app.available_app._id;
1368
- this.available_app_name = app.available_app.name;
1369
- this.company_namespace = app.company_namespace;
1370
- this.start_time = Date.now();
1371
- this.status = "received";
1372
- this.message = "Request received";
1373
- this.command = command;
1374
- this.details = [{ timestamp: Date.now(), content: "Request received" }];
1375
- this.sync_id = uuid();
1376
- this.isOld = false;
1377
- this.isPrioritized = false;
1378
- this.retries = 1;
1379
- this.trigger = trigger;
1380
- this.onGoing = true;
1381
- }
1382
- async load(sync_id, retries) {
1383
- if (sync_id) {
1384
- const params = { sync_id: sync_id };
1385
- const res = await this.superThis._fetch(
1386
- this.superThis.svAPIEndpoint,
1387
- this._path,
1388
- params,
1389
- );
1390
- if (!res?.data?.length)
1391
- throw new Error(`Command Log Not found, sync_id: ${sync_id}`);
1392
- const command_log = res.data[0];
1393
- if (command_log) {
704
+ async _create(baseUrl, path, body, params) {
705
+ let res = await axios.post(baseUrl + path, body, {
706
+ params,
707
+ headers: this.headers,
708
+ });
709
+ return res.data;
710
+ }
711
+ async _update(baseUrl, path, body, params) {
712
+ let res = await axios.put(baseUrl + path, body, {
713
+ params,
714
+ headers: this.headers,
715
+ });
716
+ return res.data;
717
+ }
718
+ async _delete(baseUrl, path, params) {
719
+ let res = await axios.delete(baseUrl + path, {
720
+ params,
721
+ headers: this.headers,
722
+ });
723
+ return res.data;
724
+ }
725
+ }
726
+ Repzo.ActionLogs = class {
727
+ constructor(superThis, sync_id) {
728
+ this.superThis = superThis;
729
+ this._path = "/integration-action-log";
730
+ this.available_app_name = "";
731
+ this.available_app_id = "";
732
+ this.app_id = "";
733
+ this.action = "";
734
+ this.start_time = Date.now();
735
+ this.status = "processing";
736
+ this.message = "Log Created";
737
+ this.details = [];
738
+ this.sync_id = sync_id;
739
+ this.isOld = true;
740
+ }
741
+ async load(sync_id) {
742
+ const params = { sync_id: sync_id };
743
+ const res = await this.superThis._fetch(this.superThis.svAPIEndpoint, this._path, params);
744
+ if (!res?.data?.length)
745
+ throw new Error(`Action Log Not found, sync_id: ${sync_id}`);
746
+ const action_log = res.data[0];
1394
747
  this.sync_id = sync_id;
1395
- this.details = command_log.details;
1396
- this.status = command_log.status;
1397
- this.error = command_log.error;
1398
- this.start_time = command_log.start_time;
1399
- this.body = command_log.body;
1400
- this.meta = command_log.meta;
1401
- this.message = command_log.message;
1402
- this.retries =
1403
- retries !== undefined ? retries : command_log.retries || this.retries; // retries !== undefined ? retries : command_log.retries;
748
+ this.details = action_log.details;
749
+ this.status = action_log.status;
750
+ this.error = action_log.error;
751
+ this.start_time = action_log.start_time;
752
+ this.body = action_log.body;
753
+ this.meta = action_log.meta;
754
+ this.message = action_log.message;
755
+ this.app_id = action_log.app_id;
756
+ this.available_app_id = action_log.available_app_id;
757
+ this.available_app_name = action_log.available_app_name;
758
+ this.company_namespace = action_log.company_namespace;
759
+ this.action = action_log.action;
1404
760
  this.isOld = true;
1405
- this.failedAt = command_log.failedAt;
1406
- this.succeededAt = command_log.succeededAt;
1407
- this.skippedAt = command_log.skippedAt;
1408
- this.receivedAt = command_log.receivedAt;
1409
- this.processedAt = command_log.processedAt;
1410
- this.onGoing = command_log.onGoing || false;
1411
- this.trigger = command_log.trigger;
1412
- // this.priority = command_log.priority
1413
- // ? command_log.priority
1414
- // : this.priority
1415
- // ? this.priority
1416
- // : undefined;
1417
- }
761
+ return this;
1418
762
  }
1419
- return this;
1420
- }
1421
- setStatus(status, error) {
1422
- this.addDetail(`status was changed from ${this.status} to ${status}`);
1423
- this.status = status;
1424
- if (error) {
1425
- if (typeof error == "string") {
1426
- this.error = { message: error };
1427
- } else if (error.message || error.response?.data) {
1428
- this.error = {
1429
- // json: error.toJSON ? error.toJSON() : undefined,
1430
- message: error.message,
1431
- responseData: error.response?.data,
763
+ setStatus(status, error) {
764
+ this.details.push({
765
+ timestamp: Date.now(),
766
+ content: `status was changed from ${this.status} to ${status}`,
767
+ });
768
+ this.status = status;
769
+ if (error) {
770
+ if (typeof error == "string") {
771
+ this.error = { message: error };
772
+ }
773
+ else if (error.message || error.response?.data) {
774
+ this.error = {
775
+ // json: error.toJSON ? error.toJSON() : undefined,
776
+ message: error.message,
777
+ responseData: error.response?.data,
778
+ };
779
+ }
780
+ else {
781
+ this.error = error;
782
+ }
783
+ return this;
784
+ }
785
+ return this;
786
+ }
787
+ setBody(body) {
788
+ this.body = body;
789
+ return this;
790
+ }
791
+ setMeta(meta) {
792
+ this.meta = meta;
793
+ return this;
794
+ }
795
+ async commit() {
796
+ let doc = {
797
+ available_app_name: this.available_app_name,
798
+ available_app_id: this.available_app_id,
799
+ app_id: this.app_id,
800
+ action: this.action,
801
+ company_namespace: this.company_namespace,
802
+ status: this.status,
803
+ error: this.error ? this.error : undefined,
804
+ start_time: this.start_time,
805
+ end_time: Date.now(),
806
+ total_time: Date.now() - this.start_time,
807
+ body: this.body,
808
+ meta: this.meta,
809
+ message: this.message,
810
+ details: this.details,
811
+ sync_id: this.sync_id,
1432
812
  };
1433
- } else {
1434
- this.error = error;
1435
- }
1436
- return this;
813
+ try {
814
+ const res = await this.superThis._create(this.superThis.svAPIEndpoint, this._path, doc);
815
+ }
816
+ catch (e) {
817
+ console.error(e);
818
+ }
819
+ return this;
1437
820
  }
1438
- switch (status) {
1439
- case "fail":
1440
- this.failedAt = new Date();
1441
- this.onGoing = false;
1442
- break;
1443
- case "processing":
1444
- this.processedAt = new Date();
1445
- this.onGoing = true;
1446
- break;
1447
- case "queued":
1448
- this.queuedAt = new Date();
1449
- this.onGoing = true;
1450
- break;
1451
- case "received":
1452
- this.receivedAt = new Date();
821
+ addDetail(detail, meta) {
822
+ let d = {
823
+ timestamp: Date.now(),
824
+ content: detail,
825
+ };
826
+ this.message = detail;
827
+ if (meta)
828
+ d.meta = meta;
829
+ this.details.push(d);
830
+ return this;
831
+ }
832
+ };
833
+ Repzo.CommandLog = class {
834
+ constructor(superThis, app, command, trigger) {
835
+ this.superThis = superThis;
836
+ this._path = "/integration-command-log";
837
+ this.app_id = app._id;
838
+ this.available_app_id = app.available_app._id;
839
+ this.available_app_name = app.available_app.name;
840
+ this.company_namespace = app.company_namespace;
841
+ this.start_time = Date.now();
842
+ this.status = "received";
843
+ this.message = "Request received";
844
+ this.command = command;
845
+ this.details = [{ timestamp: Date.now(), content: "Request received" }];
846
+ this.sync_id = uuid();
847
+ this.isOld = false;
848
+ this.isPrioritized = false;
849
+ this.retries = 1;
850
+ this.trigger = trigger;
1453
851
  this.onGoing = true;
1454
- break;
1455
- case "skipped":
1456
- this.skippedAt = new Date();
1457
- this.onGoing = false;
1458
- break;
1459
- case "success":
1460
- this.succeededAt = new Date();
1461
- this.onGoing = false;
1462
- break;
1463
852
  }
1464
- return this;
1465
- }
1466
- setBody(body) {
1467
- this.body = body;
1468
- return this;
1469
- }
1470
- setMeta(meta) {
1471
- this.meta = meta;
1472
- return this;
1473
- }
1474
- async commit() {
1475
- let doc = {
1476
- available_app_name: this.available_app_name,
1477
- available_app_id: this.available_app_id,
1478
- app_id: this.app_id,
1479
- command: this.command,
1480
- status: this.status,
1481
- error: this.error ? this.error : undefined,
1482
- start_time: this.start_time,
1483
- end_time: Date.now(),
1484
- total_time: Date.now() - this.start_time,
1485
- company_namespace: this.company_namespace,
1486
- body: this.body,
1487
- meta: this.meta,
1488
- message: this.message,
1489
- details: this.details,
1490
- sync_id: this.sync_id,
1491
- // priority: this.priority ? this.priority : undefined,
1492
- queuedAt: this.queuedAt ? this.queuedAt : undefined,
1493
- failedAt: this.failedAt ? this.failedAt : undefined,
1494
- succeededAt: this.succeededAt ? this.succeededAt : undefined,
1495
- skippedAt: this.skippedAt ? this.skippedAt : undefined,
1496
- receivedAt: this.receivedAt ? this.receivedAt : undefined,
1497
- processedAt: this.processedAt ? this.processedAt : undefined,
1498
- onGoing: this.onGoing !== undefined ? this.onGoing : undefined,
1499
- retries: this.retries !== undefined ? this.retries : undefined,
1500
- trigger: this.trigger,
1501
- };
1502
- try {
1503
- const res = await this.superThis._create(
1504
- this.superThis.svAPIEndpoint,
1505
- this._path,
1506
- doc,
1507
- );
1508
- this.isOld = true;
1509
- } catch (e) {
1510
- console.error(e);
853
+ async load(sync_id, retries) {
854
+ if (sync_id) {
855
+ const params = { sync_id: sync_id };
856
+ const res = await this.superThis._fetch(this.superThis.svAPIEndpoint, this._path, params);
857
+ if (!res?.data?.length)
858
+ throw new Error(`Command Log Not found, sync_id: ${sync_id}`);
859
+ const command_log = res.data[0];
860
+ if (command_log) {
861
+ this.sync_id = sync_id;
862
+ this.details = command_log.details;
863
+ this.status = command_log.status;
864
+ this.error = command_log.error;
865
+ this.start_time = command_log.start_time;
866
+ this.body = command_log.body;
867
+ this.meta = command_log.meta;
868
+ this.message = command_log.message;
869
+ this.retries =
870
+ retries !== undefined
871
+ ? retries
872
+ : command_log.retries || this.retries; // retries !== undefined ? retries : command_log.retries;
873
+ this.isOld = true;
874
+ this.failedAt = command_log.failedAt;
875
+ this.succeededAt = command_log.succeededAt;
876
+ this.skippedAt = command_log.skippedAt;
877
+ this.receivedAt = command_log.receivedAt;
878
+ this.processedAt = command_log.processedAt;
879
+ this.onGoing = command_log.onGoing || false;
880
+ this.trigger = command_log.trigger;
881
+ // this.priority = command_log.priority
882
+ // ? command_log.priority
883
+ // : this.priority
884
+ // ? this.priority
885
+ // : undefined;
886
+ }
887
+ }
888
+ return this;
889
+ }
890
+ setStatus(status, error) {
891
+ this.addDetail(`status was changed from ${this.status} to ${status}`);
892
+ this.status = status;
893
+ if (error) {
894
+ if (typeof error == "string") {
895
+ this.error = { message: error };
896
+ }
897
+ else if (error.message || error.response?.data) {
898
+ this.error = {
899
+ // json: error.toJSON ? error.toJSON() : undefined,
900
+ message: error.message,
901
+ responseData: error.response?.data,
902
+ };
903
+ }
904
+ else {
905
+ this.error = error;
906
+ }
907
+ return this;
908
+ }
909
+ switch (status) {
910
+ case "fail":
911
+ this.failedAt = new Date();
912
+ this.onGoing = false;
913
+ break;
914
+ case "processing":
915
+ this.processedAt = new Date();
916
+ this.onGoing = true;
917
+ break;
918
+ case "queued":
919
+ this.queuedAt = new Date();
920
+ this.onGoing = true;
921
+ break;
922
+ case "received":
923
+ this.receivedAt = new Date();
924
+ this.onGoing = true;
925
+ break;
926
+ case "skipped":
927
+ this.skippedAt = new Date();
928
+ this.onGoing = false;
929
+ break;
930
+ case "success":
931
+ this.succeededAt = new Date();
932
+ this.onGoing = false;
933
+ break;
934
+ }
935
+ return this;
936
+ }
937
+ setBody(body) {
938
+ this.body = body;
939
+ return this;
940
+ }
941
+ setMeta(meta) {
942
+ this.meta = meta;
943
+ return this;
944
+ }
945
+ async commit() {
946
+ let doc = {
947
+ available_app_name: this.available_app_name,
948
+ available_app_id: this.available_app_id,
949
+ app_id: this.app_id,
950
+ command: this.command,
951
+ status: this.status,
952
+ error: this.error ? this.error : undefined,
953
+ start_time: this.start_time,
954
+ end_time: Date.now(),
955
+ total_time: Date.now() - this.start_time,
956
+ company_namespace: this.company_namespace,
957
+ body: this.body,
958
+ meta: this.meta,
959
+ message: this.message,
960
+ details: this.details,
961
+ sync_id: this.sync_id,
962
+ // priority: this.priority ? this.priority : undefined,
963
+ queuedAt: this.queuedAt ? this.queuedAt : undefined,
964
+ failedAt: this.failedAt ? this.failedAt : undefined,
965
+ succeededAt: this.succeededAt ? this.succeededAt : undefined,
966
+ skippedAt: this.skippedAt ? this.skippedAt : undefined,
967
+ receivedAt: this.receivedAt ? this.receivedAt : undefined,
968
+ processedAt: this.processedAt ? this.processedAt : undefined,
969
+ onGoing: this.onGoing !== undefined ? this.onGoing : undefined,
970
+ retries: this.retries !== undefined ? this.retries : undefined,
971
+ trigger: this.trigger,
972
+ };
973
+ try {
974
+ const res = await this.superThis._create(this.superThis.svAPIEndpoint, this._path, doc);
975
+ this.isOld = true;
976
+ }
977
+ catch (e) {
978
+ console.error(e);
979
+ }
980
+ return this;
981
+ }
982
+ addDetail(detail, meta) {
983
+ let d = {
984
+ timestamp: Date.now(),
985
+ content: detail,
986
+ };
987
+ this.message = detail;
988
+ if (meta)
989
+ d.meta = meta;
990
+ this.details.push(d);
991
+ return this;
1511
992
  }
1512
- return this;
1513
- }
1514
- addDetail(detail, meta) {
1515
- let d = {
1516
- timestamp: Date.now(),
1517
- content: detail,
1518
- };
1519
- this.message = detail;
1520
- if (meta) d.meta = meta;
1521
- this.details.push(d);
1522
- return this;
1523
- }
1524
993
  };