From d3e91a5f72ac9c986cdb67d7d6c85bb4819e680c Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 25 Apr 2018 15:43:19 +0200 Subject: Add video channel account list --- client/src/app/shared/actor/actor.model.ts | 50 ++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 client/src/app/shared/actor/actor.model.ts (limited to 'client/src/app/shared/actor') diff --git a/client/src/app/shared/actor/actor.model.ts b/client/src/app/shared/actor/actor.model.ts new file mode 100644 index 000000000..56ff780b7 --- /dev/null +++ b/client/src/app/shared/actor/actor.model.ts @@ -0,0 +1,50 @@ +import { Actor as ActorServer } from '../../../../../shared/models/actors/actor.model' +import { getAbsoluteAPIUrl } from '@app/shared/misc/utils' +import { Avatar } from '../../../../../shared/models/avatars/avatar.model' + +export abstract class Actor implements ActorServer { + id: number + uuid: string + url: string + name: string + host: string + followingCount: number + followersCount: number + createdAt: Date + updatedAt: Date + avatar: Avatar + + avatarUrl: string + + static GET_ACTOR_AVATAR_URL (actor: { avatar: Avatar }) { + const absoluteAPIUrl = getAbsoluteAPIUrl() + + if (actor && actor.avatar) return absoluteAPIUrl + actor.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 + } + + protected constructor (hash: ActorServer) { + this.id = hash.id + this.uuid = hash.uuid + this.url = hash.url + this.name = hash.name + this.host = hash.host + this.followingCount = hash.followingCount + this.followersCount = hash.followersCount + this.createdAt = new Date(hash.createdAt.toString()) + this.updatedAt = new Date(hash.updatedAt.toString()) + this.avatar = hash.avatar + + this.avatarUrl = Actor.GET_ACTOR_AVATAR_URL(this) + } +} -- cgit v1.2.3