]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/shared/account/account.model.ts
Update video channel routes
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / account / account.model.ts
index 9d1fd3e1d7edab0a8fbbe03f99c0f1a06ba0a919..3d5176bdd691288957072c8b4aaf25540db19101 100644 (file)
@@ -1,11 +1,14 @@
-import { Account as ServerAccount } from '../../../../../shared/models/accounts/account.model'
+import { Account as ServerAccount } from '../../../../../shared/models/actors/account.model'
 import { Avatar } from '../../../../../shared/models/avatars/avatar.model'
-import { environment } from '../../../environments/environment'
+import { getAbsoluteAPIUrl } from '../misc/utils'
 
 export class Account implements ServerAccount {
   id: number
   uuid: string
+  url: string
   name: string
+  displayName: string
+  description: string
   host: string
   followingCount: number
   followersCount: number
@@ -13,9 +16,35 @@ export class Account implements ServerAccount {
   updatedAt: Date
   avatar: Avatar
 
-  static GET_ACCOUNT_AVATAR_PATH (account: Account) {
-    if (account && account.avatar) return account.avatar.path
+  constructor (hash: ServerAccount) {
+    this.id = hash.id
+    this.uuid = hash.uuid
+    this.url = hash.url
+    this.name = hash.name
+    this.displayName = hash.displayName
+    this.description = hash.description
+    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
+  }
+
+  static GET_ACCOUNT_AVATAR_URL (account: Account) {
+    const absoluteAPIUrl = getAbsoluteAPIUrl()
+
+    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 environment.apiUrl + '/client/assets/images/default-avatar.png'
+    return accountName + '@' + host
   }
 }