Files
documenso/packages/trpc/server/team-router/router.ts
David Nguyen 7487399123 feat: add more api logs (#1870)
Adds more detailed API logging using Pino
2025-06-30 19:46:32 +10:00

148 lines
4.5 KiB
TypeScript

import { createTeamEmailVerification } from '@documenso/lib/server-only/team/create-team-email-verification';
import { deleteTeamEmail } from '@documenso/lib/server-only/team/delete-team-email';
import { deleteTeamEmailVerification } from '@documenso/lib/server-only/team/delete-team-email-verification';
import { getTeamEmailByEmail } from '@documenso/lib/server-only/team/get-team-email-by-email';
import { resendTeamEmailVerification } from '@documenso/lib/server-only/team/resend-team-email-verification';
import { updateTeamEmail } from '@documenso/lib/server-only/team/update-team-email';
import { authenticatedProcedure, router } from '../trpc';
import { createTeamRoute } from './create-team';
import { createTeamGroupsRoute } from './create-team-groups';
import { createTeamMembersRoute } from './create-team-members';
import { deleteTeamRoute } from './delete-team';
import { deleteTeamGroupRoute } from './delete-team-group';
import { deleteTeamMemberRoute } from './delete-team-member';
import { findTeamGroupsRoute } from './find-team-groups';
import { findTeamMembersRoute } from './find-team-members';
import { findTeamsRoute } from './find-teams';
import { getTeamRoute } from './get-team';
import { getTeamMembersRoute } from './get-team-members';
import {
ZCreateTeamEmailVerificationMutationSchema,
ZDeleteTeamEmailMutationSchema,
ZDeleteTeamEmailVerificationMutationSchema,
ZResendTeamEmailVerificationMutationSchema,
ZUpdateTeamEmailMutationSchema,
} from './schema';
import { updateTeamRoute } from './update-team';
import { updateTeamGroupRoute } from './update-team-group';
import { updateTeamMemberRoute } from './update-team-member';
import { updateTeamSettingsRoute } from './update-team-settings';
export const teamRouter = router({
find: findTeamsRoute,
get: getTeamRoute,
create: createTeamRoute,
update: updateTeamRoute,
delete: deleteTeamRoute,
member: {
find: findTeamMembersRoute,
getMany: getTeamMembersRoute,
createMany: createTeamMembersRoute,
update: updateTeamMemberRoute,
delete: deleteTeamMemberRoute,
},
group: {
find: findTeamGroupsRoute,
createMany: createTeamGroupsRoute,
update: updateTeamGroupRoute,
delete: deleteTeamGroupRoute,
},
settings: {
update: updateTeamSettingsRoute,
},
// Old routes (to be migrated)
// Todo: Refactor into routes.
email: {
get: authenticatedProcedure.query(async ({ ctx }) => {
return await getTeamEmailByEmail({ email: ctx.user.email });
}),
update: authenticatedProcedure
.input(ZUpdateTeamEmailMutationSchema)
.mutation(async ({ input, ctx }) => {
ctx.logger.info({
input: {
teamId: input.teamId,
},
});
return await updateTeamEmail({
userId: ctx.user.id,
...input,
});
}),
delete: authenticatedProcedure
.input(ZDeleteTeamEmailMutationSchema)
.mutation(async ({ input, ctx }) => {
const { teamId } = input;
ctx.logger.info({
input: {
teamId,
},
});
return await deleteTeamEmail({
userId: ctx.user.id,
userEmail: ctx.user.email,
teamId,
});
}),
verification: {
send: authenticatedProcedure
.input(ZCreateTeamEmailVerificationMutationSchema)
.mutation(async ({ input, ctx }) => {
const { teamId, email, name } = input;
ctx.logger.info({
input: {
teamId,
},
});
return await createTeamEmailVerification({
teamId,
userId: ctx.user.id,
data: {
email,
name,
},
});
}),
resend: authenticatedProcedure
.input(ZResendTeamEmailVerificationMutationSchema)
.mutation(async ({ input, ctx }) => {
const { teamId } = input;
ctx.logger.info({
input: {
teamId,
},
});
await resendTeamEmailVerification({
userId: ctx.user.id,
teamId,
});
}),
delete: authenticatedProcedure
.input(ZDeleteTeamEmailVerificationMutationSchema)
.mutation(async ({ input, ctx }) => {
const { teamId } = input;
ctx.logger.info({
input: {
teamId,
},
});
return await deleteTeamEmailVerification({
userId: ctx.user.id,
teamId,
});
}),
},
},
});