X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fshared-video-comment%2Fvideo-comment.model.ts;h=adab4cfbda43ede60833b4cdcba765b7d7aebfb5;hb=ed22eaabfac0d53550cd838c12b7d80e01bcc7b5;hp=e854431968b6058b6ceaa2dcc611af7a3d6e5289;hpb=17aa80ed016bafa3ccb071af3f86054033823284;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/shared-video-comment/video-comment.model.ts b/client/src/app/shared/shared-video-comment/video-comment.model.ts index e85443196..adab4cfbd 100644 --- a/client/src/app/shared/shared-video-comment/video-comment.model.ts +++ b/client/src/app/shared/shared-video-comment/video-comment.model.ts @@ -1,6 +1,10 @@ import { getAbsoluteAPIUrl } from '@app/helpers' -import { Actor } from '@app/shared/shared-main' -import { Account as AccountInterface, VideoComment as VideoCommentServerModel } from '@shared/models' +import { Actor, Video } from '@app/shared/shared-main' +import { + Account as AccountInterface, + VideoComment as VideoCommentServerModel, + VideoCommentAdmin as VideoCommentAdminServerModel +} from '@shared/models' export class VideoComment implements VideoCommentServerModel { id: number @@ -17,7 +21,6 @@ export class VideoComment implements VideoCommentServerModel { totalRepliesFromVideoAuthor: number totalReplies: number by: string - accountAvatarUrl: string isLocal: boolean @@ -38,7 +41,6 @@ export class VideoComment implements VideoCommentServerModel { if (this.account) { this.by = Actor.CREATE_BY_STRING(this.account.name, this.account.host) - this.accountAvatarUrl = Actor.GET_ACTOR_AVATAR_URL(this.account) const absoluteAPIUrl = getAbsoluteAPIUrl() const thisHost = new URL(absoluteAPIUrl).host @@ -46,3 +48,58 @@ export class VideoComment implements VideoCommentServerModel { } } } + +export class VideoCommentAdmin implements VideoCommentAdminServerModel { + id: number + url: string + text: string + textHtml: string + + threadId: number + inReplyToCommentId: number + + createdAt: Date | string + updatedAt: Date | string + + account: AccountInterface & { localUrl?: string } + localUrl: string + + video: { + id: number + uuid: string + name: string + localUrl: string + } + + by: string + + constructor (hash: VideoCommentAdminServerModel, textHtml: string) { + this.id = hash.id + this.url = hash.url + this.text = hash.text + this.textHtml = textHtml + + this.threadId = hash.threadId + this.inReplyToCommentId = hash.inReplyToCommentId + + this.createdAt = new Date(hash.createdAt.toString()) + this.updatedAt = new Date(hash.updatedAt.toString()) + + this.video = { + id: hash.video.id, + uuid: hash.video.uuid, + name: hash.video.name, + localUrl: Video.buildWatchUrl(hash.video) + } + + this.localUrl = this.video.localUrl + ';threadId=' + this.threadId + + this.account = hash.account + + if (this.account) { + this.by = Actor.CREATE_BY_STRING(this.account.name, this.account.host) + + this.account.localUrl = '/a/' + this.by + } + } +}