Skip to content

Commit

Permalink
Merge 91ed8f4 into 28185b6
Browse files Browse the repository at this point in the history
  • Loading branch information
clayrisser committed Feb 14, 2019
2 parents 28185b6 + 91ed8f4 commit e739a4b
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 3 deletions.
Expand Up @@ -40,7 +40,7 @@ export class TodoListRepository extends DefaultCrudRepository<
'todos',
todoRepositoryGetter,
);
this.image = this._createHasOneRepositoryFactoryFor(
this.image = this.createHasOneRepositoryFactoryFor(
'image',
todoListImageRepositoryGetter,
);
Expand Down
Expand Up @@ -35,11 +35,11 @@ export class CustomerRepository extends DefaultCrudRepository<
addressRepositoryGetter: Getter<AddressRepository>,
) {
super(Customer, db);
this.orders = this._createHasManyRepositoryFactoryFor(
this.orders = this.createHasManyRepositoryFactoryFor(
'orders',
orderRepositoryGetter,
);
this.address = this._createHasOneRepositoryFactoryFor(
this.address = this.createHasOneRepositoryFactoryFor(
'address',
addressRepositoryGetter,
);
Expand Down
27 changes: 27 additions & 0 deletions packages/repository/src/repositories/legacy-juggler-bridge.ts
Expand Up @@ -244,13 +244,40 @@ export class DefaultCrudRepository<T extends Entity, ID>
);
}

/**
* @deprecated
* Function to create a constrained hasOne relation repository factory
*
* @param relationName Name of the relation defined on the source model
* @param targetRepo Target repository instance
*/
protected _createHasOneRepositoryFactoryFor<
Target extends Entity,
TargetID,
ForeignKeyType
>(
relationName: string,
targetRepoGetter: Getter<EntityCrudRepository<Target, TargetID>>,
): HasOneRepositoryFactory<Target, ForeignKeyType> {
return this.createHasOneRepositoryFactoryFor(
relationName,
targetRepoGetter,
);
}

/**
* Function to create a constrained hasOne relation repository factory
*
* @param relationName Name of the relation defined on the source model
* @param targetRepo Target repository instance
*/
protected createHasOneRepositoryFactoryFor<
Target extends Entity,
TargetID,
ForeignKeyType
>(
relationName: string,
targetRepoGetter: Getter<EntityCrudRepository<Target, TargetID>>,
): HasOneRepositoryFactory<Target, ForeignKeyType> {
const meta = this.entityClass.definition.relations[relationName];
return createHasOneRepositoryFactory<Target, TargetID, ForeignKeyType>(
Expand Down

0 comments on commit e739a4b

Please sign in to comment.