All files / src/repositories company-document.repository.ts

100% Statements 23/23
100% Branches 0/0
100% Functions 1/1
100% Lines 21/21

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 1051x 1x         1x 1x                   1x               1x                                                         19x   19x   19x   19x   19x   19x   19x   19x         19x         19x         19x         19x         19x       19x       19x      
import {Getter, inject} from '@loopback/core';
import {
  BelongsToAccessor,
  HasManyRepositoryFactory,
  repository,
} from '@loopback/repository';
import {LogChainDataSource} from '../datasources';
import {
  Company,
  CompanyDocument,
  CompanyDocumentRelations,
  CompanyGateGroup,
  Feature,
  Form,
  Module,
  User,
} from '../models';
import {BaseCrudRepository} from './base-crud.repository.base';
import {CompanyGateGroupRepository} from './company-gate-group.repository';
import {CompanyRepository} from './company.repository';
import {FeatureRepository} from './feature.repository';
import {FormRepository} from './form.repository';
import {ModuleRepository} from './module.repository';
import {UserRepository} from './user.repository';
 
export class CompanyDocumentRepository extends BaseCrudRepository<
  CompanyDocument,
  typeof CompanyDocument.prototype.id,
  CompanyDocumentRelations
> {
  public readonly company: BelongsToAccessor<
    Company,
    typeof CompanyDocument.prototype.id
  >;
  public readonly feature: BelongsToAccessor<
    Feature,
    typeof CompanyDocument.prototype.id
  >;
  public readonly module: BelongsToAccessor<
    Module,
    typeof CompanyDocument.prototype.id
  >;
  public readonly company_gate_groups: HasManyRepositoryFactory<
    CompanyGateGroup,
    typeof CompanyDocument.prototype.id
  >;
 
  public readonly form: BelongsToAccessor<Form, typeof Form.prototype.id>;
 
  public readonly creator: BelongsToAccessor<User, typeof User.prototype.id>;
  public readonly modifier: BelongsToAccessor<User, typeof User.prototype.id>;
  constructor(
    @inject('datasources.logchain') dataSource: LogChainDataSource,
    @repository.getter('CompanyRepository')
    protected companyRepositoryGetter: Getter<CompanyRepository>,
    @repository.getter('UserRepository')
    protected userRepositoryGetter: Getter<UserRepository>,
    @repository.getter('FeatureRepository')
    protected featureRepositoryGetter: Getter<FeatureRepository>,
    @repository.getter('ModuleRepository')
    protected moduleRepositoryGetter: Getter<ModuleRepository>,
    @repository.getter('CompanyGateGroupRepository')
    protected companyGateGroupRepositoryGetter: Getter<CompanyGateGroupRepository>,
    @repository.getter('FormRepository')
    protected formRepositoryGetter: Getter<FormRepository>,
  ) {
    super(CompanyDocument, dataSource);
 
    this.company = this.createBelongsToAccessor(
      'company',
      companyRepositoryGetter,
    );
 
    this.feature = this.createBelongsToAccessor(
      'feature',
      featureRepositoryGetter,
    );
 
    this.module = this.createBelongsToAccessor(
      'module',
      moduleRepositoryGetter,
    );
 
    this.creator = this.createBelongsToAccessor(
      'creator',
      userRepositoryGetter,
    );
 
    this.modifier = this.createBelongsToAccessor(
      'modifier',
      userRepositoryGetter,
    );
 
    this.company_gate_groups = this.createHasManyRepositoryFactoryFor(
      'company_gate_groups',
      companyGateGroupRepositoryGetter,
    );
    this.registerInclusionResolver(
      'company_gate_groups',
      this.company_gate_groups.inclusionResolver,
    );
    this.form = this.createBelongsToAccessor('form', formRepositoryGetter);
  }
}