mirror of
https://github.com/documenso/documenso.git
synced 2025-11-14 08:42:12 +10:00
36 lines
871 B
TypeScript
36 lines
871 B
TypeScript
import { DocumentStatus, RecipientRole } from '@prisma/client';
|
|
|
|
import { prisma } from '@documenso/prisma';
|
|
|
|
import { authenticatedProcedure } from '../trpc';
|
|
import { ZGetInboxCountRequestSchema, ZGetInboxCountResponseSchema } from './get-inbox-count.types';
|
|
|
|
export const getInboxCountRoute = authenticatedProcedure
|
|
.input(ZGetInboxCountRequestSchema)
|
|
.output(ZGetInboxCountResponseSchema)
|
|
.query(async ({ input, ctx }) => {
|
|
const { readStatus } = input ?? {};
|
|
|
|
const userEmail = ctx.user.email;
|
|
|
|
const count = await prisma.recipient.count({
|
|
where: {
|
|
email: userEmail,
|
|
readStatus,
|
|
role: {
|
|
not: RecipientRole.CC,
|
|
},
|
|
document: {
|
|
status: {
|
|
not: DocumentStatus.DRAFT,
|
|
},
|
|
deletedAt: null,
|
|
},
|
|
},
|
|
});
|
|
|
|
return {
|
|
count,
|
|
};
|
|
});
|