Add schedule api (#60)

This commit is contained in:
KM Koushik
2024-08-21 17:19:11 +10:00
committed by GitHub
parent 1e66222425
commit 9b54fc1793
21 changed files with 920 additions and 86 deletions

View File

@@ -4,6 +4,7 @@ import { z } from "zod";
import { createTRPCRouter, teamProcedure } from "~/server/api/trpc";
import { db } from "~/server/db";
import { cancelEmail, updateEmail } from "~/server/service/email-service";
const statuses = Object.values(EmailStatus) as [EmailStatus];
@@ -39,6 +40,7 @@ export const emailRouter = createTRPCRouter({
latestStatus: true,
subject: true,
to: true,
scheduledAt: true,
},
orderBy: {
createdAt: "desc",
@@ -187,9 +189,22 @@ export const emailRouter = createTRPCRouter({
domainId: true,
text: true,
html: true,
scheduledAt: true,
},
});
return email;
}),
cancelEmail: teamProcedure
.input(z.object({ id: z.string() }))
.mutation(async ({ input }) => {
await cancelEmail(input.id);
}),
updateEmailScheduledAt: teamProcedure
.input(z.object({ id: z.string(), scheduledAt: z.string().datetime() }))
.mutation(async ({ input }) => {
await updateEmail(input.id, { scheduledAt: input.scheduledAt });
}),
});