@web3auth/no-modal
Version:
Multi chain wallet aggregator for web3Auth
55 lines (51 loc) • 1.88 kB
JavaScript
;
var httpHelpers = require('@toruslabs/http-helpers');
var errors = require('./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 httpHelpers.post(url, payload, {
headers: {
Authorization: `Bearer ${accessToken}`
}
});
} catch (cause) {
const accountLinkingError = await errors.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 errors.AccountLinkingError.requestFailed(errMessage);
}
return result;
}
async function makeAccountUnlinkingRequest(authServerUrl, accessToken, payload) {
const url = `${authServerUrl}/v1/unlink`;
let result;
try {
result = await httpHelpers.post(url, payload, {
headers: {
Authorization: `Bearer ${accessToken}`
}
});
} catch (cause) {
const message = cause instanceof Error ? cause.message : String(cause);
throw errors.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 errors.AccountLinkingError.requestFailed(errMessage);
}
return result;
}
exports.makeAccountLinkingRequest = makeAccountLinkingRequest;
exports.makeAccountUnlinkingRequest = makeAccountUnlinkingRequest;