linstrom/frontend-reactive/app/models/account.ts

30 lines
1.2 KiB
TypeScript

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<CustomAccountFieldModel>
@attr declare customFieldIds: Array<number>
@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<number>
@attr declare indexable: boolean
@attr declare restrictedFollow: boolean
@attr declare identifiesAs: Array<string>
@attr declare pronouns: Array<string>
@attr declare roles: Array<string>
}