import dayjs from "dayjs";
import utc from "dayjs/plugin/utc.js";
import timezone from "dayjs/plugin/timezone.js";

dayjs.extend(utc);
dayjs.extend(timezone);

export const IST = "Asia/Kolkata";

export const toIST = (
    date: string | Date,
    format = "YYYY-MM-DD HH:mm:ss"
) => dayjs(date).tz(IST).format(format);

export const toUTC = (date: string | Date) =>
    dayjs(date).utc().toDate();

export const nowUTC = () => new Date();

export const tokenExpireTime = () => new Date(Date.now() + 1000 * 60 * 60 * 24);

export const trailExpireTimeDays = (days: number) => {
    return dayjs().add(days, "day").toDate();
};

export const subscriptionExpireTime = (dayType: "second" | "minute" | "hour" | "day" | "week" | "month" | "year", count: number) => {
    return dayjs().add(count, dayType).toDate();
};