chore: enhance error handling in sendInvite mutation and invalidate email cache on success
This commit is contained in:
parent
6890ed64c7
commit
f1a323f478
2 changed files with 24 additions and 10 deletions
|
|
@ -31,12 +31,16 @@ export const UserViewHeader = () => {
|
||||||
router.reload();
|
router.reload();
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
const utils = api.useUtils();
|
||||||
const { mutateAsync: sendInvite } = api.invite.sendInvite.useMutation({
|
const { mutateAsync: sendInvite } = api.invite.sendInvite.useMutation({
|
||||||
onError: (error) => {
|
onError: (error) => {
|
||||||
toast.error(error.message);
|
toast.error(error.message);
|
||||||
},
|
},
|
||||||
onSuccess: async () => {
|
onSuccess: async () => {
|
||||||
toast.success("Email inviata con successo");
|
toast.success("Email inviata con successo");
|
||||||
|
await utils.comunicazioni.getEmails.invalidate({
|
||||||
|
userId: data?.id || "",
|
||||||
|
});
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
if (!data) return <div>Errore</div>;
|
if (!data) return <div>Errore</div>;
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ export const inviteRouter = createTRPCRouter({
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
.mutation(async ({ input }) => {
|
.mutation(async ({ input }) => {
|
||||||
|
try {
|
||||||
const user = await getUser({ userId: input.id, db });
|
const user = await getUser({ userId: input.id, db });
|
||||||
const token = await createInviteToken(user.email);
|
const token = await createInviteToken(user.email);
|
||||||
|
|
||||||
|
|
@ -40,6 +41,15 @@ export const inviteRouter = createTRPCRouter({
|
||||||
});
|
});
|
||||||
|
|
||||||
return { success: true };
|
return { success: true };
|
||||||
|
} catch (e) {
|
||||||
|
console.error("Error in sendInvite:", e);
|
||||||
|
throw new TRPCError({
|
||||||
|
code: "INTERNAL_SERVER_ERROR",
|
||||||
|
message:
|
||||||
|
"Errore durante l'invio dell'invito: " +
|
||||||
|
(e instanceof Error ? e.message : "Unknown error"),
|
||||||
|
});
|
||||||
|
}
|
||||||
}),
|
}),
|
||||||
|
|
||||||
// Verify invite token (public - user clicking the link)
|
// Verify invite token (public - user clicking the link)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue