Align sendEmail and sendEmailTask with updated BaseEmail typing

- Refactor `sendEmail` to return extended type with `id` for better type inference.
- Update `sendEmailTask` to use `BaseEmail` instead of `Email`.
- Add `outputSchema` in `sendEmailTask` for consistent output structure.
This commit is contained in:
2025-09-13 22:46:30 +02:00
parent 6ad90874cf
commit 06f9c2cb5b
2 changed files with 13 additions and 12 deletions

View File

@@ -36,10 +36,10 @@ export interface SendEmailOptions<T extends BaseEmail = BaseEmail> {
* })
* ```
*/
export const sendEmail = async <T extends BaseEmail = BaseEmail>(
export const sendEmail = async <T extends BaseEmail = BaseEmail, ID = string | number>(
payload: Payload,
options: SendEmailOptions<T>
): Promise<T> => {
): Promise<T & {id: ID}> => {
const mailing = getMailing(payload)
const collectionSlug = options.collectionSlug || mailing.collections.emails || 'emails'
@@ -97,7 +97,7 @@ export const sendEmail = async <T extends BaseEmail = BaseEmail>(
data: emailData
})
return email as T
return email as T & {id: ID}
}
export default sendEmail