-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[skip-ci] Add example for migrating pre-handlers #56080
[skip-ci] Add example for migrating pre-handlers #56080
Conversation
Pinging @elastic/kibana-platform (Team:Platform) |
💚 Build Succeeded
To update your PR or re-run it, just comment with: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
||
```ts | ||
// New Platform high-order handler | ||
const checkLicense = <P, Q, B>( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would be a pain for the plugins to declare it manually. Should we provide a type for the wrapper?
// platform code
type RequestHandlerWrapper = <P, Q, B>(
handler: RequestHandler<P, Q, B, RouteMethod>
) => RequestHandler<P, Q, B, RouteMethod>;
// plugin code
const checkLicense: RequestHandlerWrapper = handler => ....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This type is essentially the same as:
type FunctionWrapper = <T>(x: T) => T;
Maybe we could just put this in kbn/utility-types?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Going to merge this now, but we can still decide on this and make an update to the doc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the problem with this that it doesn't constrain T
type. Also I don't see how you can use it to declare a function with generic types
13e8fde
to
ee9110a
Compare
* master: (53 commits) Fix setting filters without $store value (elastic#56304) kuery_autocomplete -> convert remaining items to TS/Jest (elastic#56316) [Reporting] New Platform: moves most of our libs/constants and utils to np shims (elastic#55935) [reporting] remove a legacy cross-plugin import (elastic#56354) [DOCS] Updates example in Timelion doc (elastic#56444) [APM] Service map center button (elastic#56434) [skip-ci] Add example for migrating pre-handlers (elastic#56080) [ML] Fix Data Visualizer responsive layout (elastic#56372) Add missing docker settings (elastic#56411) [Endpoint] Add Endpoint Details route (elastic#55746) chore(NA): delete data/optimize with kbn clean (elastic#55890) System index templates can't be edited (elastic#55229) Sync badge (elastic#55113) Only fire appState changes when there is a change (elastic#56183) Import appropriate files to setup plugin system at the correct time (elastic#55956) [Monitoring] Change all configs to `monitoring.*` (elastic#56215) [ML] conditional rison encoding for query params (elastic#56380) Move tsvb server to new platform (elastic#55310) exclude tutorial resources from code ownership (elastic#55987) [Watcher] Follow up on flaky functional test (elastic#56384) ...
…56356 * '7.x' of github.com:elastic/kibana: (23 commits) Fix setting filters without $store value (elastic#56304) (elastic#56475) [ML] Fix Data Visualizer responsive layout (elastic#56372) (elastic#56472) [ML] conditional rison encoding for query params (elastic#56380) (elastic#56469) kuery_autocomplete -> convert remaining items to TS/Jest (elastic#56316) (elastic#56471) [APM] Fit service map to container (elastic#56336) (elastic#56463) Add animation to service map layout (elastic#56042) (elastic#56460) chore(NA): delete data/optimize with kbn clean (elastic#55890) (elastic#56422) [APM] Storybook support (elastic#54970) (elastic#56445) [DOCS] Updates example in Timelion doc (elastic#56444) (elastic#56454) [Logs UI] Fix Check for New Data button on empty indices screen (elastic#56239) (elastic#56320) [DOCS] Adds breaking changes for 7.6 (elastic#56437) [Monitoring] Change all configs to `monitoring.*` (elastic#56215) (elastic#56421) [skip-ci] Add example for migrating pre-handlers (elastic#56080) (elastic#56436) [7.x] System index templates can't be edited (elastic#55229) (elastic#56417) Add missing docker settings (elastic#56411) [Uptime] Use dynamic index pattern in Uptime (elastic#55446) (elastic#56386) fix edit rule for detections (elastic#56333) (elastic#56405) [Filter Bar] Remove flickering when opening filter bar popover (elastic#56222) (elastic#56385) [ILM] Index Lifecycle Policies show wrong unit in Kibana UI (elastic#55228) (elastic#55757) Move tsvb server to new platform (elastic#55310) (elastic#56394) ...
Summary
Related to #48245
This adds an example of how to migrate the
pre
option from Hapi routes to New Platform HTTP routes.