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 { RegisterServiceSerializer } from "./register-services.serializer"; import type { RegisterServicePayload } from "./register-services-types"; export const useRegisterMutation = (options?: MutationOptions) => { const http = useHttp("masterpass-api"); const env = getEnvs(); const service = (variables: RegisterServicePayload) => http .post("/register", { cardHolderName: variables.cardHolderName, // kart sahibi isimi email: null, lastName: null, firstName: null, homePostalCode: null, homeCountryCode: null, homeState: null, homeCity: null, homeAddress: null, uiChannelType: "6", timeZone: "+01", sendSms: "N", mobileAccountConfig: "MWA", identityVerificationFlag: "Y", mmrpConfig: "110010", defaultAccount: "Y", cpinFlag: "Y", cardTypeFlag: "05", eActionType: "A", delinkReason: null, actionType: "A", fp: null, dateTime: new Date().toISOString(), token: variables.token, // masterpassUserData.token, msisdn: variables.msisdn, // masterpassUserData.msisdn,; expiryDate: variables.expiryDate, // kart son kullanım tarihi YIlAY cvc: variables.cvc, // kart güvenlik kodu lakin RSA ile şifrelenmiş hali; rtaPan: variables.rtaPan, // kart numarası lakin RSA ile şifrelenmiş hali; accountAliasName: variables.accountAliasName, // kart için girilen özel isim; serviceUrl: env.masterpassUrl, clientId: env.masterpassClientId, version: env.masterpassVersion, clientType: env.masterpassClientType, sendSmsLanguage: env.masterpassSendSmsLanguage, clientIp: "", }) .then((res) => RegisterServiceSerializer(res.data)); return useMutation({ mutationFn: service, mutationKey: "register-mutation", ...options, }); };