Update openapi, fixing display of map basestyle with static_url
All checks were successful
/ build (push) Successful in 30s

This commit is contained in:
phil 2024-12-22 02:45:41 +01:00
parent f7629e36e0
commit 8edcf1c9f4
6 changed files with 1360 additions and 1438 deletions

View file

@ -1,5 +1,7 @@
import { Component, OnInit, OnDestroy, Input, ViewChild, NgZone, import {
ChangeDetectionStrategy, ChangeDetectorRef, ElementRef } from '@angular/core' Component, OnInit, OnDestroy, Input, ViewChild, NgZone,
ChangeDetectionStrategy, ChangeDetectorRef, ElementRef
} from '@angular/core'
import { ActivatedRoute, Params, Router } from '@angular/router' import { ActivatedRoute, Params, Router } from '@angular/router'
import { Observable } from 'rxjs' import { Observable } from 'rxjs'
@ -8,9 +10,11 @@ import { WebSocketSubject } from 'rxjs/webSocket'
import { MatSnackBar } from '@angular/material/snack-bar' import { MatSnackBar } from '@angular/material/snack-bar'
import { Map, MapMouseEvent, LayerSpecification, import {
Map, MapMouseEvent, LayerSpecification,
GeoJSONSourceSpecification, FitBoundsOptions, GeoJSONSourceSpecification, FitBoundsOptions,
ExpressionSpecification, Source, GeoJSONSource } from 'maplibre-gl' ExpressionSpecification, Source, GeoJSONSource
} from 'maplibre-gl'
import Point from '@mapbox/point-geometry' import Point from '@mapbox/point-geometry'
import * as bbox from '@turf/bbox' import * as bbox from '@turf/bbox'
@ -27,7 +31,7 @@ export class LayerWithMetaData {
public layer: LayerSpecification, public layer: LayerSpecification,
public highlightedLayer: LayerSpecification, public highlightedLayer: LayerSpecification,
public layerNode: LayerNode, public layerNode: LayerNode,
) {} ) { }
} }
let normalize = (s: string) => s ? s.trim().toLowerCase() : '' let normalize = (s: string) => s ? s.trim().toLowerCase() : ''
@ -36,7 +40,7 @@ let normalize = (s: string) => s ? s.trim().toLowerCase() : ''
@Component({ @Component({
selector: 'gisaf-mapbox', selector: 'gisaf-mapbox',
templateUrl: 'gisaf-mapbox.component.html', templateUrl: 'gisaf-mapbox.component.html',
styleUrls: [ 'gisaf-mapbox.component.css' ], styleUrls: ['gisaf-mapbox.component.css'],
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
providers: [ providers: [
GeoJsonService, GeoJsonService,
@ -107,7 +111,7 @@ export class GisafMapboxComponent implements OnInit, OnDestroy {
protected mapDataService: MapDataService, protected mapDataService: MapDataService,
public mapControlService: MapControlService, public mapControlService: MapControlService,
protected infoDataService: InfoDataService, protected infoDataService: InfoDataService,
) {} ) { }
@Input() @Input()
set baseStyleName(styleName: string) { set baseStyleName(styleName: string) {
@ -193,7 +197,7 @@ export class GisafMapboxComponent implements OnInit, OnDestroy {
} }
_getNewSingleOpacity(layerId: string, originalOpacity: number | object): number | object { _getNewSingleOpacity(layerId: string, originalOpacity: number | object): number | object {
if (typeof(originalOpacity) === 'number') { if (typeof (originalOpacity) === 'number') {
return originalOpacity * this._baseStyleOpacity return originalOpacity * this._baseStyleOpacity
} }
else { else {
@ -513,7 +517,7 @@ export class GisafMapboxComponent implements OnInit, OnDestroy {
selectFeaturesInBbox(point1: Point, point2: Point) { selectFeaturesInBbox(point1: Point, point2: Point) {
let featureList = this.map.queryRenderedFeatures( let featureList = this.map.queryRenderedFeatures(
[point1, point2], [point1, point2],
{layers: Object.keys(this.layers)} { layers: Object.keys(this.layers) }
) )
// XXX: there should be a better method to build the dict of selected features, eg. map-reduce // XXX: there should be a better method to build the dict of selected features, eg. map-reduce
@ -625,7 +629,7 @@ export class GisafMapboxComponent implements OnInit, OnDestroy {
} }
else { else {
data['features'].forEach( data['features'].forEach(
(feature:object) => { (feature: object) => {
feature['properties']['id'] = feature['id'] feature['properties']['id'] = feature['id']
} }
) )
@ -633,7 +637,7 @@ export class GisafMapboxComponent implements OnInit, OnDestroy {
// Add a property to each feature, keeping track of selection // Add a property to each feature, keeping track of selection
data['features'].forEach( data['features'].forEach(
(feature:object) => feature['properties']['_selected'] = false (feature: object) => feature['properties']['_selected'] = false
) )
let layer: LayerSpecification = <LayerSpecification>{ let layer: LayerSpecification = <LayerSpecification>{
@ -895,7 +899,7 @@ export class GisafMapboxComponent implements OnInit, OnDestroy {
} }
} }
filterLayer(layerName: string, searchText: string, taggedFeatures: TaggedLayer[]=[], taggedFeatureText: string) { filterLayer(layerName: string, searchText: string, taggedFeatures: TaggedLayer[] = [], taggedFeatureText: string) {
let layer = this.layers[layerName] let layer = this.layers[layerName]
let tagsLayerName = layerName + '-tags' let tagsLayerName = layerName + '-tags'
let labelsLayerName = layerName + '-labels' let labelsLayerName = layerName + '-labels'
@ -1186,7 +1190,7 @@ export class GisafMapboxComponent implements OnInit, OnDestroy {
} }
*/ */
toggleControlDrawer(value?:boolean): void { toggleControlDrawer(value?: boolean): void {
this.mapControlService.toggleControls(value) this.mapControlService.toggleControls(value)
} }
@ -1194,7 +1198,7 @@ export class GisafMapboxComponent implements OnInit, OnDestroy {
if (!(evt.point && this.map)) { if (!(evt.point && this.map)) {
return return
} }
let features = this.map.queryRenderedFeatures(evt.point, {layers:Object.keys(this.layers)}) let features = this.map.queryRenderedFeatures(evt.point, { layers: Object.keys(this.layers) })
let feature = features[0] let feature = features[0]
if (feature) { if (feature) {
let layer = (<any>this.layerDefs)[(<any>feature).layer.id] let layer = (<any>this.layerDefs)[(<any>feature).layer.id]
@ -1252,12 +1256,12 @@ export class GisafMapboxComponent implements OnInit, OnDestroy {
for (let layerName in this.layers) { for (let layerName in this.layers) {
let filter = this.map.getFilter(layerName) let filter = this.map.getFilter(layerName)
// Eventually re-fit with the filter // Eventually re-fit with the filter
if (filter && filter[0]=='in' && filter[1]=='id') { if (filter && filter[0] == 'in' && filter[1] == 'id') {
// NOTE: this.map.querySourceLayer works only for features in the viewport, so // NOTE: this.map.querySourceLayer works only for features in the viewport, so
// the source data is used // the source data is used
// Assuming that filter is in the form ['in', 'id', ...] // Assuming that filter is in the form ['in', 'id', ...]
let ids = (<string[]>filter).splice(2) let ids = (<string[]>filter).splice(2)
features.push(...this.layers[layerName].source.data.features.filter(f=>ids.indexOf(f.id)!=-1)) features.push(...this.layers[layerName].source.data.features.filter(f => ids.indexOf(f.id) != -1))
} }
else { else {
features.push(...this.layers[layerName].source.data.features) features.push(...this.layers[layerName].source.data.features)

View file

@ -11,7 +11,7 @@ export class BaseStyle {
constructor( constructor(
public name: string, public name: string,
public style?: StyleSpecification, public style?: StyleSpecification,
) {} ) { }
} }
@Injectable() @Injectable()
@ -61,7 +61,7 @@ export class MapDataService {
public createBaseMap(baseMapName: string, stores: string[]): Observable<BaseMapWithStores> { public createBaseMap(baseMapName: string, stores: string[]): Observable<BaseMapWithStores> {
console.log('TODO: Migrate Graphql createBaseMap') console.log('TODO: Migrate Graphql createBaseMap')
return of({name: '', stores:[]}) return of({ name: '', stores: [] })
// return this.apollo.mutate({ // return this.apollo.mutate({
// mutation: createBaseMapQuery, // mutation: createBaseMapQuery,
// variables: { // variables: {
@ -89,8 +89,8 @@ export class MapDataService {
// } // }
getBaseStyle(styleName: string): Observable<BaseStyle> { getBaseStyle(styleName: string): Observable<BaseStyle> {
return this.mapService.getBaseStyleApiMapBaseStyleNameGet({name: styleName}).pipe(map( return this.mapService.getBaseStyleApiMapBaseStyleNameGet({ name: styleName }).pipe(map(
data => new BaseStyle(data.name, <any>data.style) (data: OApiBaseStyle) => new BaseStyle(data.name, <any>data.style)
)) ))
} }

View file

@ -47,7 +47,7 @@ export const OpenAPI: OpenAPIConfig = {
PASSWORD: undefined, PASSWORD: undefined,
TOKEN: undefined, TOKEN: undefined,
USERNAME: undefined, USERNAME: undefined,
VERSION: '0.1.dev85+g41e92fa.d20240509', VERSION: '0.6.0a0',
WITH_CREDENTIALS: false, WITH_CREDENTIALS: false,
interceptors: { interceptors: {
response: new Interceptors(), response: new Interceptors(),

View file

@ -259,12 +259,26 @@ export const $BaseStyle = {
title: 'Style' title: 'Style'
}, },
mbtiles: { mbtiles: {
type: 'string', anyOf: [
{
type: 'string'
},
{
type: 'null'
}
],
title: 'Mbtiles' title: 'Mbtiles'
}, },
static_tiles_url: { static_url: {
type: 'string', anyOf: [
title: 'Static Tiles Url' {
type: 'string'
},
{
type: 'null'
}
],
title: 'Static Url'
}, },
enabled: { enabled: {
type: 'boolean', type: 'boolean',
@ -273,7 +287,7 @@ export const $BaseStyle = {
} }
}, },
type: 'object', type: 'object',
required: ['name', 'style', 'mbtiles', 'static_tiles_url'], required: ['name'],
title: 'BaseStyle' title: 'BaseStyle'
} as const; } as const;
@ -311,7 +325,6 @@ export const $BasketDefault = {
title: 'Store' title: 'Store'
} }
}, },
additionalProperties: false,
type: 'object', type: 'object',
title: 'BasketDefault' title: 'BasketDefault'
} as const; } as const;
@ -514,52 +527,43 @@ export const $BootstrapData = {
version: { version: {
type: 'string', type: 'string',
title: 'Version', title: 'Version',
default: '0.1.dev85+g41e92fa.d20240509' default: '0.6.0a0'
}, },
title: { title: {
type: 'string', type: 'string',
title: 'Title', title: 'Title',
default: 'Auroville Geomatics Studio (Me)' default: 'Gisaf'
}, },
windowTitle: { windowTitle: {
type: 'string', type: 'string',
title: 'Windowtitle', title: 'Windowtitle',
default: 'AV Geomatics Studio (Me)' default: 'Gisaf'
}, },
map: { map: {
allOf: [ '$ref': '#/components/schemas/Map',
{
'$ref': '#/components/schemas/Map'
}
],
default: { default: {
attribution: '© Auroville CSR Geomatics',
bearing: 0,
defaultStatus: ['E'],
lat: 12.007,
lng: 79.8098,
opacity: 0.4,
pitch: 0,
status: ['E', 'F', 'D'],
style: 'No base map',
tagKeys: ['source'],
tileServer: { tileServer: {
baseDir: '/home/phil/gisaf_misc/map', baseDir: '/home/phil/.local/share/gisaf/mbtiles_files_dir',
openMapTilesKey: 'cS3lrAfYXoM4MDooT6aS', spriteBaseDir: '/home/phil/.local/share/gisaf/mbtiles_sprites_dir',
spriteBaseDir: '/home/phil/gisaf_misc/map/sprite', spriteBaseUrl: 'https://gisaf.example.org',
spriteBaseUrl: 'https://gis.auroville.org.in',
spriteUrl: '/tiles/sprite/sprite', spriteUrl: '/tiles/sprite/sprite',
useRequestUrl: true useRequestUrl: false
}, },
zoom: 14 zoom: 14,
pitch: 45,
lat: 12,
lng: 79.8106,
bearing: 0,
style: 'OpenFreeMap',
opacity: 1,
attribution: '',
status: ['E', 'F', 'D'],
defaultStatus: ['E'],
tagKeys: ['source']
} }
}, },
geo: { geo: {
allOf: [ '$ref': '#/components/schemas/Geo',
{
'$ref': '#/components/schemas/Geo'
}
],
default: { default: {
raw_survey: { raw_survey: {
spatial_sys_ref: { spatial_sys_ref: {
@ -584,19 +588,13 @@ export const $BootstrapData = {
} }
}, },
measures: { measures: {
allOf: [ '$ref': '#/components/schemas/Measures',
{ default: {}
'$ref': '#/components/schemas/Measures'
}
],
default: {
defaultStore: 'avsm_water.well'
}
}, },
redirect: { redirect: {
type: 'string', type: 'string',
title: 'Redirect', title: 'Redirect',
default: 'http://gis.auroville.org.in' default: ''
}, },
user: { user: {
anyOf: [ anyOf: [
@ -1442,11 +1440,7 @@ export const $FormFieldInput = {
export const $Geo = { export const $Geo = {
properties: { properties: {
raw_survey: { raw_survey: {
allOf: [ '$ref': '#/components/schemas/RawSurvey',
{
'$ref': '#/components/schemas/RawSurvey'
}
],
default: { default: {
spatial_sys_ref: { spatial_sys_ref: {
author: 'AVSM', author: 'AVSM',
@ -1485,7 +1479,6 @@ export const $Geo = {
default: 32644 default: 32644
} }
}, },
additionalProperties: false,
type: 'object', type: 'object',
title: 'Geo' title: 'Geo'
} as const; } as const;
@ -1568,17 +1561,13 @@ export const $LegendItem = {
export const $Map = { export const $Map = {
properties: { properties: {
tileServer: { tileServer: {
allOf: [ '$ref': '#/components/schemas/TileServer',
{
'$ref': '#/components/schemas/TileServer'
}
],
default: { default: {
baseDir: '/path/to/mbtiles_files_dir', baseDir: '/home/phil/.local/share/gisaf/mbtiles_files_dir',
spriteBaseDir: '/path/to/mbtiles_sprites_dir', useRequestUrl: false,
spriteBaseUrl: 'https://gisaf.example.org', spriteBaseDir: '/home/phil/.local/share/gisaf/mbtiles_sprites_dir',
spriteUrl: '/tiles/sprite/sprite', spriteUrl: '/tiles/sprite/sprite',
useRequestUrl: false spriteBaseUrl: 'https://gisaf.example.org'
} }
}, },
zoom: { zoom: {
@ -1609,7 +1598,7 @@ export const $Map = {
style: { style: {
type: 'string', type: 'string',
title: 'Style', title: 'Style',
default: 'OSM (vector)' default: 'OpenFreeMap'
}, },
opacity: { opacity: {
type: 'number', type: 'number',
@ -1646,7 +1635,6 @@ export const $Map = {
default: ['source'] default: ['source']
} }
}, },
additionalProperties: false,
type: 'object', type: 'object',
title: 'Map' title: 'Map'
} as const; } as const;
@ -1790,7 +1778,6 @@ export const $Measures = {
title: 'Defaultstore' title: 'Defaultstore'
} }
}, },
additionalProperties: false,
type: 'object', type: 'object',
title: 'Measures' title: 'Measures'
} as const; } as const;
@ -2109,11 +2096,7 @@ export const $Project = {
export const $RawSurvey = { export const $RawSurvey = {
properties: { properties: {
spatial_sys_ref: { spatial_sys_ref: {
allOf: [ '$ref': '#/components/schemas/SpatialSysRef',
{
'$ref': '#/components/schemas/SpatialSysRef'
}
],
default: { default: {
author: 'AVSM', author: 'AVSM',
ellps: 'WGS84', ellps: 'WGS84',
@ -2134,7 +2117,6 @@ export const $RawSurvey = {
default: 910001 default: 910001
} }
}, },
additionalProperties: false,
type: 'object', type: 'object',
title: 'RawSurvey' title: 'RawSurvey'
} as const; } as const;
@ -2237,7 +2219,6 @@ export const $SpatialSysRef = {
default: 1328608.994 default: 1328608.994
} }
}, },
additionalProperties: false,
type: 'object', type: 'object',
title: 'SpatialSysRef' title: 'SpatialSysRef'
} as const; } as const;
@ -2386,11 +2367,12 @@ export const $Store = {
}, },
z_index: { z_index: {
type: 'integer', type: 'integer',
title: 'Z Index' title: 'Z Index',
default: 500
} }
}, },
type: 'object', type: 'object',
required: ['name', 'auto_import', 'custom', 'description', 'gis_type', 'group', 'in_menu', 'is_db', 'is_line_work', 'is_live', 'long_name', 'type', 'minor_group_1', 'minor_group_2', 'status', 'style', 'symbol', 'title', 'viewable_role', 'z_index'], required: ['name', 'auto_import', 'custom', 'description', 'gis_type', 'group', 'in_menu', 'is_db', 'is_line_work', 'is_live', 'long_name', 'type', 'minor_group_1', 'minor_group_2', 'status', 'style', 'symbol', 'title'],
title: 'Store' title: 'Store'
} as const; } as const;
@ -2648,8 +2630,9 @@ export const $TileServer = {
properties: { properties: {
baseDir: { baseDir: {
type: 'string', type: 'string',
format: 'path',
title: 'Basedir', title: 'Basedir',
default: '/path/to/mbtiles_files_dir' default: '/home/phil/.local/share/gisaf/mbtiles_files_dir'
}, },
useRequestUrl: { useRequestUrl: {
type: 'boolean', type: 'boolean',
@ -2658,8 +2641,9 @@ export const $TileServer = {
}, },
spriteBaseDir: { spriteBaseDir: {
type: 'string', type: 'string',
format: 'path',
title: 'Spritebasedir', title: 'Spritebasedir',
default: '/path/to/mbtiles_sprites_dir' default: '/home/phil/.local/share/gisaf/mbtiles_sprites_dir'
}, },
spriteUrl: { spriteUrl: {
type: 'string', type: 'string',
@ -2683,7 +2667,6 @@ export const $TileServer = {
title: 'Openmaptileskey' title: 'Openmaptileskey'
} }
}, },
additionalProperties: false,
type: 'object', type: 'object',
title: 'TileServer' title: 'TileServer'
} as const; } as const;

View file

@ -54,11 +54,11 @@ export type BaseMapWithStores = {
export type BaseStyle = { export type BaseStyle = {
id?: number | null; id?: number | null;
name: string; name: string;
style: { style?: {
[key: string]: unknown; [key: string]: unknown;
} | null; } | null;
mbtiles: string; mbtiles?: string | null;
static_tiles_url: string; static_url?: string | null;
enabled?: boolean; enabled?: boolean;
}; };
@ -457,8 +457,8 @@ export type Store = {
style: string | null; style: string | null;
symbol: string | null; symbol: string | null;
title: string; title: string;
viewable_role: string | null; viewable_role?: string | null;
z_index: number; z_index?: number;
}; };
export type StoreNameOnly = { export type StoreNameOnly = {
@ -751,9 +751,7 @@ export type $OpenApiTs = {
}; };
'/api/token': { '/api/token': {
post: { post: {
req: { req: LoginForAccessTokenApiTokenPostData;
formData: Body_login_for_access_token_api_token_post;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -870,9 +868,7 @@ export type $OpenApiTs = {
}; };
'/api/data-provider/{store}': { '/api/data-provider/{store}': {
get: { get: {
req: { req: GetModelListApiDataProviderStoreGetData;
store: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -891,12 +887,7 @@ export type $OpenApiTs = {
}; };
'/api/{store_name}/values/{value}': { '/api/{store_name}/values/{value}': {
get: { get: {
req: { req: GetModelValuesApiStoreNameValuesValueGetData;
resample?: string | null;
storeName: string;
value: string;
where: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -957,10 +948,7 @@ export type $OpenApiTs = {
}; };
'/api/feature-info/{store}/{id}': { '/api/feature-info/{store}/{id}': {
get: { get: {
req: { req: GetFeatureInfoApiFeatureInfoStoreIdGetData;
id: string;
store: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -979,9 +967,7 @@ export type $OpenApiTs = {
}; };
'/api/model-info/{store}': { '/api/model-info/{store}': {
get: { get: {
req: { req: GetModelInfoApiModelInfoStoreGetData;
store: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1000,11 +986,7 @@ export type $OpenApiTs = {
}; };
'/api/plot-params/{store}': { '/api/plot-params/{store}': {
get: { get: {
req: { req: GetPlotParamsApiPlotParamsStoreGetData;
id: string;
store: string;
value: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1037,9 +1019,7 @@ export type $OpenApiTs = {
}; };
'/api/execTagActions': { '/api/execTagActions': {
post: { post: {
req: { req: ExecuteTagActionApiExecTagActionsPostData;
requestBody: Body_execute_tag_action_api_execTagActions_post;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1058,12 +1038,7 @@ export type $OpenApiTs = {
}; };
'/api/gj/{store_name}': { '/api/gj/{store_name}': {
get: { get: {
req: { req: GetGeojsonApiGjStoreNameGetData;
ifNoneMatch?: string | null;
preserveTopology?: boolean | null;
simplify?: number | null;
storeName: unknown;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1096,9 +1071,7 @@ export type $OpenApiTs = {
}; };
'/api/admin/basket/{name}': { '/api/admin/basket/{name}': {
get: { get: {
req: { req: GetBasketApiAdminBasketNameGetData;
name: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1117,14 +1090,7 @@ export type $OpenApiTs = {
}; };
'/api/admin/basket/upload/{name}': { '/api/admin/basket/upload/{name}': {
post: { post: {
req: { req: UploadBasketFileApiAdminBasketUploadNamePostData;
autoImport?: boolean;
equipmentId?: number | null;
formData: Body_upload_basket_file_api_admin_basket_upload__name__post;
name: string;
projectId?: number | null;
surveyorId?: number | null;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1143,11 +1109,7 @@ export type $OpenApiTs = {
}; };
'/api/admin/basket/download/{name}/{file_id}/{file_name}': { '/api/admin/basket/download/{name}/{file_id}/{file_name}': {
get: { get: {
req: { req: DownloadBasketFileApiAdminBasketDownloadNameFileIdFileNameGetData;
fileId: number;
fileName: string;
name: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1166,11 +1128,7 @@ export type $OpenApiTs = {
}; };
'/api/admin/basket/import/{basket}/{file_id}': { '/api/admin/basket/import/{basket}/{file_id}': {
get: { get: {
req: { req: ImportBasketFileApiAdminBasketImportBasketFileIdGetData;
basket: string;
dryRun?: boolean;
fileId: number;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1189,10 +1147,7 @@ export type $OpenApiTs = {
}; };
'/api/admin/basket/delete/{basket}/{file_id}': { '/api/admin/basket/delete/{basket}/{file_id}': {
get: { get: {
req: { req: DeleteBasketFileApiAdminBasketDeleteBasketFileIdGetData;
basket: string;
fileId: number;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1239,10 +1194,7 @@ export type $OpenApiTs = {
}; };
'/api/dashboard/page/{group}/{name}': { '/api/dashboard/page/{group}/{name}': {
get: { get: {
req: { req: GetDashboardPageApiDashboardPageGroupNameGetData;
group: string;
name: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1271,9 +1223,7 @@ export type $OpenApiTs = {
}; };
'/api/map/base_style/{name}': { '/api/map/base_style/{name}': {
get: { get: {
req: { req: GetBaseStyleApiMapBaseStyleNameGetData;
name: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1288,9 +1238,7 @@ export type $OpenApiTs = {
}; };
'/api/map/layer_style/{store}': { '/api/map/layer_style/{store}': {
get: { get: {
req: { req: GetLayerStyleApiMapLayerStyleStoreGetData;
store: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1305,12 +1253,7 @@ export type $OpenApiTs = {
}; };
'/api/download/csv/{store}/{model_id}/{value}/{resample}': { '/api/download/csv/{store}/{model_id}/{value}/{resample}': {
get: { get: {
req: { req: DownloadCsvApiDownloadCsvStoreModelIdValueResampleGetData;
modelId: number;
resample: string;
store: string;
value: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1329,11 +1272,7 @@ export type $OpenApiTs = {
}; };
'/api/download/geodata/{stores}': { '/api/download/geodata/{stores}': {
get: { get: {
req: { req: DownloadGeodataApiDownloadGeodataStoresGetData;
format?: string;
reproject?: boolean;
stores: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response
@ -1352,11 +1291,7 @@ export type $OpenApiTs = {
}; };
'/api/download/plugin/{name}/{store}/{id}': { '/api/download/plugin/{name}/{store}/{id}': {
get: { get: {
req: { req: ExecuteActionApiDownloadPluginNameStoreIdGetData;
id: number;
name: string;
store: string;
};
res: { res: {
/** /**
* Successful Response * Successful Response