Merge branch 'master' of github.com:OpenVidu/openvidu

pull/437/head
OscarSotoSanchez 2020-04-17 10:27:58 +02:00
commit d078a322b8
6 changed files with 18306 additions and 17422 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,49 +1,49 @@
{ {
"dependencies": { "dependencies": {
"@angular/animations": "9.0.0", "@angular/animations": "9.1.2",
"@angular/cdk": "9.0.0", "@angular/cdk": "9.2.1",
"@angular/common": "9.0.0", "@angular/common": "9.1.2",
"@angular/compiler": "9.0.0", "@angular/compiler": "9.1.2",
"@angular/core": "9.0.0", "@angular/core": "9.1.2",
"@angular/flex-layout": "9.0.0-beta.29", "@angular/flex-layout": "9.0.0-beta.29",
"@angular/forms": "9.0.0", "@angular/forms": "9.1.2",
"@angular/material": "9.0.0", "@angular/material": "9.2.1",
"@angular/platform-browser": "9.0.0", "@angular/platform-browser": "9.1.2",
"@angular/platform-browser-dynamic": "9.0.0", "@angular/platform-browser-dynamic": "9.1.2",
"@angular/router": "9.0.0", "@angular/router": "9.1.2",
"core-js": "3.6.4", "core-js": "3.6.5",
"jquery": "3.4.1", "jquery": "3.5.0",
"openvidu-browser": "2.12.0", "openvidu-browser": "2.12.0",
"rxjs": "6.5.4", "rxjs": "6.5.5",
"tslib": "1.10.0", "tslib": "1.11.1",
"zone.js": "0.10.2" "zone.js": "0.10.3"
}, },
"devDependencies": { "devDependencies": {
"@angular-devkit/build-angular": "0.900.1", "@angular-devkit/build-angular": "0.901.1",
"@angular/cli": "9.0.1", "@angular/cli": "9.1.1",
"@angular/compiler-cli": "9.0.0", "@angular/compiler-cli": "9.1.2",
"@angular/language-service": "9.0.0", "@angular/language-service": "9.1.2",
"@types/jasmine": "3.5.3", "@types/jasmine": "3.5.10",
"@types/node": "13.7.0", "@types/node": "13.11.1",
"codelyzer": "5.2.1", "codelyzer": "5.2.2",
"jasmine-core": "3.5.0", "jasmine-core": "3.5.0",
"jasmine-spec-reporter": "4.2.1", "jasmine-spec-reporter": "5.0.1",
"karma": "4.4.1", "karma": "5.0.1",
"karma-chrome-launcher": "3.1.0", "karma-chrome-launcher": "3.1.0",
"karma-coverage-istanbul-reporter": "2.1.1", "karma-coverage-istanbul-reporter": "2.1.1",
"karma-jasmine": "3.1.0", "karma-jasmine": "3.1.1",
"karma-jasmine-html-reporter": "1.5.2", "karma-jasmine-html-reporter": "1.5.3",
"protractor": "5.4.3", "protractor": "5.4.3",
"ts-node": "8.6.2", "ts-node": "8.8.2",
"tslint": "6.0.0", "tslint": "6.1.1",
"typescript": "3.7.5" "typescript": "3.8.3"
}, },
"license": "Apache-2.0", "license": "Apache-2.0",
"name": "frontend", "name": "frontend",
"private": true, "private": true,
"scripts": { "scripts": {
"build": "ng build --base-href /dashboard/ --deploy-url /dashboard --output-path ../main/resources/static", "build": "./node_modules/@angular/cli/bin/ng build --base-href /dashboard/ --output-path ../main/resources/static/dashboard",
"build-prod": "ng build --prod --output-path ../main/resources/static", "build-prod": "./node_modules/@angular/cli/bin/ng build --base-href /dashboard/ --prod --output-path ../main/resources/static/dashboard",
"e2e": "ng e2e", "e2e": "ng e2e",
"lint": "ng lint", "lint": "ng lint",
"ng": "ng", "ng": "ng",

View File

@ -47,7 +47,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
// /accept-certificate // /accept-certificate
.antMatchers(HttpMethod.GET, "/accept-certificate").permitAll() .antMatchers(HttpMethod.GET, "/accept-certificate").permitAll()
// Dashboard // Dashboard
.antMatchers("/dashboard").authenticated(); .antMatchers(HttpMethod.GET, "/dashboard/**").authenticated();
// Security for recording layouts // Security for recording layouts
conf.antMatchers("/layouts/**").authenticated(); conf.antMatchers("/layouts/**").authenticated();

View File

@ -0,0 +1,40 @@
/*
* (C) Copyright 2017-2020 OpenVidu (https://openvidu.io)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package io.openvidu.server.resources;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
* This class changes the path where static files are served from / to
* /dashboard. Entrypoint file index.html must have tag <base href="/dashboard/">
*
* @author Pablo Fuente (pablofuenteperez@gmail.com)
*/
@Configuration
public class DashboardResourceHandler extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/dashboard").setViewName("redirect:/dashboard/");
registry.addViewController("/dashboard/").setViewName("forward:/dashboard/index.html");
super.addViewControllers(registry);
}
}

View File

@ -15,7 +15,7 @@
* *
*/ */
package io.openvidu.server.recording; package io.openvidu.server.resources;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@ -25,9 +25,15 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import io.openvidu.server.config.OpenviduConfig; import io.openvidu.server.config.OpenviduConfig;
/**
* This class serves custom recording layouts from host folder indicated in
* configuration property openvidu.recording.custom-layout
*
* @author Pablo Fuente (pablofuenteperez@gmail.com)
*/
@Configuration @Configuration
@ConditionalOnProperty(name = "openvidu.recording", havingValue = "true") @ConditionalOnProperty(name = "openvidu.recording", havingValue = "true")
public class CustomLayoutsHttpHandler implements WebMvcConfigurer { public class RecordingCustomLayoutsResourceHandler implements WebMvcConfigurer {
@Autowired @Autowired
OpenviduConfig openviduConfig; OpenviduConfig openviduConfig;

View File

@ -15,7 +15,7 @@
* *
*/ */
package io.openvidu.server.recording; package io.openvidu.server.resources;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@ -24,8 +24,14 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import io.openvidu.server.config.OpenviduConfig; import io.openvidu.server.config.OpenviduConfig;
/**
* This class serves recording files from host folder indicated in configuration
* property openvidu.recording.path
*
* @author Pablo Fuente (pablofuenteperez@gmail.com)
*/
@Configuration @Configuration
public class RecordingsHttpHandler implements WebMvcConfigurer { public class RecordingsResourceHandler implements WebMvcConfigurer {
@Autowired @Autowired
OpenviduConfig openviduConfig; OpenviduConfig openviduConfig;