import Model, { attr, hasMany, type AsyncHasMany } from '@ember-data/model' import type RemoteServerModel from './remote-server' import type CustomAccountFieldModel from './custom-account-field' import type MediaMetadataModel from './media-metadata' export default class AccountModel extends Model { @attr declare createdAt: Date @attr declare updatedAt: Date @attr declare username: string @attr declare originServer: RemoteServerModel @attr declare originServerId: number @attr declare displayName: string @hasMany('custom-account-field') declare customFields: AsyncHasMany @attr declare customFieldIds: Array @attr declare isBot: boolean @attr declare description: string @attr declare icon: MediaMetadataModel @attr declare iconId: string @attr declare banner: MediaMetadataModel @attr declare bannerId: string @attr declare background: MediaMetadataModel @attr declare backgroundId: string @attr declare relationIds: Array @attr declare indexable: boolean @attr declare restrictedFollow: boolean @attr declare identifiesAs: Array @attr declare pronouns: Array @attr declare roles: Array }