All files / src/services company-regulatory-histories.service.ts

38.89% Statements 7/18
0% Branches 0/4
0% Functions 0/4
33.33% Lines 5/15

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  1x 1x     1x 1x     1x                                                                                  
 
import { injectable, BindingScope } from '@loopback/core';
import { repository, Options } from '@loopback/repository';
 
import { BaseResponses, CompanyRegulatoryHistories } from '@logchain/models';
import { CompanyRegulatoryHistoriesRepository } from '@logchain/repositories';
import { BaseService } from '.';
 
@injectable({ scope: BindingScope.TRANSIENT })
export class CompanyRegulatoryHistoriesService extends BaseService<CompanyRegulatoryHistories>{
  constructor(
    @repository(CompanyRegulatoryHistoriesRepository)
    public companyRegulatoryHistoriesRepo: CompanyRegulatoryHistoriesRepository,
  ) {
    super();
  }
 
  /**
   * Builds the query for company regulatory histories.
   * @param q The query string.
   */
  async buildSearchQuery(q?: string) {
    if (!q) { return; }
 
    const ilikeValue = this.buildILikeValue(q);
    this.filter_builder.impose({
      or: [
        {
          comment: ilikeValue,
        }
      ],
    });
  }
 
  public ensureRightAccessRecord(): void {
    this.filter_builder.impose({
      company_id: this.current_user.company_id,
    });
  }
 
  async findCompanyRegulatoryHistories(companyId?: number, options?: Options): Promise<BaseResponses<CompanyRegulatoryHistories>> {
    if (companyId) {
      this.filter_builder.impose({
        company_id: companyId,
      });
    }
    this.filter_builder.order(['created_date DESC']);
    return this.companyRegulatoryHistoriesRepo.findWithPaging(this.filter_builder.build(), options);
  }
}