import { Account as ServerAccount } from '../../../../../shared/models/actors/account.model'
-import { Avatar } from '../../../../../shared/models/avatars/avatar.model'
-import { getAbsoluteAPIUrl } from '../misc/utils'
+import { Actor } from '../actor/actor.model'
-export class Account implements ServerAccount {
- id: number
- uuid: string
- url: string
- name: string
+export class Account extends Actor implements ServerAccount {
displayName: string
- host: string
- followingCount: number
- followersCount: number
- createdAt: Date
- updatedAt: Date
- avatar: Avatar
+ description: string
+ nameWithHost: string
- static GET_ACCOUNT_AVATAR_URL (account: Account) {
- const absoluteAPIUrl = getAbsoluteAPIUrl()
+ constructor (hash: ServerAccount) {
+ super(hash)
- if (account && account.avatar) return absoluteAPIUrl + account.avatar.path
-
- return window.location.origin + '/client/assets/images/default-avatar.png'
- }
-
- static CREATE_BY_STRING (accountName: string, host: string) {
- const absoluteAPIUrl = getAbsoluteAPIUrl()
- const thisHost = new URL(absoluteAPIUrl).host
-
- if (host.trim() === thisHost) return accountName
-
- return accountName + '@' + host
+ this.displayName = hash.displayName
+ this.description = hash.description
+ this.nameWithHost = Actor.CREATE_BY_STRING(this.name, this.host)
}
}