32 lines
1.2 KiB
TypeScript
32 lines
1.2 KiB
TypeScript
/**
|
|||
|
|
* Auto-import all email definitions to register them in the registry
|
||
|
|
*
|
||
|
|
* When this module is imported, all emails are automatically registered
|
||
|
|
* and available for use with the send() function.
|
||
|
|
*/
|
||
|
|
|
||
|
|
// Import all email definitions (side effect: registers them)
|
||
|
|
export * from './forgot-password';
|
||
|
|
export * from './welcome';
|
||
|
|
export * from './verify-email';
|
||
|
|
export * from './on-password-reset';
|
||
|
|
|
||
|
|
// Import types for schema mapping (must be after exports to avoid circular dependency)
|
||
|
|
import type { forgotPasswordEmail } from './forgot-password';
|
||
|
|
import type { onPasswordResetEmail } from './on-password-reset';
|
||
|
|
import type { verifyEmailEmail } from './verify-email';
|
||
|
|
import type { welcomeEmail } from './welcome';
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Type mapping that maps each EmailId to its corresponding Zod schema type
|
||
|
|
* This is used for compile-time type inference in sendEmail()
|
||
|
|
*
|
||
|
|
* **Important**: When adding a new email, add its schema mapping here!
|
||
|
|
*/
|
||
|
|
export type EmailSchemas = {
|
||
|
|
forgotPassword: typeof forgotPasswordEmail.template.schema;
|
||
|
|
welcome: typeof welcomeEmail.template.schema;
|
||
|
|
verifyEmail: typeof verifyEmailEmail.template.schema;
|
||
|
|
onPasswordReset: typeof onPasswordResetEmail.template.schema;
|
||
|
|
};
|