UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

77 lines (76 loc) 2.31 kB
export default class ServerOgc { constructor(name, elem) { Object.defineProperty(this, "name", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "url", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "wfsSupport", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "urlWfs", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "type", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "imageType", { enumerable: true, configurable: true, writable: true, value: void 0 }); Object.defineProperty(this, "aliases", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.name = name; this.url = elem.url; this.wfsSupport = elem.wfsSupport; this.urlWfs = elem.urlWfs; this.type = elem.type; this.imageType = elem.imageType; this.aliases = this.initializeAliases(elem); } getAliasKey(table, column) { return `${table}-${column}`; } initializeAliases(elem) { const aliases = {}; if (elem.attributes) { for (const [table, columns] of Object.entries(elem.attributes)) { for (const [column, attributes] of Object.entries(columns)) { if (attributes.alias) { aliases[this.getAliasKey(table, column)] = attributes.alias; } } } } return aliases; } getAlias(table, column) { const key = this.getAliasKey(table, column); return this.aliases[key]; } get uniqueWmsQueryId() { return this.name + this.imageType; } }