import { ResultSetHeader, RowDataPacket } from "mysql2";
import DB from "../config/database/db";
import eqaroCoApplicantsType from "../schemas/eqaroCoApplicants.schema";


const eqaroCoApplicantsDB: any = {};

eqaroCoApplicantsDB.create = async ({
  tenantId,
  // name,
  // dob,
  occupation,
  // email,
  mobile,
  monthlyIncome,
  relation,
}: eqaroCoApplicantsType) => {
  const query =
    "Insert into EqaroCoApplicants (tenantId, occupation, mobile, monthlyIncome, relation) values (?, ?, ?, ?, ?)";
  const data = [
    tenantId,
    // name,
    // dob,
    occupation,
    // email,
    mobile,
    monthlyIncome,
    relation,
  ];
  const [rows] = await DB.query<ResultSetHeader>(query, data);
  return rows.insertId;
};

eqaroCoApplicantsDB.getByTenantId = async ({ tenantId }: eqaroCoApplicantsType) => {
  const query =
    "Select * from EqaroCoApplicants where tenantId = ? order by id desc limit 1";
  const data = [tenantId];
  const [rows] = await DB.query<RowDataPacket[]>(query, data);
  return rows[0];
};

eqaroCoApplicantsDB.updatePersonalInfo = async ({
  tenantId,
  name,
  dob,
  email,
}: eqaroCoApplicantsType) => {
  const query =
    "Update EqaroCoApplicants set name = ?, dob = ?, email = ? where tenantId = ?";
  const data = [name, dob, email, tenantId];
  const [rows] = await DB.query<ResultSetHeader>(query, data);
  return rows.affectedRows;
};

eqaroCoApplicantsDB.deleteByTenantId = async ({
  tenantId,
}: eqaroCoApplicantsType) => {
  const query = "Delete from EqaroCoApplicants where tenantId = ? limit 1";
  const data = [tenantId];
  const [rows] = await DB.query<ResultSetHeader>(query, data);
  return rows.affectedRows;
};

export default eqaroCoApplicantsDB;
