Files
supabase/studio/components/interfaces/Auth/SmtpForm/SmtpForm.utils.ts

32 lines
959 B
TypeScript

import { AuthConfig } from '../Auth.types'
interface AuthConfigForm extends AuthConfig {
ENABLE_SMTP: boolean
}
export const isSmtpEnabled = (config?: Partial<AuthConfig>): boolean => {
return !!(
config?.SMTP_ADMIN_EMAIL &&
config?.SMTP_SENDER_NAME &&
config?.SMTP_USER &&
config?.SMTP_HOST &&
config?.SMTP_PASS &&
config?.SMTP_PORT &&
(config?.SMTP_MAX_FREQUENCY ?? 0) > 0
)
}
export const generateFormValues = (config?: Partial<AuthConfig>): Partial<AuthConfigForm> => {
return {
ENABLE_SMTP: isSmtpEnabled(config),
SMTP_ADMIN_EMAIL: config?.SMTP_ADMIN_EMAIL ?? '',
SMTP_SENDER_NAME: config?.SMTP_SENDER_NAME ?? '',
SMTP_USER: config?.SMTP_USER ?? '',
SMTP_HOST: config?.SMTP_HOST ?? '',
SMTP_PASS: config?.SMTP_PASS ?? '',
SMTP_PORT: config?.SMTP_PORT ?? 465,
SMTP_MAX_FREQUENCY: config?.SMTP_MAX_FREQUENCY ?? 60,
RATE_LIMIT_EMAIL_SENT: config?.RATE_LIMIT_EMAIL_SENT ?? 30,
}
}