/** انتخاب سرویس پیامک بر اساس SMS_PROVIDER */
import "server-only";
import { env } from "@/lib/env";
import { consoleSms } from "./console";
import { kavenegarSms } from "./kavenegar";
import type { SmsProvider } from "./provider";

let provider: SmsProvider | undefined;

export function sms(): SmsProvider {
  if (provider) return provider;
  const e = env();
  if (e.SMS_PROVIDER === "kavenegar") {
    if (!e.KAVENEGAR_API_KEY) throw new Error("KAVENEGAR_API_KEY تنظیم نشده است");
    provider = kavenegarSms(e.KAVENEGAR_API_KEY, e.KAVENEGAR_OTP_TEMPLATE);
  } else {
    provider = consoleSms;
  }
  return provider;
}
