blob: f286126b3343421e05892d090a1c7ffb37824ea5 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF 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 _ from 'lodash';
ConfigurationResourceService.$inject = ['$http'];
export default function ConfigurationResourceService($http: ng.IHttpService) {
return {
read() {
return $http.get('/api/v1/configuration/list')
.then(({data}) => data)
.catch(({data}) => Promise.reject(data));
},
populate(data) {
const {spaces, clusters, caches, igfss, domains} = _.cloneDeep(data);
_.forEach(clusters, (cluster) => {
cluster.caches = _.filter(caches, ({_id}) => _.includes(cluster.caches, _id));
_.forEach(cluster.caches, (cache) => {
cache.domains = _.filter(domains, ({_id}) => _.includes(cache.domains, _id));
if (_.get(cache, 'nodeFilter.kind') === 'IGFS')
cache.nodeFilter.IGFS.instance = _.find(igfss, {_id: cache.nodeFilter.IGFS.igfs});
});
cluster.igfss = _.filter(igfss, ({_id}) => _.includes(cluster.igfss, _id));
});
return Promise.resolve({spaces, clusters, caches, igfss, domains});
}
};
}