File: /var/dev/shahnamag/back-end/src/verse/verse-person.service.ts
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { VersePerson } from './entities/verse-person.entity';
import { UpdateVersePersonDto } from './dto/update-verse-person.dto';
import { CreateVersePersonDto } from './dto/create-verse-person.dto';
@Injectable()
export class VersePersonService {
constructor(
@InjectRepository(VersePerson) private versePersonRepo: Repository<VersePerson>,
) {}
findOne(id: number) {
return this.versePersonRepo.findOne({where: {id}, relations: ['person', 'verse']});
}
findAll(take: number, skip: number, showRelations: boolean = true, where: any = {}) {
let relations = showRelations ? ['person', 'verse'] : [];
let query: any = {where, relations};
if(take) {
query.take = +take;
query.skip = +skip || 0;
}
return this.versePersonRepo.findAndCount(query);
}
create(createVersePersonDto: CreateVersePersonDto) {
const record = this.versePersonRepo.create(createVersePersonDto);
return this.versePersonRepo.save(record);
}
async update(id: number, updateVersePersonDto: UpdateVersePersonDto) {
return this.versePersonRepo.update({id}, {state: updateVersePersonDto.state});
}
remove(record: VersePerson) {
return this.versePersonRepo.remove(record);
}
}