import { getSeam } from 'lib/http/client.js' import { interactForResource } from './resource.js' export const interactForConnectedAccount = async (initialValue?: string) => { const seam = await getSeam() return interactForResource({ resourceName: 'connected_account', fetchResources: () => seam.connectedAccounts.list(), initialValue, toChoice: (connectedAccount) => { const identifiers = Object.values( connectedAccount.user_identifier ?? {}, ).filter((value): value is string => typeof value === 'string') return { title: connectedAccount.user_identifier?.email ?? identifiers[0] ?? '', value: connectedAccount.connected_account_id, description: `${connectedAccount.account_type} ${connectedAccount.connected_account_id}`, } }, }) }