kibana/examples/search_examples/server/plugin.ts
Tyler Smalley c16480e849
[7.x][DX] Upgrade prettier to v2.4.0 (#112359) (#112524)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2021-09-19 22:34:46 -07:00

68 lines
1.9 KiB
TypeScript

/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import type {
PluginInitializerContext,
CoreSetup,
CoreStart,
Plugin,
Logger,
} from 'src/core/server';
import type { DataRequestHandlerContext } from 'src/plugins/data/server';
import {
SearchExamplesPluginSetup,
SearchExamplesPluginStart,
SearchExamplesPluginSetupDeps,
SearchExamplesPluginStartDeps,
} from './types';
import { mySearchStrategyProvider } from './my_strategy';
import { registerRoutes } from './routes';
import { fibonacciStrategyProvider } from './fibonacci_strategy';
export class SearchExamplesPlugin
implements
Plugin<
SearchExamplesPluginSetup,
SearchExamplesPluginStart,
SearchExamplesPluginSetupDeps,
SearchExamplesPluginStartDeps
>
{
private readonly logger: Logger;
constructor(initializerContext: PluginInitializerContext) {
this.logger = initializerContext.logger.get();
}
public setup(
core: CoreSetup<SearchExamplesPluginStartDeps>,
deps: SearchExamplesPluginSetupDeps
) {
this.logger.debug('search_examples: Setup');
const router = core.http.createRouter<DataRequestHandlerContext>();
core.getStartServices().then(([_, depsStart]) => {
const myStrategy = mySearchStrategyProvider(depsStart.data);
const fibonacciStrategy = fibonacciStrategyProvider();
deps.data.search.registerSearchStrategy('myStrategy', myStrategy);
deps.data.search.registerSearchStrategy('fibonacciStrategy', fibonacciStrategy);
registerRoutes(router);
});
return {};
}
public start(core: CoreStart) {
this.logger.debug('search_examples: Started');
return {};
}
public stop() {}
}