File tree Expand file tree Collapse file tree 2 files changed +16
-18
lines changed
lib/core/src/repositories Expand file tree Collapse file tree 2 files changed +16
-18
lines changed Original file line number Diff line number Diff line change 1+ import { Transaction } from './transaction' ;
12import { UnitOfWork } from './unit-of-work' ;
23
34// TODO:
@@ -13,16 +14,14 @@ import { UnitOfWork } from './unit-of-work';
1314 * Persistence oriented repository that provides an abstraction layer between the domain and data mapping layers.
1415 * Acts like an in-memory domain object collection.
1516 */
16- export abstract class Repository < Entity , Identity > {
17+ export abstract class Repository <
18+ Entity ,
19+ Identity ,
20+ Context extends UnitOfWork | Transaction = UnitOfWork | Transaction
21+ > {
1722 public abstract getById ( anIdentity : Identity ) : Promise < Entity | null > ;
1823
19- public abstract save (
20- anObject : Entity ,
21- aUnitOfWork ?: UnitOfWork
22- ) : Promise < Entity > ;
24+ public abstract save ( anObject : Entity , context ?: Context ) : Promise < Entity > ;
2325
24- public abstract delete (
25- anObject : Entity ,
26- aUnitOfWork ?: UnitOfWork
27- ) : Promise < Entity > ;
26+ public abstract delete ( anObject : Entity , context ?: Context ) : Promise < Entity > ;
2827}
Original file line number Diff line number Diff line change 1+ import { Transaction } from './transaction' ;
12import { UnitOfWork } from './unit-of-work' ;
23
34// TODO:
@@ -13,16 +14,14 @@ import { UnitOfWork } from './unit-of-work';
1314 * Persistence oriented repository that provides an abstraction layer between the domain and data mapping layers.
1415 * Acts like an in-memory domain object collection.
1516 */
16- export abstract class Repository < Entity , Identity > {
17+ export abstract class Repository <
18+ Entity ,
19+ Identity ,
20+ Context extends UnitOfWork | Transaction = UnitOfWork | Transaction
21+ > {
1722 public abstract getById ( anIdentity : Identity ) : Promise < Entity | null > ;
1823
19- public abstract save (
20- anObject : Entity ,
21- aUnitOfWork ?: UnitOfWork
22- ) : Promise < Entity > ;
24+ public abstract save ( anObject : Entity , context ?: Context ) : Promise < Entity > ;
2325
24- public abstract delete (
25- anObject : Entity ,
26- aUnitOfWork ?: UnitOfWork
27- ) : Promise < Entity > ;
26+ public abstract delete ( anObject : Entity , context ?: Context ) : Promise < Entity > ;
2827}
You can’t perform that action at this time.
0 commit comments