vorteil/direktiv

View on GitHub
ui/src/api/authenticate/mutate/authenticate.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { checkApiKeyAgainstServer } from "..";
import { toast } from "~/design/Toast";
import { useMutation } from "@tanstack/react-query";
import { useTranslation } from "react-i18next";

export const useAuthenticate = ({
  onSuccess,
}: {
  onSuccess?: (isKeyCorrect: boolean, apiKey: string) => void;
} = {}) => {
  const { t } = useTranslation();
  return useMutation({
    mutationFn: (apiKey: string) => checkApiKeyAgainstServer(apiKey),
    onSuccess: (isKeyCorrect, apiKey) => {
      onSuccess?.(isKeyCorrect, apiKey);
    },
    onError: () => {
      toast({
        title: t("api.generic.error"),
        description: t(
          "api.authentication.mutate.authenticate.error.description"
        ),
        variant: "error",
      });
    },
  });
};