repzo 1.0.46 → 1.0.47

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,1644 +1,1103 @@
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.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
- }
1370
- }
1371
- Repzo.ActionLogs = class {
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,
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.returnReason = {
314
+ _path: "/return-reason",
315
+ find: async (params) => {
316
+ let res = await this._fetch(this.svAPIEndpoint, this.returnReason._path, params);
317
+ return res;
318
+ },
319
+ get: async (id) => {
320
+ return await this._fetch(this.svAPIEndpoint, this.returnReason._path + `/${id}`);
321
+ },
322
+ create: async (body) => {
323
+ let res = await this._create(this.svAPIEndpoint, this.returnReason._path, body);
324
+ return res;
325
+ },
326
+ update: async (id, body) => {
327
+ let res = await this._update(this.svAPIEndpoint, this.returnReason._path + `/${id}`, body);
328
+ return res;
329
+ },
330
+ remove: async (id) => {
331
+ let res = await this._delete(this.svAPIEndpoint, this.returnReason._path + `/${id}`);
332
+ return res;
333
+ },
334
+ };
335
+ this.rep = {
336
+ _path: "/rep",
337
+ find: async (params) => {
338
+ let res = await this._fetch(this.svAPIEndpoint, this.rep._path, params);
339
+ return res;
340
+ },
341
+ get: async (id, params) => {
342
+ return await this._fetch(this.svAPIEndpoint, this.rep._path + `/${id}`, params);
343
+ },
344
+ create: async (body) => {
345
+ let res = await this._create(this.svAPIEndpoint, this.rep._path, body);
346
+ return res;
347
+ },
348
+ update: async (id, body) => {
349
+ let res = await this._update(this.svAPIEndpoint, this.rep._path + `/${id}`, body);
350
+ return res;
351
+ },
352
+ remove: async (id) => {
353
+ let res = await this._delete(this.svAPIEndpoint, this.rep._path + `/${id}`);
354
+ return res;
355
+ },
356
+ };
357
+ this.tag = {
358
+ _path: "/tag",
359
+ find: async (params) => {
360
+ let res = await this._fetch(this.svAPIEndpoint, this.tag._path, params);
361
+ return res;
362
+ },
363
+ get: async (id) => {
364
+ return await this._fetch(this.svAPIEndpoint, this.tag._path + `/${id}`);
365
+ },
366
+ create: async (body) => {
367
+ let res = await this._create(this.svAPIEndpoint, this.tag._path, body);
368
+ return res;
369
+ },
370
+ update: async (id, body) => {
371
+ let res = await this._update(this.svAPIEndpoint, this.tag._path + `/${id}`, body);
372
+ return res;
373
+ },
374
+ remove: async (id) => {
375
+ let res = await this._delete(this.svAPIEndpoint, this.tag._path + `/${id}`);
376
+ return res;
377
+ },
378
+ };
379
+ this.warehouse = {
380
+ _path: "/warehouse",
381
+ find: async (params) => {
382
+ let res = await this._fetch(this.svAPIEndpoint, this.warehouse._path, params);
383
+ return res;
384
+ },
385
+ get: async (id) => {
386
+ return await this._fetch(this.svAPIEndpoint, this.warehouse._path + `/${id}`);
387
+ },
388
+ create: async (body) => {
389
+ let res = await this._create(this.svAPIEndpoint, this.warehouse._path, body);
390
+ return res;
391
+ },
392
+ update: async (id, body) => {
393
+ let res = await this._update(this.svAPIEndpoint, this.warehouse._path + `/${id}`, body);
394
+ return res;
395
+ },
396
+ remove: async (id) => {
397
+ let res = await this._delete(this.svAPIEndpoint, this.warehouse._path + `/${id}`);
398
+ return res;
399
+ },
400
+ };
401
+ this.route = {
402
+ _path: "/route",
403
+ find: async (params) => {
404
+ let res = await this._fetch(this.svAPIEndpoint, this.route._path, params);
405
+ return res;
406
+ },
407
+ get: async (id) => {
408
+ return await this._fetch(this.svAPIEndpoint, this.route._path + `/${id}`);
409
+ },
410
+ create: async (body) => {
411
+ let res = await this._create(this.svAPIEndpoint, this.route._path, body);
412
+ return res;
413
+ },
414
+ update: async (id, body) => {
415
+ let res = await this._update(this.svAPIEndpoint, this.route._path + `/${id}`, body);
416
+ return res;
417
+ },
418
+ remove: async (id) => {
419
+ let res = await this._delete(this.svAPIEndpoint, this.route._path + `/${id}`);
420
+ return res;
421
+ },
422
+ };
423
+ this.productModifiersGroup = {
424
+ _path: "/product-modifiers-group",
425
+ find: async (params) => {
426
+ let res = await this._fetch(this.svAPIEndpoint, this.productModifiersGroup._path, params);
427
+ return res;
428
+ },
429
+ get: async (id) => {
430
+ return await this._fetch(this.svAPIEndpoint, this.productModifiersGroup._path + `/${id}`);
431
+ },
432
+ create: async (body) => {
433
+ let res = await this._create(this.svAPIEndpoint, this.productModifiersGroup._path, body);
434
+ return res;
435
+ },
436
+ update: async (id, body) => {
437
+ let res = await this._update(this.svAPIEndpoint, this.productModifiersGroup._path + `/${id}`, body);
438
+ return res;
439
+ },
440
+ remove: async (id) => {
441
+ let res = await this._delete(this.svAPIEndpoint, this.productModifiersGroup._path + `/${id}`);
442
+ return res;
443
+ },
444
+ };
445
+ this.channel = {
446
+ _path: "/client-channel",
447
+ find: async (params) => {
448
+ let res = await this._fetch(this.svAPIEndpoint, this.channel._path, params);
449
+ return res;
450
+ },
451
+ get: async (id) => {
452
+ return await this._fetch(this.svAPIEndpoint, this.channel._path + `/${id}`);
453
+ },
454
+ create: async (body) => {
455
+ let res = await this._create(this.svAPIEndpoint, this.channel._path, body);
456
+ return res;
457
+ },
458
+ update: async (id, body) => {
459
+ let res = await this._update(this.svAPIEndpoint, this.channel._path + `/${id}`, body);
460
+ return res;
461
+ },
462
+ remove: async (id) => {
463
+ let res = await this._delete(this.svAPIEndpoint, this.channel._path + `/${id}`);
464
+ return res;
465
+ },
466
+ };
467
+ this.speciality = {
468
+ _path: "/speciality",
469
+ find: async (params) => {
470
+ let res = await this._fetch(this.svAPIEndpoint, this.speciality._path, params);
471
+ return res;
472
+ },
473
+ get: async (id) => {
474
+ return await this._fetch(this.svAPIEndpoint, this.speciality._path + `/${id}`);
475
+ },
476
+ create: async (body) => {
477
+ let res = await this._create(this.svAPIEndpoint, this.speciality._path, body);
478
+ return res;
479
+ },
480
+ update: async (id, body) => {
481
+ let res = await this._update(this.svAPIEndpoint, this.speciality._path + `/${id}`, body);
482
+ return res;
483
+ },
484
+ remove: async (id) => {
485
+ let res = await this._delete(this.svAPIEndpoint, this.speciality._path + `/${id}`);
486
+ return res;
487
+ },
488
+ };
489
+ this.clientContact = {
490
+ _path: "/client-contact",
491
+ find: async (params) => {
492
+ let res = await this._fetch(this.svAPIEndpoint, this.clientContact._path, params);
493
+ return res;
494
+ },
495
+ get: async (id) => {
496
+ return await this._fetch(this.svAPIEndpoint, this.clientContact._path + `/${id}`);
497
+ },
498
+ create: async (body) => {
499
+ let res = await this._create(this.svAPIEndpoint, this.clientContact._path, body);
500
+ return res;
501
+ },
502
+ update: async (id, body) => {
503
+ let res = await this._update(this.svAPIEndpoint, this.clientContact._path + `/${id}`, body);
504
+ return res;
505
+ },
506
+ remove: async (id) => {
507
+ let res = await this._delete(this.svAPIEndpoint, this.clientContact._path + `/${id}`);
508
+ return res;
509
+ },
510
+ };
511
+ this.paymentTerm = {
512
+ _path: "/paymentterms",
513
+ find: async (params) => {
514
+ let res = await this._fetch(this.svAPIEndpoint, this.paymentTerm._path, params);
515
+ return res;
516
+ },
517
+ get: async (id) => {
518
+ return await this._fetch(this.svAPIEndpoint, this.paymentTerm._path + `/${id}`);
519
+ },
520
+ create: async (body) => {
521
+ let res = await this._create(this.svAPIEndpoint, this.paymentTerm._path, body);
522
+ return res;
523
+ },
524
+ update: async (id, body) => {
525
+ let res = await this._update(this.svAPIEndpoint, this.paymentTerm._path + `/${id}`, body);
526
+ return res;
527
+ },
528
+ remove: async (id) => {
529
+ let res = await this._delete(this.svAPIEndpoint, this.paymentTerm._path + `/${id}`);
530
+ return res;
531
+ },
532
+ };
533
+ this.bank = {
534
+ _path: "/banks",
535
+ find: async (params) => {
536
+ let res = await this._fetch(this.svAPIEndpoint, this.bank._path, params);
537
+ return res;
538
+ },
539
+ get: async (id) => {
540
+ return await this._fetch(this.svAPIEndpoint, this.bank._path + `/${id}`);
541
+ },
542
+ create: async (body) => {
543
+ let res = await this._create(this.svAPIEndpoint, this.bank._path, body);
544
+ return res;
545
+ },
546
+ update: async (id, body) => {
547
+ let res = await this._update(this.svAPIEndpoint, this.bank._path + `/${id}`, body);
548
+ return res;
549
+ },
550
+ };
551
+ this.bank_list = {
552
+ _path: "/bankslists",
553
+ find: async (params) => {
554
+ let res = await this._fetch(this.svAPIEndpoint, this.bank_list._path, params);
555
+ return res;
556
+ },
557
+ get: async (id) => {
558
+ return await this._fetch(this.svAPIEndpoint, this.bank_list._path + `/${id}`);
559
+ },
560
+ create: async (body) => {
561
+ let res = await this._create(this.svAPIEndpoint, this.bank_list._path, body);
562
+ return res;
563
+ },
564
+ update: async (id, body) => {
565
+ let res = await this._update(this.svAPIEndpoint, this.bank_list._path + `/${id}`, body);
566
+ return res;
567
+ },
568
+ };
569
+ this.customStatus = {
570
+ _path: "/custom-status",
571
+ find: async (params) => {
572
+ let res = await this._fetch(this.svAPIEndpoint, this.customStatus._path, params);
573
+ return res;
574
+ },
575
+ get: async (id) => {
576
+ return await this._fetch(this.svAPIEndpoint, this.customStatus._path + `/${id}`);
577
+ },
578
+ create: async (body) => {
579
+ let res = await this._create(this.svAPIEndpoint, this.customStatus._path, body);
580
+ return res;
581
+ },
582
+ update: async (id, body) => {
583
+ let res = await this._update(this.svAPIEndpoint, this.customStatus._path + `/${id}`, body);
584
+ return res;
585
+ },
586
+ remove: async (id) => {
587
+ let res = await this._delete(this.svAPIEndpoint, this.customStatus._path + `/${id}`);
588
+ return res;
589
+ },
590
+ };
591
+ this.workorder = {
592
+ _path: "/workorder",
593
+ find: async (params) => {
594
+ let res = await this._fetch(this.svAPIEndpoint, this.workorder._path, params);
595
+ return res;
596
+ },
597
+ get: async (id, params) => {
598
+ return await this._fetch(this.svAPIEndpoint, this.workorder._path + `/${id}`, params);
599
+ },
600
+ };
601
+ this.quickConvertToPdf = {
602
+ _path: "/quick-convert-to-pdf",
603
+ find: async (params) => {
604
+ let res = await this._fetch(this.svAPIEndpoint, this.quickConvertToPdf._path, params);
605
+ return res;
606
+ },
607
+ get: async (id, params) => {
608
+ return await this._fetch(this.svAPIEndpoint, this.quickConvertToPdf._path + `/${id}`, params);
609
+ },
610
+ create: async (body) => {
611
+ let res = await this._create(this.svAPIEndpoint, this.quickConvertToPdf._path, body);
612
+ return res;
613
+ },
614
+ remove: async (id) => {
615
+ let res = await this._delete(this.svAPIEndpoint, this.quickConvertToPdf._path + `/${id}`);
616
+ return res;
617
+ },
618
+ };
619
+ this.visit = {
620
+ _path: "/visit",
621
+ find: async (params) => {
622
+ let res = await this._fetch(this.svAPIEndpoint, this.visit._path, params);
623
+ return res;
624
+ },
625
+ get: async (id, params) => {
626
+ return await this._fetch(this.svAPIEndpoint, this.visit._path + `/${id}`, params);
627
+ },
628
+ create: async (body) => {
629
+ let res = await this._create(this.svAPIEndpoint, this.visit._path, body);
630
+ return res;
631
+ },
632
+ update: async (id, body) => {
633
+ let res = await this._update(this.svAPIEndpoint, this.visit._path + `/${id}`, body);
634
+ return res;
635
+ },
636
+ };
637
+ this.invoice = {
638
+ _path: "/fullinvoices",
639
+ find: async (params) => {
640
+ let res = await this._fetch(this.svAPIEndpoint, this.invoice._path, params);
641
+ return res;
642
+ },
643
+ get: async (id, params) => {
644
+ return await this._fetch(this.svAPIEndpoint, this.invoice._path + `/${id}`, params);
645
+ },
646
+ create: async (body) => {
647
+ let res = await this._create(this.svAPIEndpoint, this.invoice._path, body);
648
+ return res;
649
+ },
650
+ update: async (id, body) => {
651
+ let res = await this._update(this.svAPIEndpoint, this.invoice._path + `/${id}`, body);
652
+ return res;
653
+ },
654
+ };
655
+ this.proforma = {
656
+ _path: "/proforma",
657
+ find: async (params) => {
658
+ let res = await this._fetch(this.svAPIEndpoint, this.proforma._path, params);
659
+ return res;
660
+ },
661
+ get: async (id, params) => {
662
+ return await this._fetch(this.svAPIEndpoint, this.proforma._path + `/${id}`, params);
663
+ },
664
+ create: async (body) => {
665
+ let res = await this._create(this.svAPIEndpoint, this.proforma._path, body);
666
+ return res;
667
+ },
668
+ update: async (id, body) => {
669
+ let res = await this._update(this.svAPIEndpoint, this.proforma._path + `/${id}`, body);
670
+ return res;
671
+ },
672
+ };
673
+ this.payment = {
674
+ _path: "/payments",
675
+ find: async (params) => {
676
+ let res = await this._fetch(this.svAPIEndpoint, this.payment._path, params);
677
+ return res;
678
+ },
679
+ get: async (id, params) => {
680
+ return await this._fetch(this.svAPIEndpoint, this.payment._path + `/${id}`, params);
681
+ },
682
+ create: async (body) => {
683
+ let res = await this._create(this.svAPIEndpoint, this.payment._path, body);
684
+ return res;
685
+ },
686
+ update: async (id, body) => {
687
+ let res = await this._update(this.svAPIEndpoint, this.payment._path + `/${id}`, body);
688
+ return res;
689
+ },
690
+ };
691
+ this.refund = {
692
+ _path: "/refund",
693
+ find: async (params) => {
694
+ let res = await this._fetch(this.svAPIEndpoint, this.refund._path, params);
695
+ return res;
696
+ },
697
+ get: async (id, params) => {
698
+ return await this._fetch(this.svAPIEndpoint, this.refund._path + `/${id}`, params);
699
+ },
700
+ create: async (body) => {
701
+ let res = await this._create(this.svAPIEndpoint, this.refund._path, body);
702
+ return res;
703
+ },
704
+ update: async (id, body) => {
705
+ let res = await this._update(this.svAPIEndpoint, this.refund._path + `/${id}`, body);
706
+ return res;
707
+ },
1426
708
  };
1427
- } else {
1428
- this.error = error;
1429
- }
1430
- return this;
709
+ this.transfer = {
710
+ _path: "/transfer",
711
+ find: async (params) => {
712
+ let res = await this._fetch(this.svAPIEndpoint, this.transfer._path, params);
713
+ return res;
714
+ },
715
+ get: async (id, params) => {
716
+ return await this._fetch(this.svAPIEndpoint, this.transfer._path + `/${id}`, params);
717
+ },
718
+ create: async (body) => {
719
+ let res = await this._create(this.svAPIEndpoint, this.transfer._path, body);
720
+ return res;
721
+ },
722
+ update: async (id, body) => {
723
+ let res = await this._update(this.svAPIEndpoint, this.transfer._path + `/${id}`, body);
724
+ return res;
725
+ },
726
+ };
727
+ this.adjustInventory = {
728
+ _path: "/adjust-inventory",
729
+ find: async (params) => {
730
+ let res = await this._fetch(this.svAPIEndpoint, this.adjustInventory._path, params);
731
+ return res;
732
+ },
733
+ get: async (id, params) => {
734
+ return await this._fetch(this.svAPIEndpoint, this.adjustInventory._path + `/${id}`, params);
735
+ },
736
+ create: async (body) => {
737
+ let res = await this._create(this.svAPIEndpoint, this.adjustInventory._path, body);
738
+ return res;
739
+ },
740
+ };
741
+ this.inventory = {
742
+ _path: "/inventory",
743
+ find: async (params) => {
744
+ let res = await this._fetch(this.svAPIEndpoint, this.inventory._path, params);
745
+ return res;
746
+ },
747
+ };
748
+ this.integrationApp = {
749
+ _path: "/integration-app",
750
+ find: async (params) => {
751
+ let res = await this._fetch(this.svAPIEndpoint, this.integrationApp._path, params);
752
+ return res;
753
+ },
754
+ get: async (id, params) => {
755
+ return await this._fetch(this.svAPIEndpoint, this.integrationApp._path + `/${id}`, params);
756
+ },
757
+ create: async (body) => {
758
+ let res = await this._create(this.svAPIEndpoint, this.integrationApp._path, body);
759
+ return res;
760
+ },
761
+ update: async (id, body) => {
762
+ let res = await this._update(this.svAPIEndpoint, this.integrationApp._path + `/${id}`, body);
763
+ return res;
764
+ },
765
+ };
766
+ this.joinActionsWebHook = {
767
+ _path: "/svix-integration",
768
+ update: async (id, body) => {
769
+ let res = await this._update(this.svAPIEndpoint, this.joinActionsWebHook._path, body);
770
+ return res;
771
+ },
772
+ };
773
+ this.patchAction = {
774
+ _path: "/patch-action",
775
+ create: async (body, params) => {
776
+ const res = await this._create(this.svAPIEndpoint, this.patchAction._path, body, params);
777
+ return res;
778
+ },
779
+ update: async (body) => {
780
+ const res = await this._update(this.svAPIEndpoint, this.patchAction._path, body);
781
+ return res;
782
+ },
783
+ };
784
+ this.updateIntegrationMeta = {
785
+ _path: "/update-integration-meta",
786
+ create: async (body, params) => {
787
+ let res = await this._create(this.svAPIEndpoint, this.updateIntegrationMeta._path, body, params);
788
+ return res;
789
+ },
790
+ };
791
+ this.svAPIEndpoint =
792
+ !options?.env || options?.env == "production"
793
+ ? "https://sv.api.repzo.me"
794
+ : options?.env == "staging"
795
+ ? "https://staging.sv.api.repzo.me"
796
+ : options?.env == "local"
797
+ ? "http://localhost:3030"
798
+ : "";
799
+ this.headers = {
800
+ "api-key": apiKey,
801
+ "Content-Type": "application/json",
802
+ Accept: "application/json",
803
+ };
804
+ if (options?.headers)
805
+ Object.assign(this.headers, options.headers);
1431
806
  }
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);
807
+ async _fetch(baseUrl, path, params) {
808
+ let res = await axios.get(baseUrl + path, {
809
+ params,
810
+ headers: this.headers,
811
+ });
812
+ return res.data;
1468
813
  }
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
- }
1481
- };
1482
- Repzo.CommandLog = class {
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) {
814
+ async _create(baseUrl, path, body, params) {
815
+ let res = await axios.post(baseUrl + path, body, {
816
+ params,
817
+ headers: this.headers,
818
+ });
819
+ return res.data;
820
+ }
821
+ async _update(baseUrl, path, body, params) {
822
+ let res = await axios.put(baseUrl + path, body, {
823
+ params,
824
+ headers: this.headers,
825
+ });
826
+ return res.data;
827
+ }
828
+ async _delete(baseUrl, path, params) {
829
+ let res = await axios.delete(baseUrl + path, {
830
+ params,
831
+ headers: this.headers,
832
+ });
833
+ return res.data;
834
+ }
835
+ }
836
+ Repzo.ActionLogs = class {
837
+ constructor(superThis, sync_id) {
838
+ this.superThis = superThis;
839
+ this._path = "/integration-action-log";
840
+ this.available_app_name = "";
841
+ this.available_app_id = "";
842
+ this.app_id = "";
843
+ this.action = "";
844
+ this.start_time = Date.now();
845
+ this.status = "processing";
846
+ this.message = "Log Created";
847
+ this.details = [];
848
+ this.sync_id = sync_id;
849
+ this.isOld = true;
850
+ }
851
+ async load(sync_id) {
852
+ const params = { sync_id: sync_id };
853
+ const res = await this.superThis._fetch(this.superThis.svAPIEndpoint, this._path, params);
854
+ if (!res?.data?.length)
855
+ throw new Error(`Action Log Not found, sync_id: ${sync_id}`);
856
+ const action_log = res.data[0];
1514
857
  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;
858
+ this.details = action_log.details;
859
+ this.status = action_log.status;
860
+ this.error = action_log.error;
861
+ this.start_time = action_log.start_time;
862
+ this.body = action_log.body;
863
+ this.meta = action_log.meta;
864
+ this.message = action_log.message;
865
+ this.app_id = action_log.app_id;
866
+ this.available_app_id = action_log.available_app_id;
867
+ this.available_app_name = action_log.available_app_name;
868
+ this.company_namespace = action_log.company_namespace;
869
+ this.action = action_log.action;
1524
870
  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
- }
871
+ return this;
872
+ }
873
+ setStatus(status, error) {
874
+ this.details.push({
875
+ timestamp: Date.now(),
876
+ content: `status was changed from ${this.status} to ${status}`,
877
+ });
878
+ this.status = status;
879
+ if (error) {
880
+ if (typeof error == "string") {
881
+ this.error = { message: error };
882
+ }
883
+ else if (error.message || error.response?.data) {
884
+ this.error = {
885
+ // json: error.toJSON ? error.toJSON() : undefined,
886
+ message: error.message,
887
+ responseData: error.response?.data,
888
+ };
889
+ }
890
+ else {
891
+ this.error = error;
892
+ }
893
+ return this;
894
+ }
895
+ return this;
896
+ }
897
+ setBody(body) {
898
+ this.body = body;
899
+ return this;
1538
900
  }
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,
901
+ setMeta(meta) {
902
+ this.meta = meta;
903
+ return this;
904
+ }
905
+ async commit() {
906
+ let doc = {
907
+ available_app_name: this.available_app_name,
908
+ available_app_id: this.available_app_id,
909
+ app_id: this.app_id,
910
+ action: this.action,
911
+ company_namespace: this.company_namespace,
912
+ status: this.status,
913
+ error: this.error ? this.error : undefined,
914
+ start_time: this.start_time,
915
+ end_time: Date.now(),
916
+ total_time: Date.now() - this.start_time,
917
+ body: this.body,
918
+ meta: this.meta,
919
+ message: this.message,
920
+ details: this.details,
921
+ sync_id: this.sync_id,
1552
922
  };
1553
- } else {
1554
- this.error = error;
1555
- }
1556
- return this;
923
+ try {
924
+ const res = await this.superThis._create(this.superThis.svAPIEndpoint, this._path, doc);
925
+ }
926
+ catch (e) {
927
+ console.error(e);
928
+ }
929
+ return this;
1557
930
  }
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();
931
+ addDetail(detail, meta) {
932
+ let d = {
933
+ timestamp: Date.now(),
934
+ content: detail,
935
+ };
936
+ this.message = detail;
937
+ if (meta)
938
+ d.meta = meta;
939
+ this.details.push(d);
940
+ return this;
941
+ }
942
+ };
943
+ Repzo.CommandLog = class {
944
+ constructor(superThis, app, command, trigger) {
945
+ this.superThis = superThis;
946
+ this._path = "/integration-command-log";
947
+ this.app_id = app._id;
948
+ this.available_app_id = app.available_app._id;
949
+ this.available_app_name = app.available_app.name;
950
+ this.company_namespace = app.company_namespace;
951
+ this.start_time = Date.now();
952
+ this.status = "received";
953
+ this.message = "Request received";
954
+ this.command = command;
955
+ this.details = [{ timestamp: Date.now(), content: "Request received" }];
956
+ this.sync_id = uuid();
957
+ this.isOld = false;
958
+ this.isPrioritized = false;
959
+ this.retries = 1;
960
+ this.trigger = trigger;
1573
961
  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
962
  }
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);
963
+ async load(sync_id, retries) {
964
+ if (sync_id) {
965
+ const params = { sync_id: sync_id };
966
+ const res = await this.superThis._fetch(this.superThis.svAPIEndpoint, this._path, params);
967
+ if (!res?.data?.length)
968
+ throw new Error(`Command Log Not found, sync_id: ${sync_id}`);
969
+ const command_log = res.data[0];
970
+ if (command_log) {
971
+ this.sync_id = sync_id;
972
+ this.details = command_log.details;
973
+ this.status = command_log.status;
974
+ this.error = command_log.error;
975
+ this.start_time = command_log.start_time;
976
+ this.body = command_log.body;
977
+ this.meta = command_log.meta;
978
+ this.message = command_log.message;
979
+ this.retries =
980
+ retries !== undefined
981
+ ? retries
982
+ : command_log.retries || this.retries; // retries !== undefined ? retries : command_log.retries;
983
+ this.isOld = true;
984
+ this.failedAt = command_log.failedAt;
985
+ this.succeededAt = command_log.succeededAt;
986
+ this.skippedAt = command_log.skippedAt;
987
+ this.receivedAt = command_log.receivedAt;
988
+ this.processedAt = command_log.processedAt;
989
+ this.onGoing = command_log.onGoing || false;
990
+ this.trigger = command_log.trigger;
991
+ // this.priority = command_log.priority
992
+ // ? command_log.priority
993
+ // : this.priority
994
+ // ? this.priority
995
+ // : undefined;
996
+ }
997
+ }
998
+ return this;
999
+ }
1000
+ setStatus(status, error) {
1001
+ this.addDetail(`status was changed from ${this.status} to ${status}`);
1002
+ this.status = status;
1003
+ if (error) {
1004
+ if (typeof error == "string") {
1005
+ this.error = { message: error };
1006
+ }
1007
+ else if (error.message || error.response?.data) {
1008
+ this.error = {
1009
+ // json: error.toJSON ? error.toJSON() : undefined,
1010
+ message: error.message,
1011
+ responseData: error.response?.data,
1012
+ };
1013
+ }
1014
+ else {
1015
+ this.error = error;
1016
+ }
1017
+ return this;
1018
+ }
1019
+ switch (status) {
1020
+ case "fail":
1021
+ this.failedAt = new Date();
1022
+ this.onGoing = false;
1023
+ break;
1024
+ case "processing":
1025
+ this.processedAt = new Date();
1026
+ this.onGoing = true;
1027
+ break;
1028
+ case "queued":
1029
+ this.queuedAt = new Date();
1030
+ this.onGoing = true;
1031
+ break;
1032
+ case "received":
1033
+ this.receivedAt = new Date();
1034
+ this.onGoing = true;
1035
+ break;
1036
+ case "skipped":
1037
+ this.skippedAt = new Date();
1038
+ this.onGoing = false;
1039
+ break;
1040
+ case "success":
1041
+ this.succeededAt = new Date();
1042
+ this.onGoing = false;
1043
+ break;
1044
+ }
1045
+ return this;
1046
+ }
1047
+ setBody(body) {
1048
+ this.body = body;
1049
+ return this;
1050
+ }
1051
+ setMeta(meta) {
1052
+ this.meta = meta;
1053
+ return this;
1054
+ }
1055
+ async commit() {
1056
+ let doc = {
1057
+ available_app_name: this.available_app_name,
1058
+ available_app_id: this.available_app_id,
1059
+ app_id: this.app_id,
1060
+ command: this.command,
1061
+ status: this.status,
1062
+ error: this.error ? this.error : undefined,
1063
+ start_time: this.start_time,
1064
+ end_time: Date.now(),
1065
+ total_time: Date.now() - this.start_time,
1066
+ company_namespace: this.company_namespace,
1067
+ body: this.body,
1068
+ meta: this.meta,
1069
+ message: this.message,
1070
+ details: this.details,
1071
+ sync_id: this.sync_id,
1072
+ // priority: this.priority ? this.priority : undefined,
1073
+ queuedAt: this.queuedAt ? this.queuedAt : undefined,
1074
+ failedAt: this.failedAt ? this.failedAt : undefined,
1075
+ succeededAt: this.succeededAt ? this.succeededAt : undefined,
1076
+ skippedAt: this.skippedAt ? this.skippedAt : undefined,
1077
+ receivedAt: this.receivedAt ? this.receivedAt : undefined,
1078
+ processedAt: this.processedAt ? this.processedAt : undefined,
1079
+ onGoing: this.onGoing !== undefined ? this.onGoing : undefined,
1080
+ retries: this.retries !== undefined ? this.retries : undefined,
1081
+ trigger: this.trigger,
1082
+ };
1083
+ try {
1084
+ const res = await this.superThis._create(this.superThis.svAPIEndpoint, this._path, doc);
1085
+ this.isOld = true;
1086
+ }
1087
+ catch (e) {
1088
+ console.error(e);
1089
+ }
1090
+ return this;
1091
+ }
1092
+ addDetail(detail, meta) {
1093
+ let d = {
1094
+ timestamp: Date.now(),
1095
+ content: detail,
1096
+ };
1097
+ this.message = detail;
1098
+ if (meta)
1099
+ d.meta = meta;
1100
+ this.details.push(d);
1101
+ return this;
1631
1102
  }
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
- }
1644
1103
  };