@keltoi/hydra 2.0.4 → 2.0.6

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.
Files changed (2) hide show
  1. package/index.js +39 -46
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -88,6 +88,10 @@ class Entity{
88
88
  static fromResult(result=new Result()){
89
89
  if(result.isError) return Promise.reject(result)
90
90
  }
91
+
92
+ static collectionfromResult(result=new Result()){
93
+ if(result.isError) return Promise.reject(result)
94
+ }
91
95
  }
92
96
 
93
97
  class Model {
@@ -203,11 +207,11 @@ class Traceable extends Entity{
203
207
  db.schema.createTable(
204
208
  model.name,
205
209
  table=>{
206
- schema(table);
207
-
208
210
  table.dateTime('createdAt')
209
211
  .notNullable()
210
212
  .defaultTo(db.fn.now());
213
+
214
+ schema(table);
211
215
  }
212
216
  )
213
217
  )
@@ -275,10 +279,10 @@ class Thing extends Entity{
275
279
  db.schema.createTable(
276
280
  thing.name,
277
281
  table=>{
278
- schema(table);
279
-
280
282
  table.string('name',size)
281
283
  .notNullable();
284
+
285
+ schema(table);
282
286
  }
283
287
  )
284
288
  )
@@ -318,8 +322,6 @@ class Changeable extends Entity{
318
322
  db.schema.hasTable(model.name),
319
323
  ()=>Promise.resolve(
320
324
  db.schema.createTable(model.name,table=>{
321
- schema(table);
322
-
323
325
  table.dateTime('createdAt')
324
326
  .notNullable()
325
327
  .defaultTo(db.fn.now());
@@ -329,6 +331,8 @@ class Changeable extends Entity{
329
331
 
330
332
  table.boolean('active')
331
333
  .defaultTo(true);
334
+
335
+ schema(table);
332
336
  })
333
337
  )
334
338
  )
@@ -460,44 +464,41 @@ let Repository$1 = class Repository{
460
464
  .then(ids=>new Result({
461
465
  data:{ key: ids[0] }
462
466
  }))
463
- .catch(err=>Promise.reject(
464
- new Result({code:500,message:err})
465
- ))
467
+ .catch(err=>Promise.reject( new Result({code:500,message:err}) ))
466
468
 
467
469
  update = (entity = new Entity())=>
468
470
  this.myContext()
469
471
  .where(entity.key)
470
472
  .update(entity.data)
471
473
  .then(affected=>new Result({ data:affected }))
472
- .catch(err=>Promise.reject(
473
- new Result({code:500,message:err})
474
- ))
474
+ .catch(err=>Promise.reject( new Result({code:500,message:err}) ))
475
475
 
476
476
  delete = (entity = new Entity())=>
477
477
  this.myContext()
478
478
  .where(entity.key)
479
479
  .del()
480
480
  .then(affected=>new Result({ data:affected }))
481
- .catch(err=>Promise.reject(
482
- new Result({code:500,message:err})
483
- ))
481
+ .catch(err=>Promise.reject( new Result({code:500,message:err}) ))
484
482
 
485
483
  get = (entity = new Entity())=>
486
484
  this.myContext()
487
485
  .where(entity.key)
488
486
  .first()
489
- .then(model=>{
490
- if (!!model) return new Result({ data:model })
491
-
492
- const error = new Result({code:404,message:'Not found'});
493
-
494
- return Promise.reject(error)
495
- })
487
+ .then(Repository.resultModelOrError)
496
488
 
497
489
  list = ()=>
498
490
  this.myContext()
499
491
  .select()
500
492
  .then(models=>new Result({ data:models }))
493
+ .catch(err=>Promise.reject( new Result({code:500,message:err}) ))
494
+
495
+ static resultModelOrError(model){
496
+ if (!!model) return new Result({ data:model })
497
+
498
+ const error = new Result({code:404,message:'Not found'});
499
+
500
+ return Promise.reject(error)
501
+ }
501
502
  };
502
503
 
503
504
  class ChangeableRepository extends Repository$1{
@@ -511,6 +512,7 @@ class ChangeableRepository extends Repository$1{
511
512
  .select()
512
513
  .orderBy(['createdAt','updatedAt'],order)
513
514
  .then(result => new Result({data:result}))
515
+ .catch(err=>Promise.reject( new Result({code:500,message:err}) ))
514
516
 
515
517
  before = (date = new Date(), order = 'asc') =>
516
518
  this.myContext()
@@ -519,6 +521,7 @@ class ChangeableRepository extends Repository$1{
519
521
  .select()
520
522
  .orderBy(['createdAt','updatedAt'],order)
521
523
  .then(result => new Result({data:result}))
524
+ .catch(err=>Promise.reject( new Result({code:500,message:err}) ))
522
525
 
523
526
  after = (date=new Date(), order = 'asc') =>
524
527
  this.myContext()
@@ -527,6 +530,7 @@ class ChangeableRepository extends Repository$1{
527
530
  .select()
528
531
  .orderBy(['createdAt','updatedAt'],order)
529
532
  .then(result => new Result({data:result}))
533
+ .catch(err=>Promise.reject( new Result({code:500,message:err}) ))
530
534
 
531
535
  list = (order = 'asc') =>
532
536
  this.myContext()
@@ -534,32 +538,21 @@ class ChangeableRepository extends Repository$1{
534
538
  .select()
535
539
  .orderBy(['createdAt','updatedAt'],order)
536
540
  .then(result => new Result({data:result}))
541
+ .catch(err=>Promise.reject( new Result({code:500,message:err}) ))
537
542
 
538
543
  last = () =>
539
544
  this.myContext()
540
545
  .where({active:true})
541
546
  .first()
542
547
  .orderBy('createdAt',"desc")
543
- .then(result => {
544
- if (!!result) return result
545
-
546
- const error = new Result({code:404,message:'Not found'});
547
-
548
- return Promise.reject(error)
549
- })
548
+ .then(Repository$1.resultModelOrError)
550
549
 
551
550
  first = () =>
552
551
  this.myContext()
553
552
  .where({active:true})
554
553
  .first()
555
554
  .orderBy('createdAt',"asc")
556
- .then(result => {
557
- if (!!result) return result
558
-
559
- const error = new Result({code:404,message:'Not found'});
560
-
561
- return Promise.reject(error)
562
- })
555
+ .then(Repository$1.resultModelOrError)
563
556
  }
564
557
 
565
558
  class TraceableRepository extends Repository$1{
@@ -571,13 +564,8 @@ class TraceableRepository extends Repository$1{
571
564
  this.myContext()
572
565
  .where(traceable.key)
573
566
  .first()
574
- .then(model => {
575
- if (!!model) return model
576
-
577
- const error = new Result({code:404,message:'Not found'});
578
-
579
- return Promise.reject(error)
580
- })
567
+ .then(Repository$1.resultModelOrError)
568
+ .catch(err=>Promise.reject( new Result({code:500,message:err})) )
581
569
 
582
570
  before = (date = new Date(), order = 'asc') =>
583
571
  this.myContext()
@@ -585,6 +573,7 @@ class TraceableRepository extends Repository$1{
585
573
  .select()
586
574
  .orderBy('createdAt',order)
587
575
  .then(result => new Result({data:result}))
576
+ .catch(err=>Promise.reject( new Result({code:500,message:err})) )
588
577
 
589
578
  after = (date = new Date(), order = 'asc') =>
590
579
  this.myContext()
@@ -592,16 +581,18 @@ class TraceableRepository extends Repository$1{
592
581
  .select()
593
582
  .orderBy('createdAt',order)
594
583
  .then(result => new Result({data:result}))
584
+ .catch(err=>Promise.reject( new Result({code:500,message:err})) )
595
585
 
596
586
  list = (order='asc') =>
597
587
  this.myContext()
598
588
  .select()
599
589
  .orderBy('createdAt',order)
600
590
  .then(result => new Result({data:result}))
591
+ .catch(err=>Promise.reject( new Result({code:500,message:err})) )
601
592
 
602
- update = () => Promise.reject(new Result({code:400,message:'Cannot update a logged object'}))
593
+ update = () => Promise.reject( new Result({code:400,message:'Cannot update a logged object'}) )
603
594
 
604
- delete = () => Promise.reject(new Result({code:400,message:'Cannot delete a logged object'}))
595
+ delete = () => Promise.reject( new Result({code:400,message:'Cannot delete a logged object'}) )
605
596
 
606
597
  }
607
598
 
@@ -618,7 +609,7 @@ class ThingRepository extends Repository$1{
618
609
  ?new Result({data:result})
619
610
  :new Result({code:404,message:'Not found'})
620
611
  )
621
- .catch(err=>Promise.reject(new Result({code:500,message:err})))
612
+ .catch(err=>Promise.reject( new Result({code:500,message:err}) ))
622
613
  }
623
614
 
624
615
  class DbLinked {
@@ -700,6 +691,7 @@ class DbLinked {
700
691
  })
701
692
  )
702
693
  .then(result=>new Result({data:result}))
694
+ .catch(err=>Promise.reject(new Result({code:500,message:err})));
703
695
  }
704
696
 
705
697
  getOrdinatesByAbscissa(linked=new Linking()){
@@ -720,6 +712,7 @@ class DbLinked {
720
712
  })
721
713
  )
722
714
  .then(result=>new Result({data:result}))
715
+ .catch(err=>Promise.reject( new Result({code:500,message:err}) ));
723
716
  }
724
717
 
725
718
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keltoi/hydra",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "description": "Boilerplate to start your API from zero using Repository Pattern",
5
5
  "main": "index.js",
6
6
  "module": "index.js",