Skip to content

Commit

Permalink
respond to license changes on the server
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasneirynck committed Nov 6, 2020
1 parent 3de1b89 commit 9bba67d
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 31 deletions.
6 changes: 5 additions & 1 deletion x-pack/plugins/maps/common/ems_settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,15 @@ export class EMSSettings {
return this._isEMSUrlSet();
}

isIncludeElasticMapsService() {
return !!this._config.includeElasticMapsService;
}

isEMSEnabled(): boolean {
if (this._isEMSUrlSet()) {
return this._getIsEnterprisePlus();
}
return !!this._config.includeElasticMapsService;
return this.isIncludeElasticMapsService();
}

getEMSFileApiUrl(): string {
Expand Down
67 changes: 37 additions & 30 deletions x-pack/plugins/maps/server/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,29 @@ import fs from 'fs';
import path from 'path';
import { initMVTRoutes } from './mvt/mvt_routes';

const EMPTY_EMS_CLIENT = {
async getFileLayers() {
return [];
},
async getTMSServices() {
return [];
},
async getMainManifest() {
return null;
},
async getDefaultFileManifest() {
return null;
},
async getDefaultTMSManifest() {
return null;
},
addQueryParams() {},
};

export function initRoutes(router, licenseUid, emsSettings, kbnVersion, logger) {
let emsClient;
if (emsSettings.isEMSEnabled()) {

if (emsSettings.isIncludeElasticMapsService()) {
emsClient = new EMSClient({
language: i18n.getLocale(),
appVersion: kbnVersion,
Expand All @@ -47,24 +67,11 @@ export function initRoutes(router, licenseUid, emsSettings, kbnVersion, logger)
});
emsClient.addQueryParams({ license: licenseUid });
} else {
emsClient = {
async getFileLayers() {
return [];
},
async getTMSServices() {
return [];
},
async getMainManifest() {
return null;
},
async getDefaultFileManifest() {
return null;
},
async getDefaultTMSManifest() {
return null;
},
addQueryParams() {},
};
emsClient = EMPTY_EMS_CLIENT;
}

function getEMSClient() {
return emsSettings.isEMSEnabled() ? emsClient : EMPTY_EMS_CLIENT;
}

router.get(
Expand All @@ -90,7 +97,7 @@ export function initRoutes(router, licenseUid, emsSettings, kbnVersion, logger)
return null;
}

const fileLayers = await emsClient.getFileLayers();
const fileLayers = await getEMSClient().getFileLayers();
const layer = fileLayers.find((layer) => layer.getId() === request.query.id);
if (!layer) {
return null;
Expand Down Expand Up @@ -127,7 +134,7 @@ export function initRoutes(router, licenseUid, emsSettings, kbnVersion, logger)
return null;
}

const tmsServices = await emsClient.getTMSServices();
const tmsServices = await getEMSClient().getTMSServices();
const tmsService = tmsServices.find((layer) => layer.getId() === request.query.id);
if (!tmsService) {
return null;
Expand All @@ -153,7 +160,7 @@ export function initRoutes(router, licenseUid, emsSettings, kbnVersion, logger)
return badRequest('map.proxyElasticMapsServiceInMaps disabled');
}

const main = await emsClient.getMainManifest();
const main = await getEMSClient().getMainManifest();
const proxiedManifest = {
services: [],
};
Expand Down Expand Up @@ -189,8 +196,8 @@ export function initRoutes(router, licenseUid, emsSettings, kbnVersion, logger)
return badRequest('map.proxyElasticMapsServiceInMaps disabled');
}

const file = await emsClient.getDefaultFileManifest(); //need raw manifest
const fileLayers = await emsClient.getFileLayers();
const file = await getEMSClient().getDefaultFileManifest(); //need raw manifest
const fileLayers = await getEMSClient().getFileLayers();

const layers = file.layers.map((layerJson) => {
const newLayerJson = { ...layerJson };
Expand Down Expand Up @@ -231,7 +238,7 @@ export function initRoutes(router, licenseUid, emsSettings, kbnVersion, logger)
return badRequest('map.proxyElasticMapsServiceInMaps disabled');
}

const tilesManifest = await emsClient.getDefaultTMSManifest();
const tilesManifest = await getEMSClient().getDefaultTMSManifest();
const newServices = tilesManifest.services.map((service) => {
const newService = {
...service,
Expand Down Expand Up @@ -284,7 +291,7 @@ export function initRoutes(router, licenseUid, emsSettings, kbnVersion, logger)
return null;
}

const tmsServices = await emsClient.getTMSServices();
const tmsServices = await getEMSClient().getTMSServices();
const tmsService = tmsServices.find((layer) => layer.getId() === request.query.id);
if (!tmsService) {
return null;
Expand Down Expand Up @@ -319,7 +326,7 @@ export function initRoutes(router, licenseUid, emsSettings, kbnVersion, logger)
return badRequest('map.proxyElasticMapsServiceInMaps disabled');
}

const tmsServices = await emsClient.getTMSServices();
const tmsServices = await getEMSClient().getTMSServices();
const tmsService = tmsServices.find((layer) => layer.getId() === request.query.id);
if (!tmsService) {
return null;
Expand Down Expand Up @@ -368,7 +375,7 @@ export function initRoutes(router, licenseUid, emsSettings, kbnVersion, logger)
return badRequest('map.proxyElasticMapsServiceInMaps disabled');
}

const tmsServices = await emsClient.getTMSServices();
const tmsServices = await getEMSClient().getTMSServices();
const tmsService = tmsServices.find((layer) => layer.getId() === request.query.id);
if (!tmsService) {
return null;
Expand Down Expand Up @@ -409,7 +416,7 @@ export function initRoutes(router, licenseUid, emsSettings, kbnVersion, logger)
return response.badRequest('map.proxyElasticMapsServiceInMaps disabled');
}

const tmsServices = await emsClient.getTMSServices();
const tmsServices = await getEMSClient().getTMSServices();
const tmsService = tmsServices.find((layer) => layer.getId() === request.query.id);
if (!tmsService) {
return null;
Expand Down Expand Up @@ -470,7 +477,7 @@ export function initRoutes(router, licenseUid, emsSettings, kbnVersion, logger)
return response.badRequest('map.proxyElasticMapsServiceInMaps disabled');
}

const tmsServices = await emsClient.getTMSServices();
const tmsServices = await getEMSClient().getTMSServices();
const tmsService = tmsServices.find((layer) => layer.getId() === request.params.id);
if (!tmsService) {
return null;
Expand Down

0 comments on commit 9bba67d

Please sign in to comment.