mirror of
https://github.com/documenso/documenso.git
synced 2025-11-15 01:01:49 +10:00
48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
import { z } from 'zod';
|
|
|
|
import { sendConfirmationToken } from '../../server-only/user/send-confirmation-token';
|
|
import type { JobClient } from '../client/client';
|
|
|
|
export const registerSendConfirmationEmailJob = (client: JobClient) => {
|
|
client.defineJob({
|
|
id: 'send.confirmation.email',
|
|
name: 'Send Confirmation Email',
|
|
version: '1.0.0',
|
|
trigger: {
|
|
name: 'send.confirmation.email',
|
|
schema: z.object({
|
|
email: z.string().email(),
|
|
force: z.boolean().optional(),
|
|
}),
|
|
},
|
|
handler: async ({ payload, io }) => {
|
|
console.log('---- start job ----');
|
|
|
|
// eslint-disable-next-line @typescript-eslint/require-await
|
|
const result = await io.runTask('console-log-1', async () => {
|
|
console.log('Task 1');
|
|
|
|
return 5;
|
|
});
|
|
|
|
console.log({ result });
|
|
|
|
console.log('always runs');
|
|
|
|
// eslint-disable-next-line @typescript-eslint/require-await
|
|
await io.runTask('console-log-2', async () => {
|
|
await Promise.resolve(null);
|
|
throw new Error('dang2');
|
|
});
|
|
|
|
console.log('---- end job ----');
|
|
|
|
// throw new Error('dang')
|
|
await sendConfirmationToken({
|
|
email: payload.email,
|
|
force: payload.force,
|
|
});
|
|
},
|
|
});
|
|
};
|