X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Factor%2Factor.model.ts;h=adecec1fce53405ac73d23d6952fe2242995afb0;hb=e5fc7811ae0b0513470add9dbe237755bec7cceb;hp=37d84cb6ea275a20f10f4ef594a475c77e518fb1;hpb=0f320037e689b2778959c12ddd4ce790f6e4ae4f;p=oweals%2Fpeertube.git diff --git a/client/src/app/shared/actor/actor.model.ts b/client/src/app/shared/actor/actor.model.ts index 37d84cb6e..adecec1fc 100644 --- a/client/src/app/shared/actor/actor.model.ts +++ b/client/src/app/shared/actor/actor.model.ts @@ -10,13 +10,13 @@ export abstract class Actor implements ActorServer { host: string followingCount: number followersCount: number - createdAt: Date - updatedAt: Date + createdAt: Date | string + updatedAt: Date | string avatar: Avatar avatarUrl: string - static GET_ACTOR_AVATAR_URL (actor: { avatar: Avatar }) { + static GET_ACTOR_AVATAR_URL (actor: { avatar?: { path: string } }) { const absoluteAPIUrl = getAbsoluteAPIUrl() if (actor && actor.avatar) return absoluteAPIUrl + actor.avatar.path @@ -41,10 +41,20 @@ export abstract class Actor implements ActorServer { this.host = hash.host this.followingCount = hash.followingCount this.followersCount = hash.followersCount - this.createdAt = new Date(hash.createdAt) - this.updatedAt = new Date(hash.updatedAt) + this.createdAt = new Date(hash.createdAt.toString()) + this.updatedAt = new Date(hash.updatedAt.toString()) this.avatar = hash.avatar + this.updateComputedAttributes() + } + + updateAvatar (newAvatar: Avatar) { + this.avatar = newAvatar + + this.updateComputedAttributes() + } + + private updateComputedAttributes () { this.avatarUrl = Actor.GET_ACTOR_AVATAR_URL(this) } }