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

const noticePollOptionDB: any = {};

noticePollOptionDB.addPollOption = async ({
  clientId,
  noticeId,
  description,
}: noticePollOptionTypes) => {
  const query =
    "INSERT INTO NoticePollOptions (clientId, noticeId, description) VALUES (?, ?, ?)";
  const data = [clientId, noticeId, description];
  const [rows] = await DB.execute<ResultSetHeader>(query, data);
  return rows.affectedRows > 0 ? true : false;
};

noticePollOptionDB.getPollOptionsByNoticeId = async ({
  noticeId,
}: noticePollOptionTypes) => {
  const query = "SELECT * FROM NoticePollOptions WHERE noticeId = ?";
  const data = [noticeId];
  const [rows] = await DB.execute<RowDataPacket[]>(query, data);
  if (rows.length > 0) return rows;
  return [];
};


noticePollOptionDB.remove = async ({ noticeId }: { noticeId: number }) => {
  const query = "Delete from NoticePollOptions where noticeId = ?";
  const data = [noticeId];
  const [rows] = await DB.query<ResultSetHeader>(query, data);
  return rows.insertId;
};

export default noticePollOptionDB;
