import { Injectable } from "@nestjs/common";
import { InjectRepository } from "@nestjs/typeorm";
import { Repository, ILike } from "typeorm";
import { ChiefComplaintsList } from "./entities/chief_complaints_list.entity";

@Injectable()
export class ChiefComplaintsListService {
  constructor(
    @InjectRepository(ChiefComplaintsList)
    private readonly chiefComplaintsRepository: Repository<ChiefComplaintsList>
  ) { }

  async findAll(keyword: string): Promise<ChiefComplaintsList[]> {
    if (keyword) {
      return await this.chiefComplaintsRepository.find({
        where: {
          chief_complaints: ILike(`%${keyword}%`),
        },
        take: 10,
      });
    } else {
      return await this.chiefComplaintsRepository.find({
        take: 10,
      });
    }

  }

  async searchOrCreate(keyword: string): Promise<ChiefComplaintsList[]> {
    const newComplaint = this.chiefComplaintsRepository.create({
      chief_complaints: keyword,
    });
    let complaint = [await this.chiefComplaintsRepository.save(newComplaint)];
    return complaint;
  }
}
