TSK-453 Add external configuration file for environment setup
This commit is contained in:
parent
ccf6f133ee
commit
67ee8d3215
|
@ -9,7 +9,8 @@
|
|||
"outDir": "dist",
|
||||
"assets": [
|
||||
"assets",
|
||||
"taskana.ico"
|
||||
"taskana.ico",
|
||||
"environments/data-sources"
|
||||
],
|
||||
"index": "index.html",
|
||||
"main": "main.ts",
|
||||
|
|
|
@ -8,11 +8,13 @@ import { MasterAndDetailComponent } from './shared/master-and-detail/master-and-
|
|||
import { NoAccessComponent } from './administration/workbasket/details/noAccess/no-access.component';
|
||||
import { ClassificationListComponent } from './administration/classification/master/list/classification-list.component';
|
||||
import { ClassificationDetailsComponent } from 'app/administration/classification/details/classification-details.component';
|
||||
import { EnvironmentUrlGuard } from 'app/guards/environment-url-guard';
|
||||
|
||||
const appRoutes: Routes = [
|
||||
{
|
||||
path: 'administration/workbaskets',
|
||||
component: MasterAndDetailComponent,
|
||||
canActivate: [EnvironmentUrlGuard],
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
|
@ -39,6 +41,7 @@ const appRoutes: Routes = [
|
|||
{
|
||||
path: 'administration/classifications',
|
||||
component: MasterAndDetailComponent,
|
||||
canActivate: [EnvironmentUrlGuard],
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
|
|
|
@ -59,6 +59,7 @@ import { TreeService } from './services/tree/tree.service';
|
|||
import { ClassificationTypesService } from './services/classification-types/classification-types.service';
|
||||
import { ClassificationCategoriesService } from 'app/services/classification-categories-service/classification-categories.service';
|
||||
|
||||
|
||||
/**
|
||||
* Pipes
|
||||
*/
|
||||
|
@ -68,6 +69,11 @@ import { SelectWorkBasketPipe } from './pipes/selectedWorkbasket/seleted-workbas
|
|||
import { SpreadNumberPipe } from './pipes/spreadNumber/spread-number';
|
||||
import { DomainService } from './services/domain/domain.service';
|
||||
|
||||
/**
|
||||
* Guards
|
||||
*/
|
||||
import { EnvironmentUrlGuard } from './guards/environment-url-guard';
|
||||
|
||||
const MODULES = [
|
||||
BrowserModule,
|
||||
FormsModule,
|
||||
|
@ -135,7 +141,8 @@ const DECLARATIONS = [
|
|||
ClassificationsService,
|
||||
TreeService,
|
||||
ClassificationTypesService,
|
||||
ClassificationCategoriesService
|
||||
ClassificationCategoriesService,
|
||||
EnvironmentUrlGuard
|
||||
],
|
||||
bootstrap: [AppComponent]
|
||||
})
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
import { Observable } from 'rxjs/Observable';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { CanActivate } from '@angular/router';
|
||||
import { environment } from 'app/../environments/environment';
|
||||
import { Injectable } from '@angular/core';
|
||||
|
||||
@Injectable()
|
||||
export class EnvironmentUrlGuard implements CanActivate {
|
||||
constructor(private httpClient: HttpClient) { }
|
||||
|
||||
canActivate() {
|
||||
return this.httpClient.get<any>('environments/data-sources/environment-information.json').map(jsonFile => {
|
||||
if (jsonFile) {
|
||||
environment.taskanaWorkplaceUrl = jsonFile.taskanaWorkplaceUrl === '' ?
|
||||
environment.taskanaWorkplaceUrl : jsonFile.taskanaWorkplaceUrl;
|
||||
environment.taskanaAdminUrl = jsonFile.taskanaAdminUrl === '' ?
|
||||
environment.taskanaAdminUrl : jsonFile.taskanaAdminUrl;
|
||||
environment.taskanaMonitorUrl = jsonFile.taskanaMonitorUrl === '' ?
|
||||
environment.taskanaMonitorUrl : jsonFile.taskanaMonitorUrl;
|
||||
environment.taskanaRestUrl = jsonFile.taskanaRestUrl === '' ?
|
||||
environment.taskanaRestUrl : jsonFile.taskanaRestUrl;
|
||||
}
|
||||
return true;
|
||||
}).catch(() => {
|
||||
return Observable.of(true)
|
||||
});
|
||||
}
|
||||
}
|
|
@ -29,6 +29,8 @@ export class HttpClientInterceptor implements HttpInterceptor {
|
|||
this.requestInProgressService.setRequestInProgress(false);
|
||||
if (err instanceof HttpErrorResponse && (err.status === 401 || err.status === 403)) {
|
||||
this.permissionService.setPermission(false)
|
||||
} else if (err instanceof HttpErrorResponse && (err.status === 404) && err.url.indexOf('environment-information.json')) {
|
||||
// ignore this error message
|
||||
} else {
|
||||
this.errorModalService.triggerError(
|
||||
new ErrorModel('There was error, please contact with your administrator ', err))
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"taskanaAdminUrl": "",
|
||||
"taskanaWorkplaceUrl": "",
|
||||
"taskanaMonitorUrl": "",
|
||||
"taskanaRestUrl": ""
|
||||
}
|
Loading…
Reference in New Issue