@affinidi-tdk/iota-browser
Version:
Browser module to fetch data through Affinidi Iota Framework
41 lines • 1.47 kB
JavaScript
import { VaultUtils } from '@affinidi-tdk/common';
function buildShareLinkInternal(url, request, client_id) {
const params = new URLSearchParams();
params.append('request', request);
params.append('client_id', client_id);
const queryString = params.toString();
return `${url}/login?${queryString}`;
}
export class IotaRequest {
session;
correlationId;
payload;
constructor(params) {
this.session = params.session;
this.correlationId = params.correlationId;
this.payload = params.payload;
}
async getResponse() {
return this.session.getResponse(this.correlationId);
}
getResponseWithCallback(correlationId, callback) {
this.session.getResponseWithCallback(correlationId, callback);
}
openVault(params) {
const handlerHandlerParams = {
link: params?.link ?? this.getSuggestedLink(),
mode: params?.mode,
};
this.session.vaultHandler.openVault(handlerHandlerParams);
}
getSuggestedLink() {
if (typeof window !== 'undefined' && window.localStorage) {
const vaultUrl = window.localStorage.getItem('affinidiVaultUrl');
if (vaultUrl) {
return buildShareLinkInternal(vaultUrl, this.payload.request, this.payload.client_id);
}
}
return VaultUtils.buildShareLink(this.payload.request, this.payload.client_id);
}
}
//# sourceMappingURL=request.js.map