export function ajaxCall(url, dataType = null, type = null, data = null) { return new Promise((resolve, reject) => { $.ajax({ url: url, dataType: dataType, type: type, data: data, success: function (res) { resolve(res); // Resolve with the response }, error: function (res) { reject(res); // Reject with the error response }, }); }); } export function getPromotion() { return ajaxCall("/api/v1/promotion", "json", "GET", null); } export function userLogin(url, idToken, username = null, promocode = null, stag = null) { return ajaxCall(url, null, "POST", { 'accessToken': idToken, 'username': username, 'promo_code': promocode, 'stag': stag }); } export function pwdverifyFirebaseOTP(url, idToken, username = null, promocode = null, stag = null) { return ajaxCall(url, null, "POST", { 'accessToken': idToken, 'username': username, 'promo_code': promocode, 'resetPwd': true, 'stag': stag }); } export function sendLoginSasOTP(url,phoneNumber){ return ajaxCall(url, null, "POST", { 'phoneNumber': phoneNumber, }); } export function verifySasOtp(url,phoneNumber,codeAsInteger,username=null,promocode=null,stag=null){ return ajaxCall(url, null, "POST", { 'phoneNumber': phoneNumber, 'code':codeAsInteger, 'username': username, 'promo_code': promocode, 'stag': stag }); } export function pwdVerifySasOtp(url,phoneNumber,codeAsInteger,username=null,promocode=null,stag=null){ return ajaxCall(url, null, "POST", { 'phoneNumber': phoneNumber, 'code':codeAsInteger, 'username': username, 'promo_code': promocode, 'resetPwd': true, 'stag': stag }); } export function passwordReset(url,pwdIdToken,promocode=null,newPassword,sessionVal,userID,userName=null,isSasEnable){ return ajaxCall(url,null,"POST",{ 'accessToken': pwdIdToken, 'promo_code': promocode, 'password' :newPassword, 'sessionVal': sessionVal, 'userId': userID, 'username': userName, 'isSasEnable': isSasEnable, }); } export function pwdLogin(url,mobNo,password){ return ajaxCall(url,null,"POST",{ 'username': mobNo, 'password': password, }); } export function userLogout(url){ return ajaxCall(url,null,"GET",{}); } export function userDeposit(amount, promocode = null, paymentmode = null, args = null) { return ajaxCall("/api/v1/deposit", "json", "POST", { 'amount': amount, 'promocode': promocode, 'paymentmode': paymentmode, 'args': args }); } export function getPaymentList() { return ajaxCall("/api/v1/payment-getway", "json", "GET", null); } export function getPromoCode() { return ajaxCall("/api/v1/promo/coupons", "json", "GET", null); } export function promoCodeApply(amount, coupons = null) { return ajaxCall("/api/v1/promoCode/apply", "json", "GET", { 'amount': amount, 'coupons': coupons, }); } export function userBalance() { return ajaxCall("/api/v1/balance", "json", "GET", null); } export function getUserProfileData() { return ajaxCall("/api/v1/getUserProfileData", "json", "GET", null); } export function getPendingWithdrawal() { return ajaxCall("/api/v1/getPendingWithdrawal?status=1", "json", "GET", null); } export function rejectPendingWithdrawal(row_id, token) { return ajaxCall("/api/v1/rejectPendingWithdrawal", null, "POST", { "row_id": row_id, "_token": token, }); } export function raiseWithdrawal(amount, bank_id) { return ajaxCall("/api/v1/raise-withdrawal", null, "POST", { amount: amount, bank_id: bank_id }); } export function getTransaction(limit, offset) { return ajaxCall("/api/v1/getTransaction", null, "GET", { limit: limit, offset: offset, }); } export function getAllTransaction(limit, offset) { return ajaxCall("/api/v1/getAllTransaction", null, "GET", { limit: limit, offset: offset, }); } export function getDepositTransaction(limit, offset) { return ajaxCall("/api/v1/getDepositTransaction", null, "GET", { limit: limit, offset: offset, }); } export function manualDeposit(amount, promocode, paymentmode, utr) { return ajaxCall("/api/v1/manual-deposit", "json", "POST", { amount: amount, promocode: promocode, paymentmode: paymentmode, utr: utr }); } export function ftdStatus(callback) { ajaxCall("/api/v1/ftd-status", "json", "POST", {}, callback); } export function getWithdrawalTransaction(limit, offset) { return ajaxCall("/api/v1/getWithdrawalTransaction", null, "GET", { limit: limit, offset: offset, }); } export function referralCode() { return ajaxCall("/api/v1/referral-code", "json", "GET", null); } export function getUsernameStatus() { return ajaxCall("/api/v1/getUsernameStatus", "json", "GET", null); } export function countryList() { return ajaxCall("/api/v1/countryList", "json", "GET", null); } export function stateList(countryId) { return ajaxCall("/api/v1/stateList", "json", "GET", { countryId: countryId, }); } export function citiesList(stateId) { return ajaxCall("/api/v1/citiesList", "json", "GET", { stateId: stateId, }); } export function userProfileUpdate(dataObject) { return ajaxCall("/api/v1/userProfileUpdate", null, "POST", dataObject); } export function profileImageUpdate(dataObject) { return $.ajax({ url: '/api/v1/profileImageUpdate', type: "POST", data: dataObject, cache: false, contentType: false, processData: false, }); } export function uploadDepositImg(dataObject) { return ajaxCall("/api/v1/menual-deposit-img", null, "POST", dataObject); } export function userManualDeposit(amount, promocode = null, paymentmode = null, utr = null) { return ajaxCall("/api/v1/manual-deposit", "json", "POST", { 'amount': amount, 'promocode': promocode, 'paymentmode': paymentmode, 'utr': utr }); } export function getKycDetails() { return ajaxCall("/api/v1/GetKycDetails", "json", "GET", null); } export function uploadKyc(dataObject) { return $.ajax({ url: "/api/v1/uplodeKycDetails", type: "POST", data: dataObject, cache: false, contentType: false, processData: false, }); } export function getgameTransaction(limit, offset) { return ajaxCall("/api/v1/getgameTransaction", null, "GET", { limit: limit, offset: offset, }); } export function bonusHistory(limit, offset) { return ajaxCall("/api/v1/bonus-history", null, "GET", { limit: limit, offset: offset, }); } export function fetchProvider(category, categoryId) { return $.ajax({ type: "GET", url: '/categoryProvider', data: { "category": category, "categoryId": categoryId, } }); } export function fetchGames(searchgame, provider, category, page) { return $.ajax({ type: "GET", url: '/backendGameSearch', data: { "search": searchgame, "provider": provider, "category": category, "page": page[3], } }); } export function gameLaunch(game, game_type, game_provider, game_play_category, device) { return $.ajax({ dataType: "json", type: "POST", url: '/api/v1/game-launch-url', data: { game: game, type: "CHARGED", game_type: game_type, game_provider: game_provider, game_play_category: game_play_category, device: device, } }); } export function demoGame(game, device) { return $.ajax({ url: "/api/v1/game-launch-url", dataType: "json", type: "POST", data: { game: game, type: "FREE", device: device } }); } export function sportGame(device, providerName=Null) { return $.ajax({ url: "/api/v1/sports-lobby", dataType: "json", data: { device: device, providerName: providerName } }); } export function sportBook(device) { return $.ajax({ url: "/api/v1/sportsbook", dataType: "json", data: { device: device } }); } export function sportExchange(device) { return $.ajax({ url: "/api/v1/sports-exchange", dataType: "json", data: { device: device } }); } export function withdrawalNotification() { return $.ajax({ url: '/api/v1/withdrawalNotification', dataType: 'json', async: true, }); } export function checkUserAuth() { return $.ajax({ type: "POST", url: '/api/v1/checkUserAuth', }); } export function campaignData(params) { if (params.stag) { setCookie("stag", params.stag, 30); } if(params.utm_source){ var campaignData = { "campaign_id": params.utm_id, "utm_source": params.utm_source, "utm_medium": params.utm_medium, "utm_campaign": params.utm_campaign, "utm_content": params.utm_content, "refferal_url": document.referrer, "campaignsignup": window.location.href, }; setCookie('utm_source', JSON.stringify(campaignData), 30); } } const $otp = $('.otp') const $otpRegex = /[^0-9]/g $otp.on('paste', function(event){ var input = event.originalEvent.clipboardData.getData('text').trim().replace($otpRegex, '').slice(0, 6).split(''); event.preventDefault(); const s = [...input] $otp.val(i => s[i]).eq(5).focus(); checkOTPFilled(); }) $otp.on('keydown input', function(event) { var key = event.key; var input = $(this); input.val(input.val().replace($otpRegex, '')); if (key === "Backspace" && input.prev().length) { event.preventDefault(); input.val('').prev().focus() } else if (key === "ArrowLeft" && input.prev().length) { input.prev().focus(); } else if (key === "ArrowRight" && input.next().length) { input.next().focus(); } else if (/^\d$/.test(key) && input.next().length) { event.preventDefault(); input.val(key).next().focus(); } if (event.keyCode === 190 || event.keyCode === 110) { e.preventDefault(); return false; } checkOTPFilled(); }); function checkOTPFilled() { var otpBoxes = $('.otp'); var isOtpFilled = otpBoxes.toArray().every(box => box.value); $('#verifyotp').prop('disabled', !isOtpFilled); } function withdrawalReciept(uuid) { return $.ajax({ url: "/api/v1/withdrawal-reciept", method: "POST", data: { uuid: uuid }, }); } export function enableSAS() { return $.ajax({ url: "/api/v1/enable-sas", method: "GET", data: {}, }); } //withdraw export function addBankAccount(withdraw_account_no,accUserName,withdraw_ifsc,cnf_withdraw_account_no){ return $.ajax({ url : "/api/v1/add-account", method:"POST", data: { "accountNumber": withdraw_account_no, "accountHolderName": accUserName, "ifsc": withdraw_ifsc, "confirmAccountNumber": cnf_withdraw_account_no }, }); } // Export all functions as an object export default { getPromotion, userLogin, userDeposit, getPaymentList, getPromoCode, promoCodeApply, userBalance, getUserProfileData, getPendingWithdrawal, rejectPendingWithdrawal, raiseWithdrawal, getTransaction, getDepositTransaction, getWithdrawalTransaction, referralCode, getUsernameStatus, countryList, stateList, citiesList, userProfileUpdate, profileImageUpdate, uploadDepositImg, userManualDeposit, getKycDetails, uploadKyc, getgameTransaction, bonusHistory, fetchProvider, fetchGames, gameLaunch, demoGame, sportGame, withdrawalNotification, withdrawalReciept, checkUserAuth, campaignData, sportBook, sportExchange, enableSAS, sendLoginSasOTP, verifySasOtp, userLogout, addBankAccount, getAllTransaction, pwdverifyFirebaseOTP, passwordReset, pwdLogin, ftdStatus };