]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/videos/+video-watch/comment/video-comment.model.ts
Strict templates enabled
[github/Chocobozzz/PeerTube.git] / client / src / app / videos / +video-watch / comment / video-comment.model.ts
index df7d5244c4534fe219e8b4395cbb195f8bf37f88..171fc4acccc3ba65e2dd6293225a829b9d17f90b 100644 (file)
@@ -1,4 +1,7 @@
-import { VideoComment as VideoCommentServerModel } from '../../../../../../shared/models/videos/video-comment.model'
+import { Account as AccountInterface } from '../../../../../../shared/models/actors'
+import { VideoComment as VideoCommentServerModel, VideoCommentCreate } from '../../../../../../shared/models/videos/video-comment.model'
+import { Actor } from '@app/shared/actor/actor.model'
+import { getAbsoluteAPIUrl } from '@app/shared/misc/utils'
 
 export class VideoComment implements VideoCommentServerModel {
   id: number
@@ -9,17 +12,15 @@ export class VideoComment implements VideoCommentServerModel {
   videoId: number
   createdAt: Date | string
   updatedAt: Date | string
-  account: {
-    name: string
-    host: string
-  }
+  deletedAt: Date | string
+  isDeleted: boolean
+  account: AccountInterface
+  totalRepliesFromVideoAuthor: number
   totalReplies: number
-
   by: string
+  accountAvatarUrl: string
 
-  private static createByString (account: string, serverHost: string) {
-    return account + '@' + serverHost
-  }
+  isLocal: boolean
 
   constructor (hash: VideoCommentServerModel) {
     this.id = hash.id
@@ -30,9 +31,19 @@ export class VideoComment implements VideoCommentServerModel {
     this.videoId = hash.videoId
     this.createdAt = new Date(hash.createdAt.toString())
     this.updatedAt = new Date(hash.updatedAt.toString())
+    this.deletedAt = hash.deletedAt ? new Date(hash.deletedAt.toString()) : null
+    this.isDeleted = hash.isDeleted
     this.account = hash.account
+    this.totalRepliesFromVideoAuthor = hash.totalRepliesFromVideoAuthor
     this.totalReplies = hash.totalReplies
 
-    this.by = VideoComment.createByString(this.account.name, this.account.host)
+    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
+      this.isLocal = this.account.host.trim() === thisHost
+    }
   }
 }