mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Making the store to read the server backend configurations from config file.
This commit is contained in:
parent
6374b5d9c1
commit
b61bb7afe2
@ -46,6 +46,7 @@
|
|||||||
"mocha": "^3.4.1",
|
"mocha": "^3.4.1",
|
||||||
"mock-local-storage": "^1.0.2",
|
"mock-local-storage": "^1.0.2",
|
||||||
"node-sass": "^4.5.3",
|
"node-sass": "^4.5.3",
|
||||||
|
"react-intl": "^2.4.0",
|
||||||
"sass-loader": "^6.0.6",
|
"sass-loader": "^6.0.6",
|
||||||
"style-loader": "^0.18.1",
|
"style-loader": "^0.18.1",
|
||||||
"webpack": "^2.7.0"
|
"webpack": "^2.7.0"
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"Title" : "Title",
|
||||||
|
"Description" : "Description",
|
||||||
|
"Category" : "Category",
|
||||||
|
"Visibility" : "Visibility",
|
||||||
|
"Devices" : "Devices",
|
||||||
|
"Roles" : "Roles",
|
||||||
|
"Groups" : "Groups",
|
||||||
|
"Tags" : "Tags",
|
||||||
|
"Platform" : "Platform",
|
||||||
|
"Platforms" : "Platfomrs",
|
||||||
|
"No.Platform" : "No Platforms",
|
||||||
|
"Screenshots" : "Screenshots",
|
||||||
|
"Icon" : "Icon",
|
||||||
|
"Banner" : "Banner",
|
||||||
|
"Create.Application" : "Create Application",
|
||||||
|
"Back" : "Back",
|
||||||
|
"Cancel" : "Cancel",
|
||||||
|
"Finish" : "Finish",
|
||||||
|
"Continue" : "Continue",
|
||||||
|
"Application.Name" : "Application Name",
|
||||||
|
"General" : "General",
|
||||||
|
"App.Releases" : "Application Releases",
|
||||||
|
"Package.Manager" : "Package Manager",
|
||||||
|
"Save" : "Save",
|
||||||
|
"Create.Release" : "Create Release",
|
||||||
|
"Release" : "Release",
|
||||||
|
"New.Release.For" : "New Release for",
|
||||||
|
"Upload.Package.File" : "Upload Package File",
|
||||||
|
"Upload" : "Upload",
|
||||||
|
"Select.from.package.library" : "Select from package library",
|
||||||
|
"Release.Name" : "Release Name",
|
||||||
|
"Release.Notes" : "Release Notes",
|
||||||
|
"Send.for.Review" : "Send for Review",
|
||||||
|
"Production.Releases" : "Production Releases",
|
||||||
|
"Beta.Releases" : "Beta Releases",
|
||||||
|
"Alpha.Releases" : "Alpha Releases",
|
||||||
|
"Version" : "Version",
|
||||||
|
"Status" : "Status",
|
||||||
|
"App.Publisher" : "Application Publisher"
|
||||||
|
}
|
||||||
@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
*
|
||||||
|
* WSO2 Inc. licenses this file to you 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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
import axios from 'axios';
|
||||||
|
import Constants from './constants';
|
||||||
|
|
||||||
|
|
||||||
|
//TODO: Replace the server address with response from auth endpoint and remove hardcoded ids etc.
|
||||||
|
class Configuration {
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
this.serverConfig = {};
|
||||||
|
this.hostConstants = {
|
||||||
|
baseURL: window.location.origin,
|
||||||
|
appContext: window.location.pathname.split("/")[1]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
loadConfiguration(callback) {
|
||||||
|
let thisObject = this;
|
||||||
|
axios.get(thisObject.hostConstants.baseURL + "/config.json").then(function (response) {
|
||||||
|
thisObject.serverConfig = response.data.config;
|
||||||
|
Constants.load();
|
||||||
|
callback();
|
||||||
|
}).catch(function (error) {
|
||||||
|
console.log('unable to load the config file!' + error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export default (new Configuration);
|
||||||
@ -15,31 +15,35 @@
|
|||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
import Configuration from './configuration';
|
||||||
|
|
||||||
import axios from 'axios';
|
'use strict';
|
||||||
|
|
||||||
|
|
||||||
//TODO: Replace the server address with response from auth endpoint and remove hardcoded ids etc.
|
//TODO: Replace the server address with response from auth endpoint and remove hardcoded ids etc.
|
||||||
class Constants {
|
class Constants {
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.contentTypeHeaderName = 'Content-Type';
|
|
||||||
this.contentType = 'application/json';
|
|
||||||
this.https = 'https://';
|
|
||||||
console.log('server config called');
|
|
||||||
this.serverConfig = {};
|
|
||||||
this.getServerConfig();
|
|
||||||
|
|
||||||
this.scopes = 'perm:application:get perm:application:create perm:application:update perm:application-mgt:login' +
|
this.scopes = 'perm:application:get perm:application:create perm:application:update perm:application-mgt:login' +
|
||||||
' perm:application:delete perm:platform:add perm:platform:remove perm:roles:view perm:devices:view';
|
' perm:application:delete perm:platform:add perm:platform:remove perm:roles:view perm:devices:view';
|
||||||
|
this.appManagerEndpoints = {};
|
||||||
|
this.platformManagerEndpoints = {};
|
||||||
|
this.userConstants = {};
|
||||||
|
this.defaultLocale = "en";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
load() {
|
||||||
|
let apiBaseUrl = 'https://' + Configuration.serverConfig.hostname + ':' + Configuration.serverConfig.apiPort;
|
||||||
|
let httpBaseUrl = 'https://' + Configuration.serverConfig.hostname + ':' + Configuration.serverConfig.httpsPort;
|
||||||
|
|
||||||
this.appManagerEndpoints = {
|
this.appManagerEndpoints = {
|
||||||
GET_ALL_APPS: this.https + this.serverConfig.hostname + ':' + this.serverConfig.httpsPort + '/api/application-mgt/v1.0/applications/1.0.0/',
|
GET_ALL_APPS: apiBaseUrl + '/api/application-mgt/v1.0/applications/1.0.0/',
|
||||||
CREATE_APP: 'https://localhost:8243/api/application-mgt/v1.0/applications/1.0.0/',
|
CREATE_APP: apiBaseUrl + '/api/application-mgt/v1.0/applications/1.0.0/',
|
||||||
UPLOAD_IMAGE_ARTIFACTS: 'https://localhost:8243/api/application-mgt/v1.0/applications/1.0.0/upload-image-artifacts/', //+appId
|
UPLOAD_IMAGE_ARTIFACTS: apiBaseUrl + '/api/application-mgt/v1.0/applications/1.0.0/upload-image-artifacts/', //+appId
|
||||||
GET_IMAGE_ARTIFACTS: "https://localhost:8243/api/application-mgt/v1.0/applications/1.0.0/image-artifacts/"
|
GET_IMAGE_ARTIFACTS: apiBaseUrl + '/api/application-mgt/v1.0/applications/1.0.0/image-artifacts/'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//TODO: remove the platform manager endpoints
|
||||||
this.platformManagerEndpoints = {
|
this.platformManagerEndpoints = {
|
||||||
CREATE_PLATFORM: 'https://localhost:8243/api/application-mgt/v1.0/platforms/1.0.0',
|
CREATE_PLATFORM: 'https://localhost:8243/api/application-mgt/v1.0/platforms/1.0.0',
|
||||||
GET_ENABLED_PLATFORMS: 'https://localhost:8243/api/application-mgt/v1.0/platforms/1.0.0?status=ENABLED',
|
GET_ENABLED_PLATFORMS: 'https://localhost:8243/api/application-mgt/v1.0/platforms/1.0.0?status=ENABLED',
|
||||||
@ -47,22 +51,13 @@ class Constants {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.userConstants = {
|
this.userConstants = {
|
||||||
LOGIN_URL: "https://localhost:9443/auth/application-mgt/v1.0/auth/login",
|
LOGIN_URL: httpBaseUrl + '/auth/application-mgt/v1.0/auth/login',
|
||||||
LOGOUT_URL: "https://localhost:9443/auth/application-mgt/v1.0/auth/logout",
|
LOGOUT_URL: httpBaseUrl + '/auth/application-mgt/v1.0/auth/logout',
|
||||||
REFRESH_TOKEN_URL: "",
|
REFRESH_TOKEN_URL: "",
|
||||||
WSO2_USER: 'wso2_user',
|
WSO2_USER: 'wso2_user',
|
||||||
PARTIAL_TOKEN: 'WSO2_IOT_TOKEN'
|
PARTIAL_TOKEN: 'WSO2_IOT_TOKEN'
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
getServerConfig(callback) {
|
|
||||||
let baseURL = window.location.origin;
|
|
||||||
let appContext = window.location.pathname.split("/")[1];
|
|
||||||
let configFileName = 'config.json';
|
|
||||||
return axios.get(baseURL + "/" + configFileName);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default(new Constants);
|
export default(new Constants);
|
||||||
|
|||||||
@ -21,6 +21,7 @@ import {withRouter} from 'react-router-dom';
|
|||||||
import {Button, Col, Row, Table} from 'reactstrap';
|
import {Button, Col, Row, Table} from 'reactstrap';
|
||||||
import Drawer from '../UIComponents/Drawer/Drawer';
|
import Drawer from '../UIComponents/Drawer/Drawer';
|
||||||
import ApplicationView from './View/ApplicationView';
|
import ApplicationView from './View/ApplicationView';
|
||||||
|
import Configuration from '../../common/configuration';
|
||||||
import Constants from '../../common/constants';
|
import Constants from '../../common/constants';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -55,7 +56,6 @@ class ApplicationListing extends Component {
|
|||||||
src: "http://dl1.cbsistatic.com/i/r/2016/08/08/0e67e43a-5a45-41ab-b81d-acfba8708044/resize/736x552/0c0ee669677b5060a0fa1bfb0c7873b4/android-logo-promo-470.png"
|
src: "http://dl1.cbsistatic.com/i/r/2016/08/08/0e67e43a-5a45-41ab-b81d-acfba8708044/resize/736x552/0c0ee669677b5060a0fa1bfb0c7873b4/android-logo-promo-470.png"
|
||||||
}]
|
}]
|
||||||
};
|
};
|
||||||
console.log(Constants.appManagerEndpoints.GET_ALL_APPS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
headers = [
|
headers = [
|
||||||
|
|||||||
@ -21,9 +21,43 @@ import Store from './App';
|
|||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
import 'bootstrap/dist/css/bootstrap.css';
|
import 'bootstrap/dist/css/bootstrap.css';
|
||||||
import registerServiceWorker from './registerServiceWorker';
|
import registerServiceWorker from './registerServiceWorker';
|
||||||
|
import {IntlProvider, addLocaleData, defineMessages} from 'react-intl';
|
||||||
|
import Axios from 'axios';
|
||||||
|
import Constants from './common/constants';
|
||||||
|
import Configuration from './common/configuration';
|
||||||
|
|
||||||
|
function loadStore() {
|
||||||
|
const possibleLocale = navigator.language.split("-")[0];
|
||||||
|
//TODO: baseURL: Configuration.hostConstants.baseURL + "/" + Configuration.hostConstants.appContext + "/locales/"
|
||||||
|
let loadLocaleFile = Axios.create({
|
||||||
|
baseURL: Configuration.hostConstants.baseURL + "/locales/"
|
||||||
|
+ possibleLocale + ".json"
|
||||||
|
}).get();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the base js file of the app. All the content will be rendered in the root element.
|
* This is the base js file of the app. All the content will be rendered in the root element.
|
||||||
* */
|
* */
|
||||||
ReactDOM.render(<Store/>, document.getElementById('root'));
|
loadLocaleFile.then(response => {
|
||||||
|
const messages = defineMessages(response.data);
|
||||||
|
addLocaleData(require('react-intl/locale-data/' + possibleLocale));
|
||||||
|
ReactDOM.render(<IntlProvider locale={possibleLocale}
|
||||||
|
messages={messages}><Store/></IntlProvider>, document.getElementById('root'));
|
||||||
registerServiceWorker();
|
registerServiceWorker();
|
||||||
|
}).catch(error => {
|
||||||
|
addLocaleData(require('react-intl/locale-data/en'));
|
||||||
|
let defaultLocale = Axios.create({
|
||||||
|
baseURL: Configuration.hostConstants.baseURL + "/" + "locales/" + Constants.defaultLocale + ".json"
|
||||||
|
}).get();
|
||||||
|
defaultLocale.then(response => {
|
||||||
|
const messages = defineMessages(response.data);
|
||||||
|
ReactDOM.render(<IntlProvider locale={possibleLocale}
|
||||||
|
messages={messages}><Store/></IntlProvider>, document.getElementById('root'));
|
||||||
|
registerServiceWorker();
|
||||||
|
}).catch(error => {
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Configuration.loadConfiguration(loadStore);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user