]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/app/videos/shared/video.model.ts
Move webtorrent inside a service
[github/Chocobozzz/PeerTube.git] / client / app / videos / shared / video.model.ts
index 2b018ad864f676cdf9e3495f4c154bd642de8ea8..614403d799394c24d0387ea0151724514dd3ebde 100644 (file)
@@ -1,24 +1,15 @@
 export class Video {
-  id: string;
-  name: string;
+  author: string;
+  by: string;
+  createdDate: Date;
   description: string;
+  duration: string;
+  id: string;
+  isLocal: boolean;
   magnetUri: string;
+  name: string;
   podUrl: string;
-  isLocal: boolean;
   thumbnailPath: string;
-  author: string;
-  createdDate: Date;
-  by: string;
-  duration: string;
-
-  private static createDurationString(duration: number) {
-    const minutes = Math.floor(duration / 60);
-    const seconds = duration % 60;
-    const minutes_padding = minutes >= 10 ? '' : '0';
-    const seconds_padding = seconds >= 10 ? '' : '0';
-
-    return minutes_padding + minutes.toString() + ':' + seconds_padding + seconds.toString();
-  }
 
   private static createByString(author: string, podUrl: string) {
     let [ host, port ] = podUrl.replace(/^https?:\/\//, '').split(':');
@@ -32,28 +23,38 @@ export class Video {
     return author + '@' + host + port;
   }
 
+  private static createDurationString(duration: number) {
+    const minutes = Math.floor(duration / 60);
+    const seconds = duration % 60;
+    const minutes_padding = minutes >= 10 ? '' : '0';
+    const seconds_padding = seconds >= 10 ? '' : '0';
+
+    return minutes_padding + minutes.toString() + ':' + seconds_padding + seconds.toString();
+  }
+
   constructor(hash: {
-    id: string,
-    name: string,
-    description: string,
-    magnetUri: string,
-    podUrl: string,
-    isLocal: boolean,
-    thumbnailPath: string,
     author: string,
     createdDate: string,
+    description: string,
     duration: number;
+    id: string,
+    isLocal: boolean,
+    magnetUri: string,
+    name: string,
+    podUrl: string,
+    thumbnailPath: string
   }) {
-    this.id = hash.id;
-    this.name = hash.name;
+    this.author  = hash.author;
+    this.createdDate = new Date(hash.createdDate);
     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.isLocal = hash.isLocal;
     this.thumbnailPath = hash.thumbnailPath;
-    this.author  = hash.author;
-    this.createdDate = new Date(hash.createdDate);
-    this.duration = Video.createDurationString(hash.duration);
+
     this.by = Video.createByString(hash.author, hash.podUrl);
   }