FE-63: Added dynamic config (#18)

FE-63: Added dynamic config
This commit is contained in:
Ildar Galeev 2016-10-17 22:34:03 +03:00 committed by GitHub
parent 9a18a42822
commit 82e3d1d4c4
7 changed files with 32 additions and 11 deletions

View File

@ -3,6 +3,17 @@
Личный кабинет мерчанта
## Настройка
Конфигурация приложения происходит в файле [appConfig.json](/app/appConfig.json)
Конфигурация keycloak клиента koffing происходит в файле [koffingKeycloakConfig.json](/app/koffingKeycloakConfig.json)
Конфигурация keycloak клиента tokenizer происходит в файле [tokenizationKeycloakConfig.json](/tokenization/tokenizationKeycloakConfig.json)
Для изменения конфигурации в рантайме достаточно заменить нужный json файл
Например в случае с nginx, json файлы нужно положить в `/usr/share/nginx/html`
## Установка
npm install

3
app/appConfig.json Normal file
View File

@ -0,0 +1,3 @@
{
"capiUrl": "http://localhost:9000/v1/"
}

8
app/bootstrap.js vendored
View File

@ -1,5 +1,5 @@
angular.element(document).ready(function () {
var keycloakAuth = new Keycloak('keycloak.json');
var keycloakAuth = new Keycloak('koffingKeycloakConfig.json');
keycloakAuth.init({onLoad: 'login-required'}).success(function () {
app.factory('Auth', function () {
@ -10,7 +10,9 @@ angular.element(document).ready(function () {
updateToken: keycloakAuth.updateToken
};
});
angular.bootstrap(document, ['app']);
jQuery.get('appConfig.json').then(result => { //TODO write wrapper
app.constant('appConfig', result);
angular.bootstrap(document, ['app']);
});
});
});

View File

@ -113,8 +113,12 @@ gulp.task('tokenization', () => {
.pipe(livereload());
});
gulp.task('keycloak', () => {
return gulp.src('app/keycloak.json')
gulp.task('config', () => {
return gulp.src([
'app/appConfig.json',
'app/koffingKeycloakConfig.json',
'tokenization/tokenizationKeycloakConfig.json'
])
.pipe(gulp.dest('dist'));
});
@ -149,5 +153,5 @@ gulp.task('capiMock', () => {
});
});
gulp.task('build', ['index', 'tokenization', 'sources', 'tokenizationSources', 'styles', 'vendorScripts', 'vendorStyles', 'keycloak']);
gulp.task('build', ['index', 'tokenization', 'sources', 'tokenizationSources', 'styles', 'vendorScripts', 'vendorStyles', 'config']);
gulp.task('default', ['connect', 'watch', 'build']);

View File

@ -25,11 +25,7 @@ tokenizer.component('tokenizer', {
});
angular.element(document).ready(function () {
const keycloak = new Keycloak({
url: 'http://localhost:31245/auth',
realm: 'external',
clientId: 'tokenizer'
});
var keycloak = new Keycloak('tokenizationKeycloakConfig.json');
keycloak.init().success(authenticated => {
if (!authenticated) {
keycloak.login({

View File

@ -0,0 +1,5 @@
{
"realm": "external",
"auth-server-url": "http://localhost:31245/auth/",
"resource": "tokenizer"
}