mirror of
https://github.com/xtr-dev/payload-mailing.git
synced 2025-12-10 08:13:23 +00:00
Merge pull request #26 from xtr-dev/dev
Refactor `sendEmail` to improve type safety and align with `BaseEmail…
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@xtr-dev/payload-mailing",
|
"name": "@xtr-dev/payload-mailing",
|
||||||
"version": "0.1.9",
|
"version": "0.1.10",
|
||||||
"description": "Template-based email system with scheduling and job processing for PayloadCMS",
|
"description": "Template-based email system with scheduling and job processing for PayloadCMS",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
import { Payload } from 'payload'
|
import { Payload } from 'payload'
|
||||||
import { getMailing, renderTemplate, parseAndValidateEmails } from './utils/helpers.js'
|
import { getMailing, renderTemplate, parseAndValidateEmails } from './utils/helpers.js'
|
||||||
import {Email} from "./payload-types.js"
|
import {Email} from "./payload-types.js"
|
||||||
|
import {BaseEmail} from "./types/index.js"
|
||||||
|
|
||||||
// Options for sending emails
|
// Options for sending emails
|
||||||
export interface SendEmailOptions<T extends Email = Email> {
|
export interface SendEmailOptions<T extends BaseEmail = BaseEmail> {
|
||||||
// Template-based email
|
// Template-based email
|
||||||
template?: {
|
template?: {
|
||||||
slug: string
|
slug: string
|
||||||
@@ -35,7 +36,7 @@ export interface SendEmailOptions<T extends Email = Email> {
|
|||||||
* })
|
* })
|
||||||
* ```
|
* ```
|
||||||
*/
|
*/
|
||||||
export const sendEmail = async <T extends Email = Email>(
|
export const sendEmail = async <T extends BaseEmail = BaseEmail>(
|
||||||
payload: Payload,
|
payload: Payload,
|
||||||
options: SendEmailOptions<T>
|
options: SendEmailOptions<T>
|
||||||
): Promise<T> => {
|
): Promise<T> => {
|
||||||
|
|||||||
Reference in New Issue
Block a user