]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/videos/shared/video.model.ts
Add like/dislike system for videos
[github/Chocobozzz/PeerTube.git] / client / src / app / videos / shared / video.model.ts
index 873c83ff1b90d2e0495435b81c87a0fd6096ef7c..3eef936eba59ac6f8f00e6c9e4907a3c15b855c8 100644 (file)
@@ -1,28 +1,22 @@
 export class Video {
   author: string;
   by: string;
-  createdDate: Date;
+  createdAt: Date;
   description: string;
   duration: string;
   id: string;
   isLocal: boolean;
   magnetUri: string;
   name: string;
-  podUrl: string;
+  podHost: string;
   tags: string[];
   thumbnailPath: string;
+  views: number;
+  likes: number;
+  dislikes: number;
 
-  private static createByString(author: string, podUrl: string) {
-    let [ host, port ] = podUrl.replace(/^https?:\/\//, '').split(':');
-
-    if (port === '80' || port === '443') {
-      port = '';
-    } else {
-      port = ':' + port;
-    }
-
-
-    return author + '@' + host + port;
+  private static createByString(author: string, podHost: string) {
+    return author + '@' + podHost;
   }
 
   private static createDurationString(duration: number) {
@@ -36,30 +30,36 @@ export class Video {
 
   constructor(hash: {
     author: string,
-    createdDate: string,
+    createdAt: string,
     description: string,
     duration: number;
     id: string,
     isLocal: boolean,
     magnetUri: string,
     name: string,
-    podUrl: string,
+    podHost: string,
     tags: string[],
-    thumbnailPath: string
+    thumbnailPath: string,
+    views: number,
+    likes: number,
+    dislikes: number,
   }) {
     this.author  = hash.author;
-    this.createdDate = new Date(hash.createdDate);
+    this.createdAt = new Date(hash.createdAt);
     this.description = hash.description;
     this.duration = Video.createDurationString(hash.duration);
     this.id = hash.id;
     this.isLocal = hash.isLocal;
     this.magnetUri = hash.magnetUri;
     this.name = hash.name;
-    this.podUrl = hash.podUrl;
+    this.podHost = hash.podHost;
     this.tags = hash.tags;
     this.thumbnailPath = hash.thumbnailPath;
+    this.views = hash.views;
+    this.likes = hash.likes;
+    this.dislikes = hash.dislikes;
 
-    this.by = Video.createByString(hash.author, hash.podUrl);
+    this.by = Video.createByString(hash.author, hash.podHost);
   }
 
   isRemovableBy(user) {