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

let editLogsDB: any = {};

editLogsDB.add = async ({
  tenantId,
  clientId,
  roomId,
  propId,
  oldAmount,
  newAmount,
  oldBalance,
  newBalance,
  dueId,
  ledgerReferenceId,
  dueDate,
  rentStartDate,
  rentEndDate,
  dueType,
  doneByUserType,
  doneBy,
}: editLogsTypes) => {
  const query = `INSERT INTO EditLogs (tenantId, clientId, roomId, propId, oldAmount, newAmount, oldBalance, newBalance, dueId, ledgerReferenceId, dueDate, rentStartDate, rentEndDate, dueType, doneByUserType, doneBy) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`;
  const data = [
    tenantId,
    clientId,
    roomId,
    propId,
    oldAmount,
    newAmount,
    oldBalance,
    newBalance,
    dueId,
    ledgerReferenceId,
    dueDate,
    rentStartDate,
    rentEndDate,
    dueType,
    doneByUserType,
    doneBy,
  ];
  await DB.execute<ResultSetHeader[]>(query, data);
  return true;
};

export default editLogsDB;
