import { RowDataPacket } from "mysql2";
import DB from "../config/database/db";
import subscriptionTypes from "../schemas/subscription.schema";

const subscriptionDB: any = {};

subscriptionDB.getById = async ({ id }: subscriptionTypes) => {
  const query = "Select * from Subscription where id = ?";
  const data = [id];
  const [rows] = await DB.execute<RowDataPacket[]>(query, data);

  if (rows?.length > 0) return rows[0];
  else return false;
};

subscriptionDB.getByClientId = async ({ clientId }: subscriptionTypes) => {
  const query = "Select startDate, nextBillingDue, status, plan, amount, gracePeriod, isGSTInvoice, showRestrictionToStaff, paymentLink from Subscription where clientId = ?";
  const data = [clientId];
  const [rows] = await DB.execute<RowDataPacket[]>(query, data);

  if (rows?.length > 0) return rows[0];
  else return false;
};

export default subscriptionDB;