mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
Part of #44190.
This commit is contained in:
parent
c1d47fb296
commit
d20a6bc912
10 changed files with 20 additions and 36 deletions
|
@ -9,5 +9,5 @@ returns `basePath` value, specific for an incoming request.
|
|||
<b>Signature:</b>
|
||||
|
||||
```typescript
|
||||
get: (request: KibanaRequest<unknown, unknown, unknown, any> | LegacyRequest) => string;
|
||||
get: (request: LegacyRequest | KibanaRequest<unknown, unknown, unknown, any>) => string;
|
||||
```
|
||||
|
|
|
@ -16,11 +16,11 @@ export declare class BasePath
|
|||
|
||||
| Property | Modifiers | Type | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| [get](./kibana-plugin-server.basepath.get.md) | | <code>(request: KibanaRequest<unknown, unknown, unknown, any> | LegacyRequest) => string</code> | returns <code>basePath</code> value, specific for an incoming request. |
|
||||
| [get](./kibana-plugin-server.basepath.get.md) | | <code>(request: LegacyRequest | KibanaRequest<unknown, unknown, unknown, any>) => string</code> | returns <code>basePath</code> value, specific for an incoming request. |
|
||||
| [prepend](./kibana-plugin-server.basepath.prepend.md) | | <code>(path: string) => string</code> | Prepends <code>path</code> with the basePath. |
|
||||
| [remove](./kibana-plugin-server.basepath.remove.md) | | <code>(path: string) => string</code> | Removes the prepended basePath from the <code>path</code>. |
|
||||
| [serverBasePath](./kibana-plugin-server.basepath.serverbasepath.md) | | <code>string</code> | returns the server's basePath<!-- -->See [BasePath.get](./kibana-plugin-server.basepath.get.md) for getting the basePath value for a specific request |
|
||||
| [set](./kibana-plugin-server.basepath.set.md) | | <code>(request: KibanaRequest<unknown, unknown, unknown, any> | LegacyRequest, requestSpecificBasePath: string) => void</code> | sets <code>basePath</code> value, specific for an incoming request. |
|
||||
| [set](./kibana-plugin-server.basepath.set.md) | | <code>(request: LegacyRequest | KibanaRequest<unknown, unknown, unknown, any>, requestSpecificBasePath: string) => void</code> | sets <code>basePath</code> value, specific for an incoming request. |
|
||||
|
||||
## Remarks
|
||||
|
||||
|
|
|
@ -9,5 +9,5 @@ sets `basePath` value, specific for an incoming request.
|
|||
<b>Signature:</b>
|
||||
|
||||
```typescript
|
||||
set: (request: KibanaRequest<unknown, unknown, unknown, any> | LegacyRequest, requestSpecificBasePath: string) => void;
|
||||
set: (request: LegacyRequest | KibanaRequest<unknown, unknown, unknown, any>, requestSpecificBasePath: string) => void;
|
||||
```
|
||||
|
|
|
@ -449,11 +449,11 @@ export interface AuthToolkit {
|
|||
export class BasePath {
|
||||
// @internal
|
||||
constructor(serverBasePath?: string);
|
||||
get: (request: KibanaRequest<unknown, unknown, unknown, any> | LegacyRequest) => string;
|
||||
get: (request: LegacyRequest | KibanaRequest<unknown, unknown, unknown, any>) => string;
|
||||
prepend: (path: string) => string;
|
||||
remove: (path: string) => string;
|
||||
readonly serverBasePath: string;
|
||||
set: (request: KibanaRequest<unknown, unknown, unknown, any> | LegacyRequest, requestSpecificBasePath: string) => void;
|
||||
set: (request: LegacyRequest | KibanaRequest<unknown, unknown, unknown, any>, requestSpecificBasePath: string) => void;
|
||||
}
|
||||
|
||||
// Warning: (ae-forgotten-export) The symbol "BootstrapArgs" needs to be exported by the entry point index.d.ts
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { APICaller } from 'src/core/server';
|
||||
import { APICaller } from 'kibana/server';
|
||||
|
||||
import { getFieldCapabilities, resolveTimePattern, createNoMatchingIndicesError } from './lib';
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { APICaller } from 'src/core/server';
|
||||
import { APICaller } from 'kibana/server';
|
||||
import { convertEsError } from './errors';
|
||||
import { FieldCapsResponse } from './field_capabilities';
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
import { defaults, indexBy, sortBy } from 'lodash';
|
||||
|
||||
import { APICaller } from 'src/core/server';
|
||||
import { APICaller } from 'kibana/server';
|
||||
import { callFieldCapsApi } from '../es_api';
|
||||
import { FieldCapsResponse, readFieldCapsResponse } from './field_caps_response';
|
||||
import { mergeOverrides } from './overrides';
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
import { chain } from 'lodash';
|
||||
import moment from 'moment';
|
||||
|
||||
import { APICaller } from 'src/core/server';
|
||||
import { APICaller } from 'kibana/server';
|
||||
|
||||
import { timePatternToWildcard } from './time_pattern_to_wildcard';
|
||||
import { callIndexAliasApi, IndicesAliasResponse } from './es_api';
|
||||
|
|
|
@ -17,13 +17,12 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { CoreSetup } from 'kibana/server';
|
||||
import { Plugin } from '../../../../core/server';
|
||||
import { CoreSetup, Plugin } from 'kibana/server';
|
||||
import { registerRoutes } from './routes';
|
||||
|
||||
export class IndexPatternsService implements Plugin<void> {
|
||||
public setup({ http, elasticsearch }: CoreSetup) {
|
||||
registerRoutes(http, elasticsearch);
|
||||
public setup({ http }: CoreSetup) {
|
||||
registerRoutes(http);
|
||||
}
|
||||
|
||||
public start() {}
|
||||
|
|
|
@ -17,28 +17,11 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { first } from 'rxjs/operators';
|
||||
import { schema } from '@kbn/config-schema';
|
||||
import {
|
||||
CoreSetup,
|
||||
KibanaRequest,
|
||||
RequestHandlerContext,
|
||||
APICaller,
|
||||
CallAPIOptions,
|
||||
} from '../../../../core/server';
|
||||
import { HttpServiceSetup, RequestHandlerContext } from 'kibana/server';
|
||||
import { IndexPatternsFetcher } from './fetcher';
|
||||
|
||||
export function registerRoutes(http: CoreSetup['http'], elasticsearch: CoreSetup['elasticsearch']) {
|
||||
const getIndexPatternsService = async (request: KibanaRequest): Promise<IndexPatternsFetcher> => {
|
||||
const client = await elasticsearch.dataClient$.pipe(first()).toPromise();
|
||||
const callCluster: APICaller = (
|
||||
endpoint: string,
|
||||
params?: Record<string, any>,
|
||||
options?: CallAPIOptions
|
||||
) => client.asScoped(request).callAsCurrentUser(endpoint, params, options);
|
||||
return new Promise(resolve => resolve(new IndexPatternsFetcher(callCluster)));
|
||||
};
|
||||
|
||||
export function registerRoutes(http: HttpServiceSetup) {
|
||||
const parseMetaFields = (metaFields: string | string[]) => {
|
||||
let parsedFields: string[] = [];
|
||||
if (typeof metaFields === 'string') {
|
||||
|
@ -62,8 +45,9 @@ export function registerRoutes(http: CoreSetup['http'], elasticsearch: CoreSetup
|
|||
}),
|
||||
},
|
||||
},
|
||||
async (context: RequestHandlerContext, request: any, response: any) => {
|
||||
const indexPatterns = await getIndexPatternsService(request);
|
||||
async (context, request, response) => {
|
||||
const { callAsCurrentUser } = context.core.elasticsearch.dataClient;
|
||||
const indexPatterns = new IndexPatternsFetcher(callAsCurrentUser);
|
||||
const { pattern, meta_fields: metaFields } = request.query;
|
||||
|
||||
let parsedFields: string[] = [];
|
||||
|
@ -106,7 +90,8 @@ export function registerRoutes(http: CoreSetup['http'], elasticsearch: CoreSetup
|
|||
},
|
||||
},
|
||||
async (context: RequestHandlerContext, request: any, response: any) => {
|
||||
const indexPatterns = await getIndexPatternsService(request);
|
||||
const { callAsCurrentUser } = context.core.elasticsearch.dataClient;
|
||||
const indexPatterns = new IndexPatternsFetcher(callAsCurrentUser);
|
||||
const { pattern, interval, look_back: lookBack, meta_fields: metaFields } = request.query;
|
||||
|
||||
let parsedFields: string[] = [];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue