UNPKG

@privy-io/server-auth

Version:

Server-side client for the Privy API

2 lines (1 loc) 6.75 kB
"use strict";var e=require("node-fetch-native"),t=require("ts-case-convert");function i(e){return new Date(1e3*e)}function r(e,t){let i=e.slice().find((e=>e.type===t));if(!i)return;let{type:r,...a}=i;return a}function a(e){return{walletAccount:r(e,"wallet"),smartWalletAccount:r(e,"smart_wallet"),emailAccount:r(e,"email"),phoneAccount:r(e,"phone"),googleAccount:r(e,"google_oauth"),twitterAccount:r(e,"twitter_oauth"),discordAccount:r(e,"discord_oauth"),githubAccount:r(e,"github_oauth"),appleAccount:r(e,"apple_oauth"),linkedInAccount:r(e,"linkedin_oauth"),tiktokAccount:r(e,"tiktok_oauth"),spotifyAccount:r(e,"spotify_oauth"),instagramAccount:r(e,"instagram_oauth"),customJwtAccount:r(e,"custom_auth"),farcasterAccount:r(e,"farcaster"),telegramAccount:r(e,"telegram")}}const s=(e,t)=>"bigint"==typeof e?t(e):Array.isArray(e)?e.map((e=>s(e,t))):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).map((([e,i])=>[e,s(i,t)]))):e;exports.base64=function(e){if("undefined"!=typeof btoa&&"function"==typeof btoa)return btoa(e);if("function"==typeof Buffer)return Buffer.from(e).toString("base64");throw Error("@privy-io/server-auth is running in an unsupported environment")},exports.convertUserResponseToUser=function(e){if(!e)return null;let t=e.linked_accounts.map((e=>{switch(e.type){case"wallet":return{id:e.id??null,address:e.address,type:e.type,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at),chainType:e.chain_type,chainId:e.chain_id,walletType:e.wallet_type,walletClientType:e.wallet_client_type,connectorType:e.connector_type,hdWalletIndex:e.wallet_index,imported:e.imported,delegated:e.delegated};case"smart_wallet":return{address:e.address,type:e.type,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at),smartWalletType:e.smart_wallet_type,smartWalletVersion:e.smart_wallet_version};case"email":return{address:e.address,type:e.type,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"phone":return{number:e.phoneNumber,type:e.type,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"google_oauth":return{subject:e.subject,email:e.email,name:e.name,type:e.type,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"twitter_oauth":return{subject:e.subject,username:e.username,name:e.name,profilePictureUrl:e.profile_picture_url,type:e.type,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"discord_oauth":return{subject:e.subject,username:e.username,email:e.email,type:e.type,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"github_oauth":return{subject:e.subject,username:e.username,email:e.email,name:e.name,type:e.type,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"apple_oauth":return{subject:e.subject,email:e.email,type:e.type,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"linkedin_oauth":return{subject:e.subject,email:e.email,name:e.name,type:e.type,vanityName:e.vanity_name,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"tiktok_oauth":case"spotify_oauth":return{subject:e.subject,username:e.username,name:e.name,type:e.type,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"instagram_oauth":return{subject:e.subject,username:e.username,type:e.type,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"custom_auth":return{customUserId:e.custom_user_id,type:e.type,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"farcaster":return{type:e.type,fid:e.fid,ownerAddress:e.owner_address,displayName:e.display_name,username:e.username,bio:e.bio,pfp:e.profile_picture,url:e.homepage_url,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"telegram":return{type:e.type,telegramUserId:e.telegram_user_id,firstName:e.first_name,lastName:e.last_name,username:e.username,photoUrl:e.photo_url,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"cross_app":return{type:e.type,subject:e.subject,providerApp:e.provider_app_id,embeddedWallets:e.embedded_wallets,smartWallets:e.smart_wallets,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};case"passkey":return{type:e.type,credentialId:e.credential_id,enrolledInMfa:e.enrolled_in_mfa,verifiedAt:i(e.verified_at),firstVerifiedAt:i(e.first_verified_at),latestVerifiedAt:i(e.latest_verified_at)};default:return null}})).filter((e=>null!==e)),{walletAccount:r,smartWalletAccount:s,emailAccount:n,phoneAccount:d,googleAccount:f,twitterAccount:o,discordAccount:c,githubAccount:u,appleAccount:l,linkedInAccount:_,tiktokAccount:p,spotifyAccount:m,instagramAccount:A,customJwtAccount:v,farcasterAccount:y,telegramAccount:h}=a(t);return{id:e.id,createdAt:i(e.created_at),isGuest:e.is_guest,customMetadata:e.custom_metadata,linkedAccounts:t,email:n,phone:d,wallet:r,smartWallet:s,google:f,twitter:o,discord:c,github:u,apple:l,linkedin:_,tiktok:p,spotify:m,instagram:A,custom:v,farcaster:y,telegram:h}},exports.fetchWithTimeout=function(t){if(void 0===e.fetch)throw Error("Fetch is missing from this environment, use browser or node env");return function(i,r){return e.fetch(i,{...r,signal:AbortSignal.timeout(t)})}},exports.findLatestAccountByType=r,exports.findLatestAccounts=a,exports.getQueryParamsString=function(e){let t=new URLSearchParams;for(let i in e){let r=e[i];null!=r&&t.append(i,String(r))}return Array.from(t).length?`?${t.toString()}`:""},exports.parseDateFromEpoch=function(e){return e?new Date(1e3*e):null},exports.prepareAccountsForImport=function(e){return t.objectToSnake(e).map((e=>"farcaster"!==e.type?e:{type:"farcaster",fid:e.fid,owner_address:e.owner_address,username:e.username,display_name:e.display_name,bio:e.bio,profile_picture_url:e.pfp,homepage_url:e.url}))},exports.prepareWalletCreationInput=function(e){if(e&&0!==e.length)return e.map((e=>({chain_type:e.chainType,policy_ids:e.policyIds,additional_signers:e.additionalSigners?.map((e=>({signer_id:e.signerId,override_policy_ids:e.policyIds}))),create_smart_wallet:e.createSmartWallet})))},exports.replaceBigInts=s;