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

100% Statements 9/9
100% Branches 0/0
100% Functions 7/7
100% Lines 7/7

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      14x       1x 1x 1x       1x                   1x         1x        
import { update as updateUser } from "../cache/user";
import type { UseContextedMutationOptions } from "../context";
 
export const options: UseContextedMutationOptions<"auth.login"> = {
	mutationKey: "auth.login",
	onSuccess:
		({ queryClient, trpc }) =>
		async ({ user, peer }, variables) => {
			await queryClient.invalidateQueries(trpc.pathFilter());
			updateUser(
				{ queryClient, trpc },
				{
					get: (controller) => {
						controller.upsert({
							user: { ...user, email: variables.email },
							peer,
						});
					},
				},
			);
		},
	successToastOptions:
		({ t }) =>
		() => ({
			text: t("toasts.login.success", { ns: "login" }),
		}),
	errorToastOptions:
		({ t }) =>
		(errors) => ({
			text: t("toasts.login.error", { ns: "login", errors }),
		}),
};