]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/core/server/server.service.ts
Add reverse proxy test in travis
[github/Chocobozzz/PeerTube.git] / client / src / app / core / server / server.service.ts
index f54e63efd5c867a2fb6ca7d49340de848f27597e..987d64d2aeb7f77938ac0b2379bf4c349bd302be 100644 (file)
@@ -1,9 +1,11 @@
 import { HttpClient } from '@angular/common/http'
 import { Injectable } from '@angular/core'
+import { peertubeLocalStorage } from '@app/shared/misc/peertube-local-storage'
 import 'rxjs/add/operator/do'
 import { ReplaySubject } from 'rxjs/ReplaySubject'
 import { ServerConfig } from '../../../../../shared'
-import { About } from '../../../../../shared/models/config/about.model'
+import { About } from '../../../../../shared/models/server/about.model'
+import { ServerStats } from '../../../../../shared/models/server/server-stats.model'
 import { environment } from '../../../environments/environment'
 
 @Injectable()
@@ -12,6 +14,7 @@ export class ServerService {
   private static BASE_VIDEO_URL = environment.apiUrl + '/api/v1/videos/'
   private static CONFIG_LOCAL_STORAGE_KEY = 'server-config'
 
+  configLoaded = new ReplaySubject<boolean>(1)
   videoPrivaciesLoaded = new ReplaySubject<boolean>(1)
   videoCategoriesLoaded = new ReplaySubject<boolean>(1)
   videoLicencesLoaded = new ReplaySubject<boolean>(1)
@@ -19,7 +22,14 @@ export class ServerService {
 
   private config: ServerConfig = {
     instance: {
-      name: 'PeerTube'
+      name: 'PeerTube',
+      shortDescription: 'PeerTube, a federated (ActivityPub) video streaming platform  ' +
+                        'using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.',
+      defaultClientRoute: '',
+      customizations: {
+        javascript: '',
+        css: ''
+      }
     },
     serverVersion: 'Unknown',
     signup: {
@@ -42,6 +52,9 @@ export class ServerService {
       file: {
         extensions: []
       }
+    },
+    user: {
+      videoQuota: -1
     }
   }
   private videoCategories: Array<{ id: number, label: string }> = []
@@ -56,7 +69,11 @@ export class ServerService {
   loadConfig () {
     this.http.get<ServerConfig>(ServerService.BASE_CONFIG_URL)
       .do(this.saveConfigLocally)
-      .subscribe(data => this.config = data)
+      .subscribe(data => {
+        this.config = data
+
+        this.configLoaded.next(true)
+      })
   }
 
   loadVideoCategories () {
@@ -128,11 +145,11 @@ export class ServerService {
   }
 
   private saveConfigLocally (config: ServerConfig) {
-    localStorage.setItem(ServerService.CONFIG_LOCAL_STORAGE_KEY, JSON.stringify(config))
+    peertubeLocalStorage.setItem(ServerService.CONFIG_LOCAL_STORAGE_KEY, JSON.stringify(config))
   }
 
   private loadConfigLocally () {
-    const configString = localStorage.getItem(ServerService.CONFIG_LOCAL_STORAGE_KEY)
+    const configString = peertubeLocalStorage.getItem(ServerService.CONFIG_LOCAL_STORAGE_KEY)
 
     if (configString) {
       try {