All files / packages/mutations/src/auth register.ts

100% Statements 11/11
100% Branches 0/0
100% Functions 9/9
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44      8x       1x 1x 1x       1x                               2x         1x         1x        
import { update as updateUser } from "../cache/user";
import type { UseContextedMutationOptions } from "../context";
 
export const options: UseContextedMutationOptions<"auth.register"> = {
	mutationKey: "auth.register",
	onSuccess:
		({ queryClient, trpc }) =>
		async ({ user: { id, verified } }, variables) => {
			await queryClient.invalidateQueries(trpc.pathFilter());
			updateUser(
				{ queryClient, trpc },
				{
					get: (controller) => {
						controller.upsert({
							peer: { name: variables.name },
							user: {
								id,
								email: variables.email,
								verified,
								avatarUrl: undefined,
								role: undefined,
							},
						});
					},
				},
			);
		},
	mutateToastOptions:
		({ t }) =>
		() => ({
			text: t("toasts.register.mutate", { ns: "register" }),
		}),
	successToastOptions:
		({ t }) =>
		() => ({
			text: t("toasts.register.success", { ns: "register" }),
		}),
	errorToastOptions:
		({ t }) =>
		(errors) => ({
			text: t("toasts.register.error", { ns: "register", errors }),
		}),
};