import { useMutation } from "react-query"; import type { MutationOptions } from "@/@types/types/query.types"; import { useHttp } from "@/hooks/useHttp"; import { getEnvs } from "@/libs/environment/env"; import type { ValidateTransactionPayload } from "./validate-transaction-services.types"; import { ValidateTransactionResultSerializer } from "./validate-transaction-services-serializer"; export const useValidateTransactionMutation = ( options?: MutationOptions, ) => { const http = useHttp("masterpass-api"); const env = getEnvs(); const service = (variables: ValidateTransactionPayload) => http .post("/validateTransaction", { sendSms: env.masterpassSendSms, fp: null, dateTime: new Date().toISOString(), // anlık zaman validationRefNo: variables.validationRefNo, // bir önceki istekten dönen token token: null, userId: variables.userId, // masterpassUserData.msısdn, referenceNo: variables.referenceNo, // masterpassUserData.referenceNumber, validationCode: variables.validationCode, // otp'den gelen değer pinType: "otp", serviceUrl: env.masterpassUrl, clientId: env.masterpassClientId, version: env.masterpassVersion, clientType: env.masterpassClientType, sendSmsLanguage: env.masterpassSendSmsLanguage, clientIp: "", }) .then((res) => ValidateTransactionResultSerializer(res.data)); return useMutation({ mutationFn: service, mutationKey: "validate-transaction-mutation", ...options, }); };