]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/shared/rest/rest-extractor.service.ts
Disply other videos if screen >= 1300px
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / rest / rest-extractor.service.ts
index 59dea788016d5046c30efd3e472797c68058b887..ad08a32f80b7bfcb7dcaef59a0fc9f4dd9d30170 100644 (file)
@@ -1,8 +1,7 @@
+import { HttpErrorResponse } from '@angular/common/http'
 import { Injectable } from '@angular/core'
+import { dateToHuman } from '@app/shared/misc/utils'
 import { Observable } from 'rxjs/Observable'
-import { HttpErrorResponse } from '@angular/common/http'
-
-import { Utils } from '../utils'
 import { ResultList } from '../../../../../shared'
 
 @Injectable()
@@ -16,7 +15,7 @@ export class RestExtractor {
     const data: T[] = result.data
     const newData: T[] = []
 
-    data.forEach(d => newData.push(fun.call(this, d, additionalArgs)))
+    data.forEach(d => newData.push(fun.apply(this, [ d ].concat(additionalArgs))))
 
     return {
       total: result.total,
@@ -29,12 +28,9 @@ export class RestExtractor {
   }
 
   convertDateToHuman (target: object, fieldsToConvert: string[]) {
-    const source = {}
-    fieldsToConvert.forEach(field => {
-      source[field] = Utils.dateToHuman(target[field])
-    })
+    fieldsToConvert.forEach(field => target[field] = dateToHuman(target[field]))
 
-    return Object.assign(target, source)
+    return target
   }
 
   handleError (err: HttpErrorResponse) {
@@ -59,7 +55,10 @@ export class RestExtractor {
         } else if (err.error.error) {
           errorMessage = err.error.error
         }
+      } else if (err.status === 413) {
+        errorMessage = 'Request is too large for the server. Please contact you administrator if you want to increase the limit size.'
       }
+
       errorMessage = errorMessage ? errorMessage : 'Unknown error.'
       console.error(`Backend returned code ${err.status}, body was: ${errorMessage}`)
     } else {