import Card from "#models/card";
import Duo from "#models/duo";
import User from "#models/user";
import { HttpContext } from "@adonisjs/core/http";

export default class SearchController {

  async users({params}: HttpContext) {
    let users: User[] = []
    const all = await User.all()
    all.forEach(user => {
        if(user.email.includes(params.email)) {
            users.push(user)
        }
    })
    return users
  }

  async duos({params}: HttpContext) {
    let duos: Duo[] = []
    const all = await Duo.all()
    all.forEach(duo => {
      if(duo.name.includes(this.capitalizeFirstLetter(params.name))) {
        duos.push(duo)
      }
      if(duo.name.includes(this.capitalizeFirstLetter(params.name.toLowerCase()))) {
        duos.push(duo)
      }
    })
    return duos
  }

  async cards({params}: HttpContext) {
    let cards: Card[] = []
    const all = await Card.all()
    all.forEach(card => {
        if(card.name.includes(this.capitalizeFirstLetter(params.name))) {
            cards.push(card)
        }
        if(card.name.includes(this.capitalizeFirstLetter(params.name.toLowerCase()))) {
          cards.push(card)
        }
    })
    return cards
  }

  private capitalizeFirstLetter(str: string): string {
    return str.charAt(0).toUpperCase() + str.slice(1);
  }

}