repzo 1.0.32 → 1.0.33

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,993 +1,1524 @@
1
1
  import axios from "axios";
2
2
  import { v4 as uuid } from "uuid";
3
3
  export default class Repzo {
4
- constructor(apiKey, options) {
5
- this.client = {
6
- _path: "/client",
7
- find: async (params) => {
8
- let res = await this._fetch(this.svAPIEndpoint, this.client._path, params);
9
- return res;
10
- },
11
- get: async (id, params) => {
12
- return await this._fetch(this.svAPIEndpoint, this.client._path + `/${id}`, params);
13
- },
14
- create: async (body) => {
15
- let res = await this._create(this.svAPIEndpoint, this.client._path, body);
16
- return res;
17
- },
18
- update: async (id, body) => {
19
- let res = await this._update(this.svAPIEndpoint, this.client._path + `/${id}`, body);
20
- return res;
21
- },
22
- remove: async (id) => {
23
- let res = await this._delete(this.svAPIEndpoint, this.client._path + `/${id}`);
24
- return res;
25
- },
26
- };
27
- this.product = {
28
- _path: "/product",
29
- find: async (params) => {
30
- let res = await this._fetch(this.svAPIEndpoint, this.product._path, params);
31
- return res;
32
- },
33
- get: async (id, params) => {
34
- return await this._fetch(this.svAPIEndpoint, this.product._path + `/${id}`, params);
35
- },
36
- create: async (body) => {
37
- let res = await this._create(this.svAPIEndpoint, this.product._path, body);
38
- return res;
39
- },
40
- update: async (id, body) => {
41
- let res = await this._update(this.svAPIEndpoint, this.product._path + `/${id}`, body);
42
- return res;
43
- },
44
- remove: async (id) => {
45
- let res = await this._delete(this.svAPIEndpoint, this.product._path + `/${id}`);
46
- return res;
47
- },
48
- };
49
- this.variant = {
50
- _path: "/variant",
51
- find: async (params) => {
52
- let res = await this._fetch(this.svAPIEndpoint, this.variant._path, params);
53
- return res;
54
- },
55
- get: async (id, params) => {
56
- return await this._fetch(this.svAPIEndpoint, this.variant._path + `/${id}`, params);
57
- },
58
- create: async (body) => {
59
- let res = await this._create(this.svAPIEndpoint, this.variant._path, body);
60
- return res;
61
- },
62
- update: async (id, body) => {
63
- let res = await this._update(this.svAPIEndpoint, this.variant._path + `/${id}`, body);
64
- return res;
65
- },
66
- remove: async (id) => {
67
- let res = await this._delete(this.svAPIEndpoint, this.variant._path + `/${id}`);
68
- return res;
69
- },
70
- };
71
- this.category = {
72
- _path: "/product-category",
73
- find: async (params) => {
74
- let res = await this._fetch(this.svAPIEndpoint, this.category._path, params);
75
- return res;
76
- },
77
- get: async (id) => {
78
- return await this._fetch(this.svAPIEndpoint, this.category._path + `/${id}`);
79
- },
80
- create: async (body) => {
81
- let res = await this._create(this.svAPIEndpoint, this.category._path, body);
82
- return res;
83
- },
84
- update: async (id, body) => {
85
- let res = await this._update(this.svAPIEndpoint, this.category._path + `/${id}`, body);
86
- return res;
87
- },
88
- remove: async (id) => {
89
- let res = await this._delete(this.svAPIEndpoint, this.category._path + `/${id}`);
90
- return res;
91
- },
92
- };
93
- this.sub_category = {
94
- _path: "/product-sub-category",
95
- find: async (params) => {
96
- let res = await this._fetch(this.svAPIEndpoint, this.sub_category._path, params);
97
- return res;
98
- },
99
- get: async (id, params) => {
100
- return await this._fetch(this.svAPIEndpoint, this.sub_category._path + `/${id}`, params);
101
- },
102
- create: async (body) => {
103
- let res = await this._create(this.svAPIEndpoint, this.sub_category._path, body);
104
- return res;
105
- },
106
- update: async (id, body) => {
107
- let res = await this._update(this.svAPIEndpoint, this.sub_category._path + `/${id}`, body);
108
- return res;
109
- },
110
- remove: async (id) => {
111
- let res = await this._delete(this.svAPIEndpoint, this.sub_category._path + `/${id}`);
112
- return res;
113
- },
114
- };
115
- this.brand = {
116
- _path: "/product-brand",
117
- find: async (params) => {
118
- let res = await this._fetch(this.svAPIEndpoint, this.brand._path, params);
119
- return res;
120
- },
121
- get: async (id) => {
122
- return await this._fetch(this.svAPIEndpoint, this.brand._path + `/${id}`);
123
- },
124
- create: async (body) => {
125
- let res = await this._create(this.svAPIEndpoint, this.brand._path, body);
126
- return res;
127
- },
128
- update: async (id, body) => {
129
- let res = await this._update(this.svAPIEndpoint, this.brand._path + `/${id}`, body);
130
- return res;
131
- },
132
- remove: async (id) => {
133
- let res = await this._delete(this.svAPIEndpoint, this.brand._path + `/${id}`);
134
- return res;
135
- },
136
- };
137
- this.product_group = {
138
- _path: "/product-group",
139
- find: async (params) => {
140
- let res = await this._fetch(this.svAPIEndpoint, this.product_group._path, params);
141
- return res;
142
- },
143
- get: async (id) => {
144
- return await this._fetch(this.svAPIEndpoint, this.product_group._path + `/${id}`);
145
- },
146
- create: async (body) => {
147
- let res = await this._create(this.svAPIEndpoint, this.product_group._path, body);
148
- return res;
149
- },
150
- update: async (id, body) => {
151
- let res = await this._update(this.svAPIEndpoint, this.product_group._path + `/${id}`, body);
152
- return res;
153
- },
154
- remove: async (id) => {
155
- let res = await this._delete(this.svAPIEndpoint, this.product_group._path + `/${id}`);
156
- return res;
157
- },
158
- };
159
- this.tax = {
160
- _path: "/tax",
161
- find: async (params) => {
162
- let res = await this._fetch(this.svAPIEndpoint, this.tax._path, params);
163
- return res;
164
- },
165
- get: async (id) => {
166
- return await this._fetch(this.svAPIEndpoint, this.tax._path + `/${id}`);
167
- },
168
- create: async (body) => {
169
- let res = await this._create(this.svAPIEndpoint, this.tax._path, body);
170
- return res;
171
- },
172
- update: async (id, body) => {
173
- let res = await this._update(this.svAPIEndpoint, this.tax._path + `/${id}`, body);
174
- return res;
175
- },
176
- remove: async (id) => {
177
- let res = await this._delete(this.svAPIEndpoint, this.tax._path + `/${id}`);
178
- return res;
179
- },
180
- };
181
- this.measureunit = {
182
- _path: "/measureunits",
183
- find: async (params) => {
184
- let res = await this._fetch(this.svAPIEndpoint, this.measureunit._path, params);
185
- return res;
186
- },
187
- get: async (id) => {
188
- return await this._fetch(this.svAPIEndpoint, this.measureunit._path + `/${id}`);
189
- },
190
- create: async (body) => {
191
- let res = await this._create(this.svAPIEndpoint, this.measureunit._path, body);
192
- return res;
193
- },
194
- update: async (id, body) => {
195
- let res = await this._update(this.svAPIEndpoint, this.measureunit._path + `/${id}`, body);
196
- return res;
197
- },
198
- remove: async (id) => {
199
- let res = await this._delete(this.svAPIEndpoint, this.measureunit._path + `/${id}`);
200
- return res;
201
- },
202
- };
203
- this.measureunitFamily = {
204
- _path: "/measureunit-family",
205
- find: async (params) => {
206
- let res = await this._fetch(this.svAPIEndpoint, this.measureunitFamily._path, params);
207
- return res;
208
- },
209
- get: async (id) => {
210
- return await this._fetch(this.svAPIEndpoint, this.measureunitFamily._path + `/${id}`);
211
- },
212
- create: async (body) => {
213
- let res = await this._create(this.svAPIEndpoint, this.measureunitFamily._path, body);
214
- return res;
215
- },
216
- update: async (id, body) => {
217
- let res = await this._update(this.svAPIEndpoint, this.measureunitFamily._path + `/${id}`, body);
218
- return res;
219
- },
220
- remove: async (id) => {
221
- let res = await this._delete(this.svAPIEndpoint, this.measureunitFamily._path + `/${id}`);
222
- return res;
223
- },
224
- };
225
- this.media = {
226
- _path: "/media",
227
- find: async (params) => {
228
- let res = await this._fetch(this.svAPIEndpoint, this.media._path, params);
229
- return res;
230
- },
231
- get: async (id) => {
232
- return await this._fetch(this.svAPIEndpoint, this.media._path + `/${id}`);
233
- },
234
- create: async (body) => {
235
- let res = await this._create(this.svAPIEndpoint, this.media._path, body);
236
- return res;
237
- },
238
- update: async (id, body) => {
239
- let res = await this._update(this.svAPIEndpoint, this.media._path + `/${id}`, body);
240
- return res;
241
- },
242
- remove: async (id) => {
243
- let res = await this._delete(this.svAPIEndpoint, this.media._path + `/${id}`);
244
- return res;
245
- },
246
- };
247
- this.priceList = {
248
- _path: "/pricelists",
249
- find: async (params) => {
250
- let res = await this._fetch(this.svAPIEndpoint, this.priceList._path, params);
251
- return res;
252
- },
253
- get: async (id) => {
254
- return await this._fetch(this.svAPIEndpoint, this.priceList._path + `/${id}`);
255
- },
256
- create: async (body) => {
257
- let res = await this._create(this.svAPIEndpoint, this.priceList._path, body);
258
- return res;
259
- },
260
- update: async (id, body) => {
261
- let res = await this._update(this.svAPIEndpoint, this.priceList._path + `/${id}`, body);
262
- return res;
263
- },
264
- remove: async (id) => {
265
- let res = await this._delete(this.svAPIEndpoint, this.priceList._path + `/${id}`);
266
- return res;
267
- },
268
- };
269
- this.priceListItem = {
270
- _path: "/pricelistsitems",
271
- find: async (params) => {
272
- let res = await this._fetch(this.svAPIEndpoint, this.priceListItem._path, params);
273
- return res;
274
- },
275
- get: async (id) => {
276
- return await this._fetch(this.svAPIEndpoint, this.priceListItem._path + `/${id}`);
277
- },
278
- create: async (body) => {
279
- let res = await this._create(this.svAPIEndpoint, this.priceListItem._path, body);
280
- return res;
281
- },
282
- update: async (id, body) => {
283
- let res = await this._update(this.svAPIEndpoint, this.priceListItem._path + `/${id}`, body);
284
- return res;
285
- },
286
- remove: async (id) => {
287
- let res = await this._delete(this.svAPIEndpoint, this.priceListItem._path + `/${id}`);
288
- return res;
289
- },
290
- };
291
- this.team = {
292
- _path: "/teams",
293
- find: async (params) => {
294
- let res = await this._fetch(this.svAPIEndpoint, this.team._path, params);
295
- return res;
296
- },
297
- get: async (id) => {
298
- return await this._fetch(this.svAPIEndpoint, this.team._path + `/${id}`);
299
- },
300
- create: async (body) => {
301
- let res = await this._create(this.svAPIEndpoint, this.team._path, body);
302
- return res;
303
- },
304
- update: async (id, body) => {
305
- let res = await this._update(this.svAPIEndpoint, this.team._path + `/${id}`, body);
306
- return res;
307
- },
308
- remove: async (id) => {
309
- let res = await this._delete(this.svAPIEndpoint, this.team._path + `/${id}`);
310
- return res;
311
- },
312
- };
313
- this.rep = {
314
- _path: "/rep",
315
- find: async (params) => {
316
- let res = await this._fetch(this.svAPIEndpoint, this.rep._path, params);
317
- return res;
318
- },
319
- get: async (id, params) => {
320
- return await this._fetch(this.svAPIEndpoint, this.rep._path + `/${id}`, params);
321
- },
322
- create: async (body) => {
323
- let res = await this._create(this.svAPIEndpoint, this.rep._path, body);
324
- return res;
325
- },
326
- update: async (id, body) => {
327
- let res = await this._update(this.svAPIEndpoint, this.rep._path + `/${id}`, body);
328
- return res;
329
- },
330
- remove: async (id) => {
331
- let res = await this._delete(this.svAPIEndpoint, this.rep._path + `/${id}`);
332
- return res;
333
- },
334
- };
335
- this.tag = {
336
- _path: "/tag",
337
- find: async (params) => {
338
- let res = await this._fetch(this.svAPIEndpoint, this.tag._path, params);
339
- return res;
340
- },
341
- get: async (id) => {
342
- return await this._fetch(this.svAPIEndpoint, this.tag._path + `/${id}`);
343
- },
344
- create: async (body) => {
345
- let res = await this._create(this.svAPIEndpoint, this.tag._path, body);
346
- return res;
347
- },
348
- update: async (id, body) => {
349
- let res = await this._update(this.svAPIEndpoint, this.tag._path + `/${id}`, body);
350
- return res;
351
- },
352
- remove: async (id) => {
353
- let res = await this._delete(this.svAPIEndpoint, this.tag._path + `/${id}`);
354
- return res;
355
- },
356
- };
357
- this.warehouse = {
358
- _path: "/warehouse",
359
- find: async (params) => {
360
- let res = await this._fetch(this.svAPIEndpoint, this.warehouse._path, params);
361
- return res;
362
- },
363
- get: async (id) => {
364
- return await this._fetch(this.svAPIEndpoint, this.warehouse._path + `/${id}`);
365
- },
366
- create: async (body) => {
367
- let res = await this._create(this.svAPIEndpoint, this.warehouse._path, body);
368
- return res;
369
- },
370
- update: async (id, body) => {
371
- let res = await this._update(this.svAPIEndpoint, this.warehouse._path + `/${id}`, body);
372
- return res;
373
- },
374
- remove: async (id) => {
375
- let res = await this._delete(this.svAPIEndpoint, this.warehouse._path + `/${id}`);
376
- return res;
377
- },
378
- };
379
- this.channel = {
380
- _path: "/client-channel",
381
- find: async (params) => {
382
- let res = await this._fetch(this.svAPIEndpoint, this.channel._path, params);
383
- return res;
384
- },
385
- get: async (id) => {
386
- return await this._fetch(this.svAPIEndpoint, this.channel._path + `/${id}`);
387
- },
388
- create: async (body) => {
389
- let res = await this._create(this.svAPIEndpoint, this.channel._path, body);
390
- return res;
391
- },
392
- update: async (id, body) => {
393
- let res = await this._update(this.svAPIEndpoint, this.channel._path + `/${id}`, body);
394
- return res;
395
- },
396
- remove: async (id) => {
397
- let res = await this._delete(this.svAPIEndpoint, this.channel._path + `/${id}`);
398
- return res;
399
- },
400
- };
401
- this.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
- },
630
- };
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);
696
- }
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;
703
- }
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
- }
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
+ }
725
1250
  }
726
1251
  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];
747
- this.sync_id = sync_id;
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;
760
- this.isOld = true;
761
- return this;
762
- }
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,
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,
812
1306
  };
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;
1307
+ } else {
1308
+ this.error = error;
1309
+ }
1310
+ return this;
820
1311
  }
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;
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);
831
1348
  }
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
+ }
832
1361
  };
833
1362
  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;
851
- this.onGoing = true;
852
- }
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;
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) {
1394
+ 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;
1404
+ 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
+ }
944
1418
  }
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,
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,
972
1432
  };
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;
1433
+ } else {
1434
+ this.error = error;
1435
+ }
1436
+ return this;
981
1437
  }
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;
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();
1453
+ 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
+ }
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);
992
1511
  }
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
+ }
993
1524
  };