import { createMail, type MailMessage, type MailResult } from '@platform-modules/mail'
import { makeResendAdapter } from '@platform-modules/mail/resend'
import type { Env } from '../../env'

export function getMailClient(env: Pick<Env, 'RESEND_API_KEY'>) {
  return createMail(
    makeResendAdapter({
      apiKey: env.RESEND_API_KEY,
    }),
  )
}

export async function sendMail(
  env: Pick<Env, 'RESEND_API_KEY'>,
  message: MailMessage,
): Promise<MailResult> {
  return getMailClient(env).send(message)
}
