///
///
import {logging} from 'config';
import {LoggerService, LOGGLY_CONFIG} from 'ng2-logger';
import {bootstrap} from '@angular/platform-browser-dynamic';
import {AppComponent} from './app.component';
import {SEARCH_CONFIG, OwsSearchConfig} from './config/config.module';
import {Http, HTTP_PROVIDERS} from '@angular/http';
import 'rxjs/Rx';
import {provide} from '@angular/core';
import {AuthHttp, AuthConfig} from 'angular2-jwt';
import {AuthConfiguration, AUTH_CONFIG} from 'atla-login/core';
import {ES_SEARCH_CONFIG, EsSearchConfig} from './config/es-search.config';
import {DATA_TRANSFORM_PROVIDERS} from './providers';
bootstrap(
AppComponent, [
HTTP_PROVIDERS,
OwsSearchConfig,
AuthConfiguration,
DATA_TRANSFORM_PROVIDERS,
EsSearchConfig,
AuthHttp,
provide(SEARCH_CONFIG, {useExisting: OwsSearchConfig}),
provide(ES_SEARCH_CONFIG, {useExisting: EsSearchConfig}),
provide(AUTH_CONFIG, {useExisting: AuthConfiguration}),
provide(AuthHttp, {
useFactory: (http, config) => {
return new AuthHttp(
new AuthConfig({
headerName: 'X-AUTH-TOKEN',
tokenName: 'ose-token',
headerPrefix: ' '
}),
http
);
},
deps: [Http, AUTH_CONFIG]
}),
// Logging
{provide: LOGGLY_CONFIG, useValue: logging},
LoggerService
]
);