import { inject, injectable } from 'inversify' import { Repository } from 'typeorm' import TYPES from '../../Bootstrap/Types' import { Predicate } from '../../Domain/Predicate/Predicate' import { PredicateRepositoryInterface } from '../../Domain/Predicate/PredicateRepositoryInterface' @injectable() export class MySQLPredicateRepository implements PredicateRepositoryInterface { constructor( @inject(TYPES.ORMPredicateRepository) private ormRepository: Repository, ) {} async save(predicate: Predicate): Promise { return this.ormRepository.save(predicate) } async findByJobUuid(jobUuid: string): Promise { return this.ormRepository .createQueryBuilder('predicate') .where('predicate.job_uuid = :jobUuid', { jobUuid, }) .getMany() } }