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

const assetDocumentDB: any = {};

assetDocumentDB.add = async ({
  assetId,
  clientId,
  type,
  value,
}: assetDocumentTypes) => {
  const query =
    "Insert into AssetDocuments (assetId, clientId, type, value) values (?,?,?,?)";
  const data = [assetId, clientId, type, value];
  const [rows] = await DB.query<ResultSetHeader>(query, data);
  return rows.insertId;
};

assetDocumentDB.update = async ({
  id,
  value,
}: assetDocumentTypes) => {
  const query =
    "Update AssetDocuments set value = ? where id = ?";
  const data = [value, id];
  const [rows] = await DB.query<ResultSetHeader>(query, data);
  return rows.affectedRows;
};

assetDocumentDB.getByAssetId = async ({
  assetId,
}: assetDocumentTypes) => {
  const query =
    "Select * from AssetDocuments where assetId = ?";
  const data = [assetId];
  const [rows] = await DB.query<RowDataPacket[]>(query, data);
  if (rows.length > 0) return rows;
  else return false;
};

export default assetDocumentDB;