@pixwel/pixwel-sdk 2.1.34 → 2.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coverage/clover.xml +305 -313
- package/coverage/coverage-final.json +11 -11
- package/coverage/lcov-report/Ass.js.html +1 -1
- package/coverage/lcov-report/Asset.js.html +4 -4
- package/coverage/lcov-report/AssetType.js.html +12 -12
- package/coverage/lcov-report/Encode.js.html +12 -12
- package/coverage/lcov-report/File.js.html +17 -17
- package/coverage/lcov-report/Filename.js.html +1 -1
- package/coverage/lcov-report/Ingest.js.html +513 -513
- package/coverage/lcov-report/IngestFile.js.html +5 -5
- package/coverage/lcov-report/Model.js.html +144 -144
- package/coverage/lcov-report/Order.js.html +44 -26
- package/coverage/lcov-report/Srt.js.html +1 -1
- package/coverage/lcov-report/Sub.js.html +1 -1
- package/coverage/lcov-report/Tag.js.html +12 -12
- package/coverage/lcov-report/TimeFormat.js.html +14 -14
- package/coverage/lcov-report/fileType.js.html +14 -14
- package/coverage/lcov-report/index.html +71 -71
- package/coverage/lcov.info +655 -719
- package/dist/src/Order.js +10 -2
- package/package.json +1 -1
- package/src/Order.js +6 -2
- package/test/Order.spec.js +4 -10
|
@@ -20,24 +20,24 @@
|
|
|
20
20
|
</h1>
|
|
21
21
|
<div class='clearfix'>
|
|
22
22
|
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">
|
|
23
|
+
<span class="strong">0% </span>
|
|
24
24
|
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>
|
|
25
|
+
<span class='fraction'>0/49</span>
|
|
26
26
|
</div>
|
|
27
27
|
<div class='fl pad1y space-right2'>
|
|
28
28
|
<span class="strong">0% </span>
|
|
29
29
|
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>0/
|
|
30
|
+
<span class='fraction'>0/14</span>
|
|
31
31
|
</div>
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>0/10</span>
|
|
36
36
|
</div>
|
|
37
37
|
<div class='fl pad1y space-right2'>
|
|
38
|
-
<span class="strong">
|
|
38
|
+
<span class="strong">0% </span>
|
|
39
39
|
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>
|
|
40
|
+
<span class='fraction'>0/49</span>
|
|
41
41
|
</div>
|
|
42
42
|
</div>
|
|
43
43
|
</div>
|
|
@@ -295,13 +295,12 @@
|
|
|
295
295
|
250
|
|
296
296
|
251
|
|
297
297
|
252
|
|
298
|
-
253</td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
299
|
-
<span class="cline-any cline-
|
|
300
|
-
<span class="cline-any cline-
|
|
301
|
-
<span class="cline-any cline-neutral"> </span>
|
|
302
|
-
<span class="cline-any cline-neutral"> </span>
|
|
303
|
-
<span class="cline-any cline-neutral"> </span>
|
|
298
|
+
253</td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
|
299
|
+
<span class="cline-any cline-no"> </span>
|
|
300
|
+
<span class="cline-any cline-no"> </span>
|
|
304
301
|
<span class="cline-any cline-neutral"> </span>
|
|
302
|
+
<span class="cline-any cline-no"> </span>
|
|
303
|
+
<span class="cline-any cline-no"> </span>
|
|
305
304
|
<span class="cline-any cline-neutral"> </span>
|
|
306
305
|
<span class="cline-any cline-neutral"> </span>
|
|
307
306
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -314,8 +313,8 @@
|
|
|
314
313
|
<span class="cline-any cline-neutral"> </span>
|
|
315
314
|
<span class="cline-any cline-neutral"> </span>
|
|
316
315
|
<span class="cline-any cline-neutral"> </span>
|
|
317
|
-
<span class="cline-any cline-yes">1x</span>
|
|
318
316
|
<span class="cline-any cline-neutral"> </span>
|
|
317
|
+
<span class="cline-any cline-no"> </span>
|
|
319
318
|
<span class="cline-any cline-neutral"> </span>
|
|
320
319
|
<span class="cline-any cline-neutral"> </span>
|
|
321
320
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -325,8 +324,8 @@
|
|
|
325
324
|
<span class="cline-any cline-neutral"> </span>
|
|
326
325
|
<span class="cline-any cline-neutral"> </span>
|
|
327
326
|
<span class="cline-any cline-neutral"> </span>
|
|
328
|
-
<span class="cline-any cline-yes">58x</span>
|
|
329
327
|
<span class="cline-any cline-neutral"> </span>
|
|
328
|
+
<span class="cline-any cline-no"> </span>
|
|
330
329
|
<span class="cline-any cline-neutral"> </span>
|
|
331
330
|
<span class="cline-any cline-neutral"> </span>
|
|
332
331
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -338,12 +337,13 @@
|
|
|
338
337
|
<span class="cline-any cline-neutral"> </span>
|
|
339
338
|
<span class="cline-any cline-neutral"> </span>
|
|
340
339
|
<span class="cline-any cline-neutral"> </span>
|
|
341
|
-
<span class="cline-any cline-
|
|
342
|
-
<span class="cline-any cline-
|
|
343
|
-
<span class="cline-any cline-
|
|
344
|
-
<span class="cline-any cline-
|
|
345
|
-
<span class="cline-any cline-
|
|
346
|
-
<span class="cline-any cline-
|
|
340
|
+
<span class="cline-any cline-no"> </span>
|
|
341
|
+
<span class="cline-any cline-no"> </span>
|
|
342
|
+
<span class="cline-any cline-no"> </span>
|
|
343
|
+
<span class="cline-any cline-no"> </span>
|
|
344
|
+
<span class="cline-any cline-no"> </span>
|
|
345
|
+
<span class="cline-any cline-no"> </span>
|
|
346
|
+
<span class="cline-any cline-no"> </span>
|
|
347
347
|
<span class="cline-any cline-neutral"> </span>
|
|
348
348
|
<span class="cline-any cline-neutral"> </span>
|
|
349
349
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -375,23 +375,23 @@
|
|
|
375
375
|
<span class="cline-any cline-neutral"> </span>
|
|
376
376
|
<span class="cline-any cline-neutral"> </span>
|
|
377
377
|
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-no"> </span>
|
|
379
378
|
<span class="cline-any cline-neutral"> </span>
|
|
380
379
|
<span class="cline-any cline-neutral"> </span>
|
|
381
380
|
<span class="cline-any cline-neutral"> </span>
|
|
382
381
|
<span class="cline-any cline-neutral"> </span>
|
|
383
382
|
<span class="cline-any cline-neutral"> </span>
|
|
384
|
-
<span class="cline-any cline-
|
|
383
|
+
<span class="cline-any cline-no"> </span>
|
|
384
|
+
<span class="cline-any cline-no"> </span>
|
|
385
385
|
<span class="cline-any cline-neutral"> </span>
|
|
386
|
-
<span class="cline-any cline-
|
|
386
|
+
<span class="cline-any cline-no"> </span>
|
|
387
387
|
<span class="cline-any cline-neutral"> </span>
|
|
388
388
|
<span class="cline-any cline-neutral"> </span>
|
|
389
|
-
<span class="cline-any cline-
|
|
390
|
-
<span class="cline-any cline-
|
|
391
|
-
<span class="cline-any cline-
|
|
392
|
-
<span class="cline-any cline-
|
|
389
|
+
<span class="cline-any cline-no"> </span>
|
|
390
|
+
<span class="cline-any cline-no"> </span>
|
|
391
|
+
<span class="cline-any cline-no"> </span>
|
|
392
|
+
<span class="cline-any cline-no"> </span>
|
|
393
393
|
<span class="cline-any cline-neutral"> </span>
|
|
394
|
-
<span class="cline-any cline-
|
|
394
|
+
<span class="cline-any cline-no"> </span>
|
|
395
395
|
<span class="cline-any cline-neutral"> </span>
|
|
396
396
|
<span class="cline-any cline-neutral"> </span>
|
|
397
397
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -409,13 +409,13 @@
|
|
|
409
409
|
<span class="cline-any cline-neutral"> </span>
|
|
410
410
|
<span class="cline-any cline-neutral"> </span>
|
|
411
411
|
<span class="cline-any cline-neutral"> </span>
|
|
412
|
-
<span class="cline-any cline-no"> </span>
|
|
413
412
|
<span class="cline-any cline-neutral"> </span>
|
|
414
|
-
<span class="cline-any cline-no"> </span>
|
|
415
|
-
<span class="cline-any cline-no"> </span>
|
|
416
|
-
<span class="cline-any cline-no"> </span>
|
|
417
413
|
<span class="cline-any cline-neutral"> </span>
|
|
418
|
-
<span class="cline-any cline-
|
|
414
|
+
<span class="cline-any cline-neutral"> </span>
|
|
415
|
+
<span class="cline-any cline-neutral"> </span>
|
|
416
|
+
<span class="cline-any cline-neutral"> </span>
|
|
417
|
+
<span class="cline-any cline-neutral"> </span>
|
|
418
|
+
<span class="cline-any cline-neutral"> </span>
|
|
419
419
|
<span class="cline-any cline-neutral"> </span>
|
|
420
420
|
<span class="cline-any cline-neutral"> </span>
|
|
421
421
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -423,7 +423,6 @@
|
|
|
423
423
|
<span class="cline-any cline-no"> </span>
|
|
424
424
|
<span class="cline-any cline-neutral"> </span>
|
|
425
425
|
<span class="cline-any cline-neutral"> </span>
|
|
426
|
-
<span class="cline-any cline-no"> </span>
|
|
427
426
|
<span class="cline-any cline-neutral"> </span>
|
|
428
427
|
<span class="cline-any cline-neutral"> </span>
|
|
429
428
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -431,14 +430,14 @@
|
|
|
431
430
|
<span class="cline-any cline-neutral"> </span>
|
|
432
431
|
<span class="cline-any cline-neutral"> </span>
|
|
433
432
|
<span class="cline-any cline-neutral"> </span>
|
|
434
|
-
<span class="cline-any cline-yes">1x</span>
|
|
435
433
|
<span class="cline-any cline-neutral"> </span>
|
|
434
|
+
<span class="cline-any cline-no"> </span>
|
|
436
435
|
<span class="cline-any cline-neutral"> </span>
|
|
437
436
|
<span class="cline-any cline-neutral"> </span>
|
|
438
437
|
<span class="cline-any cline-neutral"> </span>
|
|
439
438
|
<span class="cline-any cline-neutral"> </span>
|
|
440
|
-
<span class="cline-any cline-no"> </span>
|
|
441
439
|
<span class="cline-any cline-neutral"> </span>
|
|
440
|
+
<span class="cline-any cline-no"> </span>
|
|
442
441
|
<span class="cline-any cline-neutral"> </span>
|
|
443
442
|
<span class="cline-any cline-neutral"> </span>
|
|
444
443
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -446,6 +445,8 @@
|
|
|
446
445
|
<span class="cline-any cline-neutral"> </span>
|
|
447
446
|
<span class="cline-any cline-neutral"> </span>
|
|
448
447
|
<span class="cline-any cline-no"> </span>
|
|
448
|
+
<span class="cline-any cline-no"> </span>
|
|
449
|
+
<span class="cline-any cline-neutral"> </span>
|
|
449
450
|
<span class="cline-any cline-neutral"> </span>
|
|
450
451
|
<span class="cline-any cline-neutral"> </span>
|
|
451
452
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -453,7 +454,6 @@
|
|
|
453
454
|
<span class="cline-any cline-neutral"> </span>
|
|
454
455
|
<span class="cline-any cline-neutral"> </span>
|
|
455
456
|
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-no"> </span>
|
|
457
457
|
<span class="cline-any cline-neutral"> </span>
|
|
458
458
|
<span class="cline-any cline-no"> </span>
|
|
459
459
|
<span class="cline-any cline-no"> </span>
|
|
@@ -463,10 +463,10 @@
|
|
|
463
463
|
<span class="cline-any cline-no"> </span>
|
|
464
464
|
<span class="cline-any cline-neutral"> </span>
|
|
465
465
|
<span class="cline-any cline-neutral"> </span>
|
|
466
|
-
<span class="cline-any cline-no"> </span>
|
|
467
|
-
<span class="cline-any cline-no"> </span>
|
|
468
466
|
<span class="cline-any cline-neutral"> </span>
|
|
469
|
-
<span class="cline-any cline-
|
|
467
|
+
<span class="cline-any cline-neutral"> </span>
|
|
468
|
+
<span class="cline-any cline-neutral"> </span>
|
|
469
|
+
<span class="cline-any cline-neutral"> </span>
|
|
470
470
|
<span class="cline-any cline-neutral"> </span>
|
|
471
471
|
<span class="cline-any cline-neutral"> </span>
|
|
472
472
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -474,7 +474,6 @@
|
|
|
474
474
|
<span class="cline-any cline-no"> </span>
|
|
475
475
|
<span class="cline-any cline-neutral"> </span>
|
|
476
476
|
<span class="cline-any cline-neutral"> </span>
|
|
477
|
-
<span class="cline-any cline-no"> </span>
|
|
478
477
|
<span class="cline-any cline-neutral"> </span>
|
|
479
478
|
<span class="cline-any cline-neutral"> </span>
|
|
480
479
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -483,15 +482,15 @@
|
|
|
483
482
|
<span class="cline-any cline-neutral"> </span>
|
|
484
483
|
<span class="cline-any cline-neutral"> </span>
|
|
485
484
|
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-no"> </span>
|
|
487
|
-
<span class="cline-any cline-no"> </span>
|
|
488
|
-
<span class="cline-any cline-no"> </span>
|
|
489
485
|
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-no"> </span>
|
|
491
486
|
<span class="cline-any cline-neutral"> </span>
|
|
492
|
-
<span class="cline-any cline-no"> </span>
|
|
493
487
|
<span class="cline-any cline-neutral"> </span>
|
|
494
488
|
<span class="cline-any cline-no"> </span>
|
|
489
|
+
<span class="cline-any cline-neutral"> </span>
|
|
490
|
+
<span class="cline-any cline-neutral"> </span>
|
|
491
|
+
<span class="cline-any cline-neutral"> </span>
|
|
492
|
+
<span class="cline-any cline-neutral"> </span>
|
|
493
|
+
<span class="cline-any cline-neutral"> </span>
|
|
495
494
|
<span class="cline-any cline-no"> </span>
|
|
496
495
|
<span class="cline-any cline-neutral"> </span>
|
|
497
496
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -501,21 +500,21 @@
|
|
|
501
500
|
<span class="cline-any cline-neutral"> </span>
|
|
502
501
|
<span class="cline-any cline-neutral"> </span>
|
|
503
502
|
<span class="cline-any cline-neutral"> </span>
|
|
504
|
-
<span class="cline-any cline-no"> </span>
|
|
505
|
-
<span class="cline-any cline-no"> </span>
|
|
506
|
-
<span class="cline-any cline-no"> </span>
|
|
507
503
|
<span class="cline-any cline-neutral"> </span>
|
|
508
|
-
<span class="cline-any cline-no"> </span>
|
|
509
|
-
<span class="cline-any cline-no"> </span>
|
|
510
|
-
<span class="cline-any cline-no"> </span>
|
|
511
504
|
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-no"> </span>
|
|
513
505
|
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-no"> </span>
|
|
515
506
|
<span class="cline-any cline-neutral"> </span>
|
|
516
|
-
<span class="cline-any cline-
|
|
507
|
+
<span class="cline-any cline-neutral"> </span>
|
|
508
|
+
<span class="cline-any cline-neutral"> </span>
|
|
517
509
|
<span class="cline-any cline-neutral"> </span>
|
|
518
510
|
<span class="cline-any cline-no"> </span>
|
|
511
|
+
<span class="cline-any cline-neutral"> </span>
|
|
512
|
+
<span class="cline-any cline-neutral"> </span>
|
|
513
|
+
<span class="cline-any cline-neutral"> </span>
|
|
514
|
+
<span class="cline-any cline-neutral"> </span>
|
|
515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
517
|
+
<span class="cline-any cline-neutral"> </span>
|
|
519
518
|
<span class="cline-any cline-no"> </span>
|
|
520
519
|
<span class="cline-any cline-neutral"> </span>
|
|
521
520
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -525,11 +524,12 @@
|
|
|
525
524
|
<span class="cline-any cline-neutral"> </span>
|
|
526
525
|
<span class="cline-any cline-neutral"> </span>
|
|
527
526
|
<span class="cline-any cline-neutral"> </span>
|
|
528
|
-
<span class="cline-any cline-no"> </span>
|
|
529
|
-
<span class="cline-any cline-no"> </span>
|
|
530
|
-
<span class="cline-any cline-no"> </span>
|
|
531
527
|
<span class="cline-any cline-neutral"> </span>
|
|
532
|
-
<span class="cline-any cline-
|
|
528
|
+
<span class="cline-any cline-neutral"> </span>
|
|
529
|
+
<span class="cline-any cline-neutral"> </span>
|
|
530
|
+
<span class="cline-any cline-neutral"> </span>
|
|
531
|
+
<span class="cline-any cline-neutral"> </span>
|
|
532
|
+
<span class="cline-any cline-neutral"> </span>
|
|
533
533
|
<span class="cline-any cline-no"> </span>
|
|
534
534
|
<span class="cline-any cline-neutral"> </span>
|
|
535
535
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -539,20 +539,20 @@
|
|
|
539
539
|
<span class="cline-any cline-neutral"> </span>
|
|
540
540
|
<span class="cline-any cline-neutral"> </span>
|
|
541
541
|
<span class="cline-any cline-neutral"> </span>
|
|
542
|
-
<span class="cline-any cline-no"> </span>
|
|
543
|
-
<span class="cline-any cline-no"> </span>
|
|
544
|
-
<span class="cline-any cline-no"> </span>
|
|
545
542
|
<span class="cline-any cline-neutral"> </span>
|
|
546
|
-
<span class="cline-any cline-
|
|
543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
544
|
+
<span class="cline-any cline-neutral"> </span>
|
|
545
|
+
<span class="cline-any cline-neutral"> </span>
|
|
546
|
+
<span class="cline-any cline-neutral"> </span>
|
|
547
547
|
<span class="cline-any cline-no"> </span>
|
|
548
548
|
<span class="cline-any cline-neutral"> </span>
|
|
549
549
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import _ from "lodash"
|
|
551
|
-
import { Pixwel } from "../index"
|
|
552
|
-
import axios from "axios"
|
|
550
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >import _ from "lodash";</span>
|
|
551
|
+
<span class="cstat-no" title="statement not covered" >import { Pixwel } from "../index";</span>
|
|
552
|
+
<span class="cstat-no" title="statement not covered" >import axios from "axios";</span>
|
|
553
553
|
import { cloneDeep } from "lodash";
|
|
554
|
-
import { diff } from "deep-object-diff"
|
|
555
|
-
import validate from "validate.js"
|
|
554
|
+
<span class="cstat-no" title="statement not covered" >import { diff } from "deep-object-diff";</span>
|
|
555
|
+
<span class="cstat-no" title="statement not covered" >import validate from "validate.js";</span>
|
|
556
556
|
|
|
557
557
|
/**
|
|
558
558
|
* Model base class for reading and writing to an API
|
|
@@ -566,7 +566,7 @@ import validate from "validate.js";
|
|
|
566
566
|
*
|
|
567
567
|
*/
|
|
568
568
|
|
|
569
|
-
var _bindings = {
|
|
569
|
+
var _bindings = <span class="cstat-no" title="statement not covered" >{</span>
|
|
570
570
|
find: [],
|
|
571
571
|
save: []
|
|
572
572
|
};
|
|
@@ -576,8 +576,8 @@ import validate from "validate.js";
|
|
|
576
576
|
* figured out how to reference a static class method from an instance
|
|
577
577
|
* and also from a static function.
|
|
578
578
|
*/
|
|
579
|
-
function connection() {
|
|
580
|
-
return axios.create({
|
|
579
|
+
function <span class="fstat-no" title="function not covered" >connection() {</span>
|
|
580
|
+
<span class="cstat-no" title="statement not covered" > return axios.create({</span>
|
|
581
581
|
baseURL: Pixwel.endpoint,
|
|
582
582
|
headers: {
|
|
583
583
|
Authorization: `Basic ${Pixwel.credentials.token}`,
|
|
@@ -589,13 +589,13 @@ function connection() {
|
|
|
589
589
|
|
|
590
590
|
|
|
591
591
|
export default class Model {
|
|
592
|
-
constructor(data) {
|
|
593
|
-
Object.assign(this, data)
|
|
594
|
-
this._endpoint = Pixwel.endpoint
|
|
595
|
-
this._api = connection()
|
|
596
|
-
this._lastState = {}
|
|
597
|
-
this._validationErrors = []
|
|
598
|
-
this._constraints = {}
|
|
592
|
+
<span class="fstat-no" title="function not covered" > constructor(</span>data) <span class="cstat-no" title="statement not covered" >{</span>
|
|
593
|
+
<span class="cstat-no" title="statement not covered" > Object.assign(this, data);</span>
|
|
594
|
+
<span class="cstat-no" title="statement not covered" > this._endpoint = Pixwel.endpoint;</span>
|
|
595
|
+
<span class="cstat-no" title="statement not covered" > this._api = connection();</span>
|
|
596
|
+
<span class="cstat-no" title="statement not covered" > this._lastState = {};</span>
|
|
597
|
+
<span class="cstat-no" title="statement not covered" > this._validationErrors = [];</span>
|
|
598
|
+
<span class="cstat-no" title="statement not covered" > this._constraints = {};</span>
|
|
599
599
|
}
|
|
600
600
|
/**
|
|
601
601
|
* Adds a validation contraint
|
|
@@ -603,13 +603,13 @@ export default class Model {
|
|
|
603
603
|
* @param {string} name
|
|
604
604
|
* @param {object} data
|
|
605
605
|
*/
|
|
606
|
-
|
|
606
|
+
addConstraint(name, data) {
|
|
607
607
|
<span class="cstat-no" title="statement not covered" > this._constraints[name] = data;</span>
|
|
608
608
|
}
|
|
609
609
|
/**
|
|
610
610
|
* Validates models data against its contraints
|
|
611
611
|
*/
|
|
612
|
-
|
|
612
|
+
validates() {
|
|
613
613
|
let res = <span class="cstat-no" title="statement not covered" >validate(this.data(), this._constraints);</span>
|
|
614
614
|
<span class="cstat-no" title="statement not covered" > if (res == undefined) {</span>
|
|
615
615
|
<span class="cstat-no" title="statement not covered" > this._validationErrors = [];</span>
|
|
@@ -618,7 +618,7 @@ export default class Model {
|
|
|
618
618
|
}
|
|
619
619
|
<span class="cstat-no" title="statement not covered" > return (res == undefined) ? true : false;</span>
|
|
620
620
|
}
|
|
621
|
-
|
|
621
|
+
errors() {
|
|
622
622
|
<span class="cstat-no" title="statement not covered" > return this._validationErrors;</span>
|
|
623
623
|
}
|
|
624
624
|
/**
|
|
@@ -626,24 +626,24 @@ export default class Model {
|
|
|
626
626
|
*
|
|
627
627
|
* @param {object} config
|
|
628
628
|
*/
|
|
629
|
-
|
|
630
|
-
|
|
629
|
+
async request(config) {
|
|
630
|
+
return this._api.request(config);
|
|
631
631
|
}
|
|
632
632
|
/**
|
|
633
633
|
* Returns data
|
|
634
634
|
*/
|
|
635
|
-
data() {
|
|
636
|
-
let keys = Object.keys(this).filter(key => {
|
|
635
|
+
data() <span class="cstat-no" title="statement not covered" >{</span>
|
|
636
|
+
let keys = <span class="cstat-no" title="statement not covered" >Object.keys(this).filter(<span class="fstat-no" title="function not covered" >key => </span>{</span>
|
|
637
637
|
// using underscore convention to not include private data
|
|
638
|
-
return key[0] != '_'
|
|
638
|
+
<span class="cstat-no" title="statement not covered" > return key[0] != '_';</span>
|
|
639
639
|
});
|
|
640
640
|
// deliberately adding _id back in even though it's "private"
|
|
641
|
-
keys.push('_id')
|
|
642
|
-
let data = {}
|
|
643
|
-
keys.forEach(key => {
|
|
644
|
-
data[key] = this[key]
|
|
641
|
+
<span class="cstat-no" title="statement not covered" > keys.push('_id');</span>
|
|
642
|
+
let data = <span class="cstat-no" title="statement not covered" >{};</span>
|
|
643
|
+
<span class="cstat-no" title="statement not covered" > keys.forEach(<span class="fstat-no" title="function not covered" >key => </span>{</span>
|
|
644
|
+
<span class="cstat-no" title="statement not covered" > data[key] = this[key];</span>
|
|
645
645
|
});
|
|
646
|
-
return data
|
|
646
|
+
<span class="cstat-no" title="statement not covered" > return data;</span>
|
|
647
647
|
}
|
|
648
648
|
/**
|
|
649
649
|
* Register a callback to a model method
|
|
@@ -651,7 +651,7 @@ export default class Model {
|
|
|
651
651
|
* @param {string} method
|
|
652
652
|
* @param {function} callback
|
|
653
653
|
*/
|
|
654
|
-
|
|
654
|
+
static registerCallback(method, callback) {
|
|
655
655
|
<span class="cstat-no" title="statement not covered" > _bindings[method].push(callback);</span>
|
|
656
656
|
}
|
|
657
657
|
/**
|
|
@@ -660,22 +660,22 @@ export default class Model {
|
|
|
660
660
|
*
|
|
661
661
|
* @param {object} data
|
|
662
662
|
*/
|
|
663
|
-
|
|
664
|
-
let input = <span class="
|
|
663
|
+
async save(data = {}) {
|
|
664
|
+
let input = data.length ? <span class="branch-0 cbranch-no" title="branch not covered" >data : this.data();</span>
|
|
665
665
|
|
|
666
|
-
|
|
667
|
-
let inputDiff =
|
|
668
|
-
|
|
666
|
+
if (input._id) {
|
|
667
|
+
let inputDiff = diff(this._lastState, input);
|
|
668
|
+
this._lastState = await this.update(input._id, inputDiff);
|
|
669
669
|
} else {
|
|
670
|
-
|
|
670
|
+
this._lastState = await this.create(input);
|
|
671
671
|
}
|
|
672
672
|
|
|
673
673
|
// fires events with the result
|
|
674
|
-
<span class="cstat-no" title="statement not covered" > _bindings.save.forEach(<span class="fstat-no" title="function not covered" >
|
|
674
|
+
<span class="cstat-no" title="statement not covered" > _bindings.save.forEach(<span class="fstat-no" title="function not covered" >callback => </span>{</span>
|
|
675
675
|
<span class="cstat-no" title="statement not covered" > callback(this._lastState);</span>
|
|
676
676
|
});
|
|
677
677
|
|
|
678
|
-
|
|
678
|
+
return this._lastState;
|
|
679
679
|
}
|
|
680
680
|
/**
|
|
681
681
|
* Merges incoming data into the model data
|
|
@@ -683,12 +683,12 @@ export default class Model {
|
|
|
683
683
|
* @param {object} data
|
|
684
684
|
*/
|
|
685
685
|
set(data) {
|
|
686
|
-
return _.merge(this, data)
|
|
686
|
+
<span class="cstat-no" title="statement not covered" > return _.merge(this, data);</span>
|
|
687
687
|
}
|
|
688
688
|
/**
|
|
689
689
|
* Returns a deep clone of the current object
|
|
690
690
|
*/
|
|
691
|
-
|
|
691
|
+
clone() {
|
|
692
692
|
<span class="cstat-no" title="statement not covered" > return cloneDeep(this);</span>
|
|
693
693
|
}
|
|
694
694
|
/**
|
|
@@ -696,7 +696,7 @@ export default class Model {
|
|
|
696
696
|
*
|
|
697
697
|
* @param {object} params
|
|
698
698
|
*/
|
|
699
|
-
|
|
699
|
+
static all(params = {}) <span class="cstat-no" title="statement not covered" >{</span>
|
|
700
700
|
<span class="cstat-no" title="statement not covered" > return this.find(params);</span>
|
|
701
701
|
}
|
|
702
702
|
/**
|
|
@@ -704,29 +704,29 @@ export default class Model {
|
|
|
704
704
|
*
|
|
705
705
|
* @param {object} params
|
|
706
706
|
*/
|
|
707
|
-
|
|
708
|
-
let api =
|
|
707
|
+
static async find(params = {}) {
|
|
708
|
+
let api = connection();
|
|
709
709
|
let url;
|
|
710
710
|
<span class="cstat-no" title="statement not covered" > if (typeof params === 'string') {</span>
|
|
711
|
-
let
|
|
711
|
+
let <span class="cstat-no" title="statement not covered" >id = params;</span>
|
|
712
712
|
<span class="cstat-no" title="statement not covered" > url = `${this._resource}/${id}`;</span>
|
|
713
713
|
<span class="cstat-no" title="statement not covered" > params = {};</span>
|
|
714
714
|
} else {
|
|
715
715
|
<span class="cstat-no" title="statement not covered" > url = this._resource;</span>
|
|
716
716
|
}
|
|
717
717
|
|
|
718
|
-
|
|
719
|
-
var res =
|
|
718
|
+
try {
|
|
719
|
+
var res = await api.get(url, {params});
|
|
720
720
|
} catch (e) {
|
|
721
|
-
|
|
721
|
+
throw new Error(`${e.message}: GET /${url} ${JSON.stringify(params)}`);
|
|
722
722
|
}
|
|
723
723
|
|
|
724
724
|
// fires events with the result
|
|
725
|
-
<span class="cstat-no" title="statement not covered" > _bindings.find.forEach(<span class="fstat-no" title="function not covered" >
|
|
725
|
+
<span class="cstat-no" title="statement not covered" > _bindings.find.forEach(<span class="fstat-no" title="function not covered" >callback => </span>{</span>
|
|
726
726
|
<span class="cstat-no" title="statement not covered" > callback(res.data);</span>
|
|
727
727
|
});
|
|
728
728
|
|
|
729
|
-
|
|
729
|
+
return res.data;
|
|
730
730
|
}
|
|
731
731
|
/**
|
|
732
732
|
* Creates a resource
|
|
@@ -734,17 +734,17 @@ export default class Model {
|
|
|
734
734
|
* @param {string} name
|
|
735
735
|
* @param {object} data
|
|
736
736
|
*/
|
|
737
|
-
|
|
738
|
-
let url =
|
|
739
|
-
var res =
|
|
740
|
-
validateStatus: <span class="fstat-no" title="function not covered" >(
|
|
737
|
+
async create(data) {
|
|
738
|
+
let url = `${this._endpoint}/${this._resource}`;
|
|
739
|
+
var res = await this._api.post(url, data, {
|
|
740
|
+
validateStatus: <span class="fstat-no" title="function not covered" >(</span>status) => { <span class="cstat-no" title="statement not covered" >return true }</span>
|
|
741
741
|
});
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
742
|
+
switch (res.status) {
|
|
743
|
+
case 500:
|
|
744
|
+
throw new Error(`HTTP 500: POST ${url}: ${res.data.type} - ${res.data.message}`);
|
|
745
745
|
}
|
|
746
746
|
<span class="cstat-no" title="statement not covered" > Object.assign(this, res.data);</span>
|
|
747
|
-
|
|
747
|
+
return res.data;
|
|
748
748
|
}
|
|
749
749
|
/**
|
|
750
750
|
* Updates a resource
|
|
@@ -752,23 +752,23 @@ export default class Model {
|
|
|
752
752
|
* @param {string} name
|
|
753
753
|
* @param {object} data
|
|
754
754
|
*/
|
|
755
|
-
|
|
756
|
-
let currentId = <span class="
|
|
757
|
-
|
|
758
|
-
|
|
755
|
+
async update(id = '', data) {
|
|
756
|
+
let currentId = <span class="branch-0 cbranch-no" title="branch not covered" >id || </span>this._id;
|
|
757
|
+
if (!currentId) {
|
|
758
|
+
throw new Error("unable to update record without an _id");
|
|
759
759
|
}
|
|
760
|
-
let url =
|
|
761
|
-
var res =
|
|
762
|
-
validateStatus: <span class="fstat-no" title="function not covered" >(
|
|
760
|
+
let url = `${this._endpoint}/${this._resource}/${currentId}`;
|
|
761
|
+
var res = await this._api.patch(url, data, {
|
|
762
|
+
validateStatus: <span class="fstat-no" title="function not covered" >(</span>status) => { <span class="cstat-no" title="statement not covered" >return true }</span>
|
|
763
763
|
});
|
|
764
|
-
|
|
764
|
+
switch (res.status) {
|
|
765
765
|
case 500:
|
|
766
|
-
|
|
766
|
+
throw new Error(`HTTP 500: PATCH ${url}: ${res.data.type} - ${res.data.message}`);
|
|
767
767
|
case 400:
|
|
768
|
-
|
|
768
|
+
throw new Error(`HTTP 400: PATCH ${url}: ${res.data.info.message} - ${JSON.stringify(data)}`);
|
|
769
769
|
}
|
|
770
770
|
<span class="cstat-no" title="statement not covered" > Object.assign(this, res.data);</span>
|
|
771
|
-
|
|
771
|
+
return res.data;
|
|
772
772
|
}
|
|
773
773
|
/**
|
|
774
774
|
* Reads a resource
|
|
@@ -776,13 +776,13 @@ export default class Model {
|
|
|
776
776
|
* @param {string} name
|
|
777
777
|
* @param {object} opts
|
|
778
778
|
*/
|
|
779
|
-
|
|
780
|
-
let currentId = <span class="
|
|
781
|
-
|
|
782
|
-
|
|
779
|
+
async read(id = '', opts = {}) {
|
|
780
|
+
let currentId = <span class="branch-0 cbranch-no" title="branch not covered" >id || </span>this._id;
|
|
781
|
+
if (!currentId) {
|
|
782
|
+
throw new Error("unable to read record without an _id");
|
|
783
783
|
}
|
|
784
|
-
let url =
|
|
785
|
-
|
|
784
|
+
let url = `${this._endpoint}/${this._resource}/${currentId}`;
|
|
785
|
+
return this._api.get(url, opts).then(<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >res => res.data);</span></span>
|
|
786
786
|
}
|
|
787
787
|
/**
|
|
788
788
|
* Deletes a resource
|
|
@@ -790,13 +790,13 @@ export default class Model {
|
|
|
790
790
|
* @param {string} name
|
|
791
791
|
* @param {string} id
|
|
792
792
|
*/
|
|
793
|
-
|
|
794
|
-
let currentId = <span class="
|
|
795
|
-
|
|
796
|
-
|
|
793
|
+
async delete(id = '') {
|
|
794
|
+
let currentId = <span class="branch-0 cbranch-no" title="branch not covered" >id || </span>this._id;
|
|
795
|
+
if (!currentId) {
|
|
796
|
+
throw new Error("unable to delete record without an _id");
|
|
797
797
|
}
|
|
798
|
-
let url =
|
|
799
|
-
|
|
798
|
+
let url = `${this._endpoint}/${this._resource}/${id}`;
|
|
799
|
+
return this._api.delete(url).then(<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >res => res.data);</span></span>
|
|
800
800
|
}
|
|
801
801
|
}
|
|
802
802
|
</pre></td></tr>
|
|
@@ -805,7 +805,7 @@ export default class Model {
|
|
|
805
805
|
</div><!-- /wrapper -->
|
|
806
806
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
807
807
|
Code coverage
|
|
808
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Wed Nov 27 2019 12:
|
|
808
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Wed Nov 27 2019 12:25:59 GMT-0600 (Central Standard Time)
|
|
809
809
|
</div>
|
|
810
810
|
</div>
|
|
811
811
|
<script src="prettify.js"></script>
|