Skip to content

Commit

Permalink
feat(authentication-service): repositories now allow user to override…
Browse files Browse the repository at this point in the history
… model reference (#1720)

gh-1223
  • Loading branch information
yeshamavani authored Oct 17, 2023
1 parent 0f90bb6 commit 88a64dd
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
import {Getter, inject} from '@loopback/core';
import {juggler} from '@loopback/repository';
import {Entity, juggler} from '@loopback/repository';
import {
DefaultUserModifyCrudRepository,
IAuthUserWithPermissions,
Expand All @@ -24,7 +24,9 @@ export class RoleRepository extends DefaultUserModifyCrudRepository<
protected readonly getCurrentUser: Getter<
IAuthUserWithPermissions | undefined
>,
@inject('models.Role')
private readonly role: typeof Entity & {prototype: Role},
) {
super(Role, dataSource, getCurrentUser);
super(role, dataSource, getCurrentUser);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,20 @@
// https://opensource.org/licenses/MIT
import {Getter, inject} from '@loopback/core';
import {
Entity,
HasManyRepositoryFactory,
repository,
juggler,
repository,
} from '@loopback/repository';
import {AuthenticationBindings} from 'loopback4-authentication';
import {
DefaultUserModifyCrudRepository,
IAuthUserWithPermissions,
} from '@sourceloop/core';
import {AuthenticationBindings} from 'loopback4-authentication';

import {Tenant, TenantConfig} from '../models';
import {TenantConfigRepository} from './tenant-config.repository';
import {AuthDbSourceName} from '../types';
import {TenantConfigRepository} from './tenant-config.repository';

export class TenantRepository extends DefaultUserModifyCrudRepository<
Tenant,
Expand All @@ -35,8 +36,10 @@ export class TenantRepository extends DefaultUserModifyCrudRepository<
>,
@repository.getter('TenantConfigRepository')
protected tenantConfigRepositoryGetter: Getter<TenantConfigRepository>,
@inject('models.Tenant')
private readonly tenant: typeof Entity & {prototype: Tenant},
) {
super(Tenant, dataSource, getCurrentUser);
super(tenant, dataSource, getCurrentUser);
this.tenantConfigs = this.createHasManyRepositoryFactoryFor(
'tenantConfigs',
tenantConfigRepositoryGetter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import {Getter, inject} from '@loopback/core';
import {
BelongsToAccessor,
Entity,
HasManyRepositoryFactory,
juggler,
repository,
Expand Down Expand Up @@ -55,8 +56,10 @@ export class UserTenantRepository extends DefaultSoftCrudRepository<
protected roleRepositoryGetter: Getter<RoleRepository>,
@repository.getter('UserLevelPermissionRepository')
protected userLevelPermissionRepositoryGetter: Getter<UserLevelPermissionRepository>,
@inject('models.UserTenant')
private readonly userTenant: typeof Entity & {prototype: UserTenant},
) {
super(UserTenant, dataSource);
super(userTenant, dataSource);
this.userLevelPermissions = this.createHasManyRepositoryFactoryFor(
'userLevelPermissions',
userLevelPermissionRepositoryGetter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {Getter, inject} from '@loopback/core';
import {
BelongsToAccessor,
DataObject,
Entity,
HasManyRepositoryFactory,
HasOneRepositoryFactory,
juggler,
Expand Down Expand Up @@ -73,8 +74,10 @@ export class UserRepository extends DefaultUserModifyCrudRepository<
@inject(LOGGER.LOGGER_INJECT) private readonly logger: ILogger,
@inject(AuthServiceBindings.PASSWORD_DECRYPTION_PROVIDER)
private readonly passwordDecryptionFn: PasswordDecryptionFn,
@inject('models.User')
private readonly user: typeof Entity & {prototype: User},
) {
super(User, dataSource, getCurrentUser);
super(user, dataSource, getCurrentUser);
this.userTenants = this.createHasManyRepositoryFactoryFor(
'userTenants',
userTenantRepositoryGetter,
Expand Down

0 comments on commit 88a64dd

Please sign in to comment.