repzo 1.0.27 → 1.0.28

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