UNPKG

aladinnetwork-blockstack

Version:

The Aladin Javascript library for authentication, identity, and storage.

114 lines 3.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * * @param serviceName * @param data * * @ignore */ function formatAccount(serviceName, data) { let proofUrl; if (data.proof && data.proof.url) { proofUrl = data.proof.url; } return { '@type': 'Account', service: serviceName, identifier: data.username, proofType: 'http', proofUrl }; } /** * * @param profile * * @ignore */ function getPersonFromLegacyFormat(profile) { const profileData = { '@type': 'Person' }; if (profile) { if (profile.name && profile.name.formatted) { profileData.name = profile.name.formatted; } if (profile.bio) { profileData.description = profile.bio; } if (profile.location && profile.location.formatted) { profileData.address = { '@type': 'PostalAddress', addressLocality: profile.location.formatted }; } const images = []; if (profile.avatar && profile.avatar.url) { images.push({ '@type': 'ImageObject', name: 'avatar', contentUrl: profile.avatar.url }); } if (profile.cover && profile.cover.url) { images.push({ '@type': 'ImageObject', name: 'cover', contentUrl: profile.cover.url }); } if (images.length) { profileData.image = images; } if (profile.website) { profileData.website = [{ '@type': 'WebSite', url: profile.website }]; } const accounts = []; if (profile.bitcoin && profile.bitcoin.address) { accounts.push({ '@type': 'Account', role: 'payment', service: 'bitcoin', identifier: profile.bitcoin.address }); } if (profile.twitter && profile.twitter.username) { accounts.push(formatAccount('twitter', profile.twitter)); } if (profile.facebook && profile.facebook.username) { accounts.push(formatAccount('facebook', profile.facebook)); } if (profile.github && profile.github.username) { accounts.push(formatAccount('github', profile.github)); } if (profile.auth) { if (profile.auth.length > 0) { if (profile.auth[0] && profile.auth[0].publicKeychain) { accounts.push({ '@type': 'Account', role: 'key', service: 'bip32', identifier: profile.auth[0].publicKeychain }); } } } if (profile.pgp && profile.pgp.url) { accounts.push({ '@type': 'Account', role: 'key', service: 'pgp', identifier: profile.pgp.fingerprint, contentUrl: profile.pgp.url }); } profileData.account = accounts; } return profileData; } exports.getPersonFromLegacyFormat = getPersonFromLegacyFormat; //# sourceMappingURL=personLegacy.js.map