49 lines
1.6 KiB
JavaScript
49 lines
1.6 KiB
JavaScript
var assert = require('assert');
|
|
var step = require('step');
|
|
|
|
var MapStoreMapConfigProvider = require('./map-store-provider');
|
|
|
|
/**
|
|
* @param {MapConfig} mapConfig
|
|
* @param {String} user
|
|
* @param {UserLimitsApi} userLimitsApi
|
|
* @param {Object} params
|
|
* @constructor
|
|
* @type {CreateLayergroupMapConfigProvider}
|
|
*/
|
|
function CreateLayergroupMapConfigProvider(mapConfig, user, userLimitsApi, params) {
|
|
this.mapConfig = mapConfig;
|
|
this.user = user;
|
|
this.userLimitsApi = userLimitsApi;
|
|
this.params = params;
|
|
this.cacheBuster = params.cache_buster || 0;
|
|
}
|
|
|
|
module.exports = CreateLayergroupMapConfigProvider;
|
|
|
|
CreateLayergroupMapConfigProvider.prototype.getMapConfig = function(callback) {
|
|
var self = this;
|
|
var context = {};
|
|
step(
|
|
function prepareContextLimits() {
|
|
self.userLimitsApi.getRenderLimits(self.user, self.params.api_key, this);
|
|
},
|
|
function handleRenderLimits(err, renderLimits) {
|
|
assert.ifError(err);
|
|
context.limits = renderLimits;
|
|
return null;
|
|
},
|
|
function finish(err) {
|
|
return callback(err, self.mapConfig, self.params, context);
|
|
}
|
|
);
|
|
};
|
|
|
|
CreateLayergroupMapConfigProvider.prototype.getKey = MapStoreMapConfigProvider.prototype.getKey;
|
|
|
|
CreateLayergroupMapConfigProvider.prototype.getCacheBuster = MapStoreMapConfigProvider.prototype.getCacheBuster;
|
|
|
|
CreateLayergroupMapConfigProvider.prototype.filter = MapStoreMapConfigProvider.prototype.filter;
|
|
|
|
CreateLayergroupMapConfigProvider.prototype.createKey = MapStoreMapConfigProvider.prototype.createKey;
|