import Lacuna from '../lacuna'; import Endpoint from '../core/endpoint'; import * as B from '../types/building'; class Building extends Endpoint { lacuna: Lacuna; module: string; constructor(lacuna: Lacuna, module: string) { super(); this.lacuna = lacuna; this.module = module; } view(params: B.ViewParams) { return this.callWithSession('view', params); } upgrade(params: B.UpgradeParams) { return this.callWithSession('upgrade', params); } downgrade(params: B.DowngradeParams) { return this.withBuildingIds(this.callWithSession('downgrade', params)); } demolish(params: B.DemolishParams) { return this.withBuildingIds(this.callWithSession('demolish', params)); } build(params: B.BuildParams) { return this.withBuildingIds(this.callWithSession('build', params)); } repair(params: B.RepairParams) { return this.withBuildingIds(this.callWithSession('repair', params)); } getStatsForLevel(params: B.GetStatsForLevelParams) { return this.callWithSession('get_stats_for_level', params); } } export default Building;