import Dexie, { type Table } from 'dexie' export type Account = { id?: number username: string account_id: string avatar: string client_id: string client_secret: string access_token: string refresh_token: string | null url: string domain: string sns: 'mastodon' | 'pleroma' | 'friendica' | 'firefish' } export class SubClassedDexie extends Dexie { // 'friends' is added by dexie when declaring the stores() // We just tell the typing system this is the case accounts!: Table constructor() { super('whalebird') this.version(1).stores({ accounts: '++id, username, account_id, avatar, client_id, client_secret, access_token, refresh_token, url, domain, sns' }) } } export const db = new SubClassedDexie()