API generation
This commit is contained in:
87
api/api/search_mvt.js
Normal file
87
api/api/search_mvt.js
Normal file
@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Licensed to Elasticsearch B.V. under one or more contributor
|
||||
* license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright
|
||||
* ownership. Elasticsearch B.V. licenses this file to you under
|
||||
* the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
'use strict'
|
||||
|
||||
/* eslint camelcase: 0 */
|
||||
/* eslint no-unused-vars: 0 */
|
||||
|
||||
const { handleError, snakeCaseKeys, normalizeArguments, kConfigurationError } = require('../utils')
|
||||
const acceptedQuerystring = ['exact_bounds', 'extent', 'grid_precision', 'grid_type', 'size', 'pretty', 'human', 'error_trace', 'source', 'filter_path']
|
||||
const snakeCase = { exactBounds: 'exact_bounds', gridPrecision: 'grid_precision', gridType: 'grid_type', errorTrace: 'error_trace', filterPath: 'filter_path' }
|
||||
|
||||
function searchMvtApi (params, options, callback) {
|
||||
;[params, options, callback] = normalizeArguments(params, options, callback)
|
||||
|
||||
// check required parameters
|
||||
if (params.index == null) {
|
||||
const err = new this[kConfigurationError]('Missing required parameter: index')
|
||||
return handleError(err, callback)
|
||||
}
|
||||
if (params.field == null) {
|
||||
const err = new this[kConfigurationError]('Missing required parameter: field')
|
||||
return handleError(err, callback)
|
||||
}
|
||||
if (params.zoom == null) {
|
||||
const err = new this[kConfigurationError]('Missing required parameter: zoom')
|
||||
return handleError(err, callback)
|
||||
}
|
||||
if (params.x == null) {
|
||||
const err = new this[kConfigurationError]('Missing required parameter: x')
|
||||
return handleError(err, callback)
|
||||
}
|
||||
if (params.y == null) {
|
||||
const err = new this[kConfigurationError]('Missing required parameter: y')
|
||||
return handleError(err, callback)
|
||||
}
|
||||
|
||||
// check required url components
|
||||
if (params.y != null && (params.x == null || params.zoom == null || params.field == null || params.index == null)) {
|
||||
const err = new this[kConfigurationError]('Missing required parameter of the url: x, zoom, field, index')
|
||||
return handleError(err, callback)
|
||||
} else if (params.x != null && (params.zoom == null || params.field == null || params.index == null)) {
|
||||
const err = new this[kConfigurationError]('Missing required parameter of the url: zoom, field, index')
|
||||
return handleError(err, callback)
|
||||
} else if (params.zoom != null && (params.field == null || params.index == null)) {
|
||||
const err = new this[kConfigurationError]('Missing required parameter of the url: field, index')
|
||||
return handleError(err, callback)
|
||||
} else if (params.field != null && (params.index == null)) {
|
||||
const err = new this[kConfigurationError]('Missing required parameter of the url: index')
|
||||
return handleError(err, callback)
|
||||
}
|
||||
|
||||
let { method, body, index, field, zoom, x, y, ...querystring } = params
|
||||
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring)
|
||||
|
||||
let path = ''
|
||||
if (method == null) method = body == null ? 'GET' : 'POST'
|
||||
path = '/' + encodeURIComponent(index) + '/' + '_mvt' + '/' + encodeURIComponent(field) + '/' + encodeURIComponent(zoom) + '/' + encodeURIComponent(x) + '/' + encodeURIComponent(y)
|
||||
|
||||
// build request object
|
||||
const request = {
|
||||
method,
|
||||
path,
|
||||
body: body || '',
|
||||
querystring
|
||||
}
|
||||
|
||||
return this.transport.request(request, options, callback)
|
||||
}
|
||||
|
||||
module.exports = searchMvtApi
|
||||
@ -74,6 +74,7 @@ const RollupApi = require('./api/rollup')
|
||||
const scriptsPainlessExecuteApi = require('./api/scripts_painless_execute')
|
||||
const scrollApi = require('./api/scroll')
|
||||
const searchApi = require('./api/search')
|
||||
const searchMvtApi = require('./api/search_mvt')
|
||||
const searchShardsApi = require('./api/search_shards')
|
||||
const searchTemplateApi = require('./api/search_template')
|
||||
const SearchableSnapshotsApi = require('./api/searchable_snapshots')
|
||||
@ -200,6 +201,7 @@ ESAPI.prototype.renderSearchTemplate = renderSearchTemplateApi
|
||||
ESAPI.prototype.scriptsPainlessExecute = scriptsPainlessExecuteApi
|
||||
ESAPI.prototype.scroll = scrollApi
|
||||
ESAPI.prototype.search = searchApi
|
||||
ESAPI.prototype.searchMvt = searchMvtApi
|
||||
ESAPI.prototype.searchShards = searchShardsApi
|
||||
ESAPI.prototype.searchTemplate = searchTemplateApi
|
||||
ESAPI.prototype.termsEnum = termsEnumApi
|
||||
@ -397,6 +399,7 @@ Object.defineProperties(ESAPI.prototype, {
|
||||
}
|
||||
},
|
||||
scripts_painless_execute: { get () { return this.scriptsPainlessExecute } },
|
||||
search_mvt: { get () { return this.searchMvt } },
|
||||
search_shards: { get () { return this.searchShards } },
|
||||
search_template: { get () { return this.searchTemplate } },
|
||||
searchableSnapshots: {
|
||||
|
||||
14
api/requestParams.d.ts
vendored
14
api/requestParams.d.ts
vendored
@ -2180,6 +2180,20 @@ export interface Search<T = RequestBody> extends Generic {
|
||||
body?: T;
|
||||
}
|
||||
|
||||
export interface SearchMvt<T = RequestBody> extends Generic {
|
||||
index: string | string[];
|
||||
field: string;
|
||||
zoom: integer;
|
||||
x: integer;
|
||||
y: integer;
|
||||
exact_bounds?: boolean;
|
||||
extent?: number;
|
||||
grid_precision?: number;
|
||||
grid_type?: 'grid' | 'point';
|
||||
size?: number;
|
||||
body?: T;
|
||||
}
|
||||
|
||||
export interface SearchShards extends Generic {
|
||||
index?: string | string[];
|
||||
preference?: string;
|
||||
|
||||
Reference in New Issue
Block a user