Feature/filter in email by domain id and api (#108)

* feat: filter by domainId

* feat: filter on apikey in email

* Update pnpm-lock.yaml

---------

Co-authored-by: KM Koushik <koushikmohan1996@gmail.com>
This commit is contained in:
Suraj
2025-03-08 13:09:59 +05:30
committed by KM Koushik
parent 9c5da6dca6
commit 1c7d2a85a0
5 changed files with 119 additions and 39 deletions

View File

@@ -21,7 +21,8 @@ export const emailRouter = createTRPCRouter({
status: z.enum(statuses).optional().nullable(),
domain: z.number().optional(),
search: z.string().optional().nullable(),
})
apiId: z.number().optional(),
}),
)
.query(async ({ ctx, input }) => {
const page = input.page || 1;
@@ -40,6 +41,7 @@ export const emailRouter = createTRPCRouter({
WHERE "teamId" = ${ctx.team.id}
${input.status ? Prisma.sql`AND "latestStatus"::text = ${input.status}` : Prisma.sql``}
${input.domain ? Prisma.sql`AND "domainId" = ${input.domain}` : Prisma.sql``}
${input.apiId ? Prisma.sql`AND "apiId" = ${input.apiId}` : Prisma.sql``}
${
input.search
? Prisma.sql`AND (
@@ -63,7 +65,7 @@ export const emailRouter = createTRPCRouter({
.input(
z.object({
days: z.number().optional(),
})
}),
)
.query(async ({ ctx, input }) => {
const { team } = ctx;
@@ -146,7 +148,7 @@ export const emailRouter = createTRPCRouter({
clicked: 0,
bounced: 0,
complained: 0,
}
},
);
return { result: filledResult, totalCounts };