HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //var/dev/shahnamag/back-end/src/verse/verse-keyword.service.ts
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { VerseKeyword } from './entities/verse-keyword.entity';
import { UpdateVerseKeywordDto } from './dto/update-verse-keyword.dto';

@Injectable()
export class VerseKeywordService {
  constructor(
    @InjectRepository(VerseKeyword) private verseKeywordRepo: Repository<VerseKeyword>,
    ) {}

  // create(createVerseDto: CreateVerseDto) {
  //   return 'This action adds a new verse';
  // }

  findAll(take: number, skip: number, showRelations: boolean = true, where: any = {}) {
    let relations = showRelations ? ['keyword', 'verse'] : [];
    let query: any = {where, relations};
    if(take) {
      query.take = +take;
      query.skip = +skip || 0;
    }
    return this.verseKeywordRepo.findAndCount(query);
  }

  findOne(id: number) {
    return this.verseKeywordRepo.findOne({where: {id}, relations: ['keyword', 'verse']});
  }

  async update(id: number, updateVerseKeywordDto: UpdateVerseKeywordDto) {
    return this.verseKeywordRepo.update({id}, {state: updateVerseKeywordDto.state});
  }

  // remove(id: number) {
  //   return `This action removes a #${id} verse`;
  // }
}