[Core] Explicit typings for request handler context (#88718)

* move context to server part. couple with RequestHandlerContext

Context implementation will be simplified in follow-up.

* adopt core code

* adopt bfetch code

* adopt data code

* adopt search examples

* adopt vis_type_timelion

* adopt vis_type_timeseries

* adopt plugin functional tests

* adopt actions

* adopt alerting plugin

* adopt APM plugin

* adopt beats_management

* adopt case plugin

* adopt cross_cluster_replication

* adopt data_enhanced

* adopt event_log

* adopt global_search

* adopt index_management

* adopt infra

* adopt licensing

* adopt lists

* adopt logstash

* adopt reporting

* adopt observability

* adopt monitoring

* adopt rollup

* adopt so tagging

* adopt security

* adopt security_solutions

* adopt watcher

* adopt uptime

* adopt spaces

* adopt snapshot_restore

* adopt features changes

* mute error when null used to extend context

* update docs

* small cleanup

* add type safety for return type

* refactor registerRouteHandlerContext type

* update docs

* update license header

* update docs

* fix type error. fetch body does not accept array of strings

* fix telemetry test

* remove unnecessary ts-ignore

* address comments

* update docs
This commit is contained in:
Mikhail Shustov 2021-01-21 15:20:22 +01:00 committed by GitHub
parent d3fa06b268
commit b3a9754394
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
382 changed files with 2305 additions and 1872 deletions

View file

@ -5,14 +5,14 @@
*/
import { schema } from '@kbn/config-schema';
import { IRouter } from '../../../../../src/core/server';
import type { FeaturesPluginRouter } from '../types';
import { FeatureRegistry } from '../feature_registry';
/**
* Describes parameters used to define HTTP routes.
*/
export interface RouteDefinitionParams {
router: IRouter;
router: FeaturesPluginRouter;
featureRegistry: FeatureRegistry;
}

View file

@ -0,0 +1,19 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import type { RequestHandlerContext, IRouter } from 'src/core/server';
import type { LicensingApiRequestHandlerContext } from '../../licensing/server';
/**
* @internal
*/
export interface FeaturesRequestHandlerContext extends RequestHandlerContext {
licensing: LicensingApiRequestHandlerContext;
}
/**
* @internal
*/
export type FeaturesPluginRouter = IRouter<FeaturesRequestHandlerContext>;