import { QueryBiRepositoryImp } from "@/infra/QueryBiRepositoryImp.js"
import { QueryBiUsecase } from "@/usecases/QueryBiUsecase.js"
import { Request, Response } from "express"

export async function query(req: Request, res: Response) {
    try {
          const bi = String(req.query.bi || "").trim()

        if (!bi || bi?.length != 14) {
            return res.status(400).json({
                message: "O número de BI fornecido é inválido."
            })
        }

        const queryBiRepository = new QueryBiRepositoryImp()
        const queryBiUsecase = new QueryBiUsecase(queryBiRepository)

        const response = await queryBiUsecase.execute(bi)

        return res.status(200).json({
             "success":true ,
             "data":response
        })
    } catch (error) {
         return res.status(400).json({
              "success":false,
             "mesage":"Bilhete Não Encotrado "
         })
    }
}