import { Descriptor } from "pip-services3-commons-nodex"; import { DirectClient } from "pip-services3-rpc-nodex"; import { FireMapTileV1 } from "./FireMapTileV1"; import { FireMapUpdateV1 } from "./FireMapUpdateV1"; import { IFireMapClientV1 } from "./IFireMapClientV1"; import { IFireMapController } from "./IFireMapController"; import { LocationV1 } from "./LocationV1"; export class FireMapDirectClientV1 extends DirectClient implements IFireMapClientV1 { public constructor() { super(); this._dependencyResolver.put('controller', new Descriptor('eic-stopfires-services-firemap', 'controller', '*', '*', '1.0')); } public async getTiles(correlationId: string, from: LocationV1, to: LocationV1, zoom: number): Promise { let timing = this.instrument(correlationId, 'firemaps.get_tiles'); try { return await this._controller.getTiles(correlationId, from, to, zoom); } catch (err) { timing.endFailure(err); } finally { timing.endSuccess(); } } public async updateTiles(correlationId: string, updates: FireMapUpdateV1[]): Promise { let timing = this.instrument(correlationId, 'firemaps.update_tiles'); try { return await this._controller.updateTiles(correlationId, updates); } catch (err) { timing.endFailure(err); } finally { timing.endSuccess(); } } }