UNPKG

@web3auth/no-modal

Version:
52 lines (49 loc) 1.79 kB
import { post } from '@toruslabs/http-helpers'; import { getAccountLinkingRequestError, AccountLinkingError } from './errors.js'; /** * Send both identity proofs to the Citadel account-linking endpoint and * return a normalized result. * * Throws AccountLinkingError when the server returns an error or the request itself fails. */ async function makeAccountLinkingRequest(authServerUrl, accessToken, payload) { const url = `${authServerUrl}/v1/link/wallet`; let result; try { result = await post(url, payload, { headers: { Authorization: `Bearer ${accessToken}` } }); } catch (cause) { const accountLinkingError = await getAccountLinkingRequestError(cause); throw accountLinkingError; } if (!result.success) { var _result$message; const errMessage = (_result$message = result.message) !== null && _result$message !== void 0 ? _result$message : "Failed to link account"; throw AccountLinkingError.requestFailed(errMessage); } return result; } async function makeAccountUnlinkingRequest(authServerUrl, accessToken, payload) { const url = `${authServerUrl}/v1/unlink`; let result; try { result = await post(url, payload, { headers: { Authorization: `Bearer ${accessToken}` } }); } catch (cause) { const message = cause instanceof Error ? cause.message : String(cause); throw AccountLinkingError.requestFailed(message, cause); } if (!result.success) { var _result$message2; const errMessage = (_result$message2 = result.message) !== null && _result$message2 !== void 0 ? _result$message2 : "Failed to unlink account"; throw AccountLinkingError.requestFailed(errMessage); } return result; } export { makeAccountLinkingRequest, makeAccountUnlinkingRequest };