import { BoraPortalConnectRequest, BoraPortalConnectStatusResponse } from '@haechi-labs/face-types'; import { Auth } from '../Auth'; import { Internal } from '../Internal'; export class Bora { internal: Internal; auth: Auth; constructor(internal: Internal, auth: Auth) { this.internal = internal; this.auth = auth; } async connect( request: BoraPortalConnectRequest ): Promise { return await this.internal.boraConnect(request); } async isConnected(bappUsn: string): Promise { const userId = (await this.auth.getCurrentUser())?.faceUserId; if (!userId) { throw new Error('No user data. Please sign in first.'); } try { return await this.internal.xhr.request( 'GET', `/bora/portal/get-connect-status-without-session?userId=${userId}&bappUsn=${bappUsn}` ); } catch (e: any) { throw e; } } }