Commit graph

426 commits

Author SHA1 Message Date
Pierre Gayvallet
aa8cb620bb
Allow to define and update a defaultPath for applications (#64498)
* add defaultPath to `AppBase` and use it in `navigateToApp`

* add removeSlashes util

* adapt `toNavLink` to handle defaultPath

* update generated doc

* codestyle

* add FTR test

* address comments

* add tests
2020-04-30 08:05:16 +02:00
Tim Roes
9b65cbd92b
[Lens] Bind all time fields to the time picker (#63874)
* Bind non primary time fields to timepicker

* Fix typescript argument types

* Allow auto interval on all fields

* Remove lens_auto_date function

* Fix existing jest tests and add test todos

* Remove lens_auto_date from esarchives

* Add TimeBuckets jest tests

* Fix typo in esarchiver

* Address review feedback

* Make code a bit better readable

* Fix default time field retrieval

* Fix TS errors

* Add esaggs interpreter tests

* Change public API doc of data plugin

* Add toExpression tests for index pattern datasource

* Add migration stub

* Add full migration

* Fix naming inconsistency in esaggs

* Fix naming issue

* Revert archives to un-migrated version

* Ignore expressions that are already migrated

* test: remove extra spaces and  timeField=\\"products.created_on\\"} to timeField=\"products.created_on\"}

* Rename all timeField -> timeFields

* Combine duplicate functions

* Fix boolean error and add test for it

* Commit API changes

Co-authored-by: Wylie Conlon <wylieconlon@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Marta Bondyra <marta.bondyra@elastic.co>
2020-04-29 20:10:14 -04:00
CJ Cenizal
3b753ec514
ES UI new platform cleanup (#64332) 2020-04-28 09:41:02 -07:00
Matthew Kime
231de27026
Typescript index pattern field editor (#63495)
* Typescript index pattern field editor
2020-04-27 15:19:02 -05:00
Rudolf Meijering
dfb6a308cf
Remove SO root property index signature (#64434)
* Remove SO root property index signature

* Update documentation
2020-04-27 16:08:27 +02:00
Pierre Gayvallet
3d78b1bcf9
Remove SO autocreateindex error and error page (#64037)
* remove autocreateIndex error and error page

* update generated doc

* delete unused keys

* remove sass import

* add missing graph import

* remove unused method
2020-04-27 10:02:40 +02:00
Alexey Antonov
d53997742b
[FieldFormats] Cleanup: rename IFieldFormatType -> FieldFormatInstanceType (#64193)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-24 10:32:34 +03:00
Luke Elmers
e2baff36b8
[data.search.aggs]: Create agg types function for terms agg. (#63541)
* Minor cleanup on AggConfigJson interface.

* Add types for terms agg params & mapping.

* Add terms agg expression function.

* Register agg functions with expressions service.

* Add unit tests for terms expression function.

* Update API docs.

* AggConfigJson -> AggConfigSerialized

* Add serialize(), enforce serializable params, fix subexpressions in terms agg fn.

* Simplify getAggTypesFunctions

* it() -> test()

* Add help text.

* Ensure serialize() is used by agg param type.

* Add toExpressionAst to AggConfig.

* Add json arg to terms agg fn.

* Update docs.

* Fix typo which caused functional test failures.

* Add AggParam.toExpressionAst so AggConfig.toExpressionAst can return function ast instead of expression ast.

* Clean up overlooked items.
2020-04-23 11:39:38 -06:00
Alexey Antonov
0a6da70a89
[Regression] Histogram aggregation always shows an error message (#63484)
* WIP [Regression] Histogram aggregation always shows an error message

Closes: #62624

* make getInternalStartServices private

* fix ts issues

* remove createSearchSource from static contract

* fix some jest test

* move searh_source to static contract

* fix types

* fix function tests

* fix jest / add createStartServicesGetter

* fix comments: saved_object_management

* maps: fix PR comments

* maps: update types

* fix heck_published_api_changes

* move searchSource into runtime contract

* cleanup

* fix ts error

* cleanup

* remove extra dependencies

* fix Discover

* fix Discover JEST

* fix PR comments

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-22 19:21:14 +03:00
Peter Pisljar
222fdc5029
refactor action filter creation utils (#62969) 2020-04-22 10:41:58 +02:00
Liza Katz
796421f600
[SEARCH] Cleanup fetch soon (#63320)
* move old code to legacy folder

* Use search service directly from search source

* Move get search params to fetch folder

* Delete search strategy folder

* Doc update

* Minor cleanups

* Moved es client to legacy folder

* Clean up some unused code (isViable, old search function)

* Updated tests

* strings update

* Fix jest test

* re-arrange runSearch function

* re-arrange runSearch function

* fix jest tests

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-19 17:58:45 +03:00
Joe Portner
d72de0ea16
Refactor saved object types to use namespaceType (#63217)
Remove `namespaceAgnostic` field that was deprecated in #54605,
use `namespaceType` instead.
2020-04-16 14:37:55 -04:00
Mikhail Shustov
af09fedaf2
[NP] add http resources sub-service (#61797)
* add HttpResources basic implementation

* expose http resources to plugins

* add mocks

* move http resources to a separate service

* hide rendering service

* adopt internal types

* expose HttpResources service to plugins

* update platform mocks

* plugins start using HttpResources API

* remove RenderingServiceSetup export

* RenderingServiceSetup --> InternalRenderingServiceSetup

* improve types

* remove httpRespources leftovers from http service

* remove rendering types from RequestHanlderContext

* fix security plugin tests

* add unit tests for httpResources service

* add unit tests

* remove outdated cache-control header

* restructure http resources service

* merge getUiPlugins and discover

* static route declaration shouldnt require auth & validate

* update docs

* use HttpResources service instad of rendering

* address comments

* update docs

* roll back unnecessary changes

* use getVars for rendering

* dont pass app. it is not public API

* remove static registers

* update migration guide
2020-04-16 16:09:39 +02:00
Uladzislau Lasitsa
ce9c6e258a
Index pattern management UI -> TypeScript and New Platform Ready (indexed_fields_table) (#63364)
* MIgrated indexed_fields_table to typescript.

* Updated docs

* Fixed comments

* Fixed types
2020-04-16 10:32:28 +03:00
Matthew Kime
69ed664dd9
Index Pattern Field class - factor out copy_field code for future typescripting (#63083)
* Index Pattern Field class - factor out copy_field code for future typescripting
2020-04-14 06:58:56 -05:00
Pierre Gayvallet
bd159c7d59
fix ScopedHistory.createHref to prepend location with scoped history basePath (#62407)
* fix createHref to prepend with scoped history basePath + add option to exclude it.

* fix prependBasePath behavior

* fix test plugins urls

* add pathname to endpoint url builder methods

* Revert "add pathname to endpoint url builder methods"

This reverts commit 7604932b

* adapt createHref instead of prependBasePath

* use object options for createHref

* update generated doc
2020-04-11 09:27:45 +02:00
Joe Portner
97d1685c3d
Sharing saved-objects phase 1 (#54605)
Co-authored-by: kobelb <brandon.kobel@elastic.co>
2020-04-09 23:18:18 -04:00
Joe Reuter
8d21b6b6f3
Move search source parsing and serializing to data (#59919) 2020-04-09 14:06:01 +02:00
Josh Dover
f84773faed
Add basic StatusService (#60335) 2020-04-08 13:16:32 -06:00
Alexey Antonov
008b0fda64
[data.search.aggs] Remove service getters from agg types (#61628)
* [data.search.aggs] Remove service getters from agg types

Part of #60333

* new portion of changes

* pass dependencies to MetricAgg Type through constructor

* update docs

* refactoring buckets

* remove unused mockDataServices

* Remove service getters from metrics

* Some fixes

* remove temporary code

* moved notifications to the getInternalStartServices

* fixed karma lock

* update docs

* Fixed tests

* fix broken CI

* fix PR comment

* fix typo

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Uladzislau Lasitsa <Uladzislau_Lasitsa@epam.com>
2020-04-07 13:39:30 +03:00
Lukas Olson
80417f6888
[Search] Fix async search to encode index pattern in path (#61374)
* Fix async search to encode index in path

* Update docs

* Review feedback & fixing types
2020-03-27 08:31:34 -07:00
Peter Pisljar
7b0c66f7f1
move visualizations plugin to new platform (#60403) 2020-03-27 13:02:06 +01:00
Pierre Gayvallet
468de51153
Add plugin start contract to getStartServices return value (#61216)
* add plugin own contract as third element of getStartServices result

* adapt plugins code

* update tests

* revert unknown to use void again

* update generated doc

* fix UT

* update mock to allow non-object `pluginStartContract`

* add @typeParam documentation
2020-03-26 10:49:05 +01:00
Josh Dover
4b012fb21a
Fix running Kibana Platform migrations in development (#61325) 2020-03-25 15:27:26 -06:00
Rudolf Meijering
0d45d9b53f
Update core migration docs links (#61251) 2020-03-25 22:22:21 +01:00
Liza Katz
c7c6eba079
Add async search notification (#60706)
* notifications ui

* increase timeout to 10s

* trigger notification from search interceptor

* added an enhanced interceptor

* added an enhanced interceptor

* docs

* docs

* fix ts

* Fix jest tests for interceptor

* update docs

* docs

* Fix handling syntax error in discover

* docs and translations

* fix scripted fields err

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>
2020-03-24 17:41:31 +02:00
Pierre Gayvallet
babefb5737
introduce StartServicesAccessor type for CoreSetup.getStartServices (#60748)
* create StartServicesAccessor type

* update generated doc

* update usages to use new type

* add missing public annotation
2020-03-24 14:33:31 +01:00
Peter Pisljar
ed55531207
cleanup visualizations api (#59958) 2020-03-23 19:19:39 +01:00
Devon Thomson
05c995a939
Support Histogram Data Type (#59387)
Added the histogram field type to Kibana, to be used in the percentiles, percentiles ranks, and median aggregations.
2020-03-23 11:53:51 -04:00
Chandler Prall
0bf62cbf3e
Upgrade EUI to 21.0.1 (#60282)
* update to eui 21.0.1

* most changes needed for search bar ts changes

* Passing types

* snapshots

* jest tests

* Removed IQuery placeholder types

* Updated functional test to only look at table headers with content

* Moved 'filters' definition around in api docs

* Update types

* update snapshot

* typo

* Move DATA_FRAME_TASK_STATE enum to its own file to fix x-pack functional test config imports

* merge public api 'changes'

Co-authored-by: patrykkopycinski <patryk.kopycinski@elastic.co>
Co-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>
2020-03-20 14:07:04 -06:00
Daniil Suleiman
1a1e2e7b2e
[NP] Remove ui/agg_types dependencies and move paginated table to kibana_legacy (#60276)
* fix agg type shims and move paginated table to kibana_legacy

* fix types

* fix i18n ids

* fix unit tests

* Update imports

* Remove ui/agg_types imports

* Clean up vis_default_editor plugin

* Remove agg_types imports in vis_type_table

* Clean up x-pack

* Clean up vis_type_vislib

* Last cleanups

* Update docs

* Mock Schemas in vis_type_metric

* Use data plugin mocks

* Remove ui/directives/paginate reference

* Remove snapshot

* Remove shallow

Co-authored-by: Joe Reuter <johannes.reuter@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-20 18:39:44 +03:00
Liza Katz
ef0935ff45
Add addInfo toast to core notifications service (#60574)
* addInfo toast

* md files

* fis types

* Added options to toast methods

* Export ToastOptions

* Export ToastOptions

* added test

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-20 08:38:02 +02:00
Liza Katz
2eda06e770
Introduce search interceptor (#60523)
* Add async search strategy

* Add async search

* Fix async strategy and add tests

* Move types to separate file

* Revert changes to demo search

* Update demo search strategy to use async

* Add async es search strategy

* Return response as rawResponse

* Poll after initial request

* Add cancellation to search strategies

* Add tests

* Simplify async search strategy

* Move loadingCount to search strategy

* Update abort controller library

* Bootstrap

* Abort when the request is aborted

* Add utility and update value suggestions route

* Fix bad merge conflict

* Update tests

* Move to data_enhanced plugin

* Remove bad merge

* Revert switching abort controller libraries

* Revert package.json in lib

* Move to previous abort controller

* Add support for frozen indices

* Fix test to use fake timers to run debounced handlers

* Revert changes to example plugin

* Fix loading bar not going away when cancelling

* Call getSearchStrategy instead of passing  directly

* Add async demo search strategy

* Fix error with setting state

* Update how aborting works

* Fix type checks

* Add test for loading count

* Attempt to fix broken example test

* Revert changes to test

* Fix test

* Update name to camelCase

* Fix failing test

* Don't require data_enhanced in example plugin

* Actually send DELETE request

* Use waitForCompletion parameter

* Use default search params

* Add support for rollups

* Only make changes needed for frozen indices/rollups

* Only make changes needed for frozen indices/rollups

* Add back in async functionality

* Fix tests/types

* Fix issue with sending empty body in GET

* Don't include skipped in loaded/total

* Don't wait before polling the next time

* Add search interceptor for bulk managing searches

* Simplify search logic

* Fix merge error

* Review feedback

* Add service for running beyond timeout

* Refactor abort utils

* Remove unneeded changes

* Add tests

* cleanup mocks

* Update src/legacy/core_plugins/kibana/public/dashboard/np_ready/dashboard_app.html

Co-Authored-By: Lukas Olson <olson.lukas@gmail.com>

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-19 10:28:43 +02:00
Alexey Antonov
a708d69f50
[Visualize] Duplicated query filters in es request (#60106)
* [Visualize] Duplicated query filters in es request

Closes: #59630

* Fix CI

* fix CI

* move uniq_filters to common

* fix scripts/check_published_api_changes

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-18 18:06:59 +03:00
Lukas Olson
ac5e323af8
[Search service] Asynchronous ES search strategy (#53538)
* Add async search strategy

* Add async search

* Fix async strategy and add tests

* Move types to separate file

* Revert changes to demo search

* Update demo search strategy to use async

* Add async es search strategy

* Return response as rawResponse

* Poll after initial request

* Add cancellation to search strategies

* Add tests

* Simplify async search strategy

* Move loadingCount to search strategy

* Update abort controller library

* Bootstrap

* Abort when the request is aborted

* Add utility and update value suggestions route

* Fix bad merge conflict

* Update tests

* Move to data_enhanced plugin

* Remove bad merge

* Revert switching abort controller libraries

* Revert package.json in lib

* Move to previous abort controller

* Add support for frozen indices

* Fix test to use fake timers to run debounced handlers

* Revert changes to example plugin

* Fix loading bar not going away when cancelling

* Call getSearchStrategy instead of passing  directly

* Add async demo search strategy

* Fix error with setting state

* Update how aborting works

* Fix type checks

* Add test for loading count

* Attempt to fix broken example test

* Revert changes to test

* Fix test

* Update name to camelCase

* Fix failing test

* Don't require data_enhanced in example plugin

* Actually send DELETE request

* Use waitForCompletion parameter

* Use default search params

* Add support for rollups

* Only make changes needed for frozen indices/rollups

* Only make changes needed for frozen indices/rollups

* Add back in async functionality

* Fix tests/types

* Fix issue with sending empty body in GET

* Don't include skipped in loaded/total

* Don't wait before polling the next time

* Simplify search logic

* Fix merge error

* Review feedback

* Fix issue with hits.total

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-17 18:47:54 -07:00
CJ Cenizal
4deea08f23
Publish getIsNavDrawerLocked$ method on core chrome service. (#60191)
* Remove isCollapsed, getIsCollapsed, and global_nav_state.
2020-03-17 18:15:26 -07:00
Larry Gregory
9318862f19
Allow kbn-config-schema to ignore unknown keys (#59560)
* allow kbn-config-schema to ignore unknown keys

* Consolidate unknown key configuration

* updates following merge

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-17 12:30:17 -04:00
Nathan Reese
ef3261132a
[Maps] move MapSavedObject type out of telemetry (#60127)
* [Maps] move MapSavedObject type out of telemetry

* move SavedObject from server to core/types

* review feedback

* results from check_published_api_changes
2020-03-16 15:40:52 -06:00
Mikhail Shustov
dd7531deb4
Add UiSettings validation & Kibana default route redirection (#59694)
* add schema to ui settings params

* add validation for defaults and overrides

* validate in ui settings client

* ui settings routes validation

* clean up tests

* use schema for defaultRoutes

* move URL redirection to NP

* fix spaces test

* update docs

* update kbn pm

* fix karma test

* fix tests

* address comments

* get rid of getDEfaultRoute

* regen docs

* fix tests

* fix enter-spaces test

* validate on relative url format

* update i18n

* fix enter-spoace test

* move relative url validation to utils

* add CoreApp containing application logic

* extract public uiSettings params in a separate type

* make schema required

* update docs
2020-03-16 14:30:20 +01:00
Rudolf Meijering
6e6325b1df
Expose Elasticsearch from start and deprecate from setup (#59886)
* Expose Elasticsearch from start and deprecate from setup

* Expose client under legacy namespace, add deprecated note

* Update migration guide
2020-03-13 21:17:38 +01:00
Luke Elmers
5d428b0d80
Search Service: cutover agg types to the new platform (#59605) 2020-03-13 09:12:20 -06:00
Rudolf Meijering
80e6ff729a
Make context.core required argument to context providers (#59996)
* Make context.core required argument to context providers

* Refactor plugins: context.core isn't optional anymore

* Update docs
2020-03-12 20:39:29 +01:00
Liza Katz
66455316bb
Clear out old rollup strategy (#59423)
* Old search strategy cleanup

* restore rollup strategy

* Remove hasSearchStategyForIndexPattern

* ts

* fix jest tests

* cleanup exports

* pass index pattern type to server for rollups

* merge fix

* Fix types

* ts fixes

* oss strategy error handling

* update translations

* jest test fix

* Use indexType instead of index

* code review 1

* updated docs

* jest test

* jest snapshot

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-11 18:03:27 +02:00
Joe Portner
a2c002d130
Regenerate core api docs (#59814) 2020-03-10 17:24:05 -04:00
Pierre Gayvallet
f1272b5ffe
Add SavedObject management section registration in core (#59291)
* add management section to SavedObjectsType

* adapt import/export routes to get types accessor

* add documentation

* update generated doc

* update migration guide

* use request context to access exportable types

* update generated doc

* adapt SavedObjectsManagement to use the registry

* stop magical tricks about the config type, register it as any other so type.

* fix FTR assertions

* fix so_mixin tests

* register the `config` type from the uiSettings service

* nits and comments

* update generated doc

* remove true from dynamic property definition, use force-cast back for config type

* remove obsolete test comment
2020-03-10 11:13:45 +01:00
Liza Katz
28d0cf4485
Generate docs from data plugin (#56955)
* Add doc building for data plugin

* Added data server md file

* index file for suggestion component

* Clear out internal imports from public API

* Remove FunctionalComponent usage

* comment out working docs

* Added fixes following @octogonz feedback

* new docs

* Clean up

* Clean up 2

* fix jest

* rename docs script file

* update tasks

* tasks

* update docs
2020-03-10 11:34:06 +02:00
Mikhail Shustov
5c436534d6
Add an optional authentication mode for HTTP resources (#58589)
* add authRequred: 'optional'

* expose auth status via request context

* update security plugin to use notHandled auth outcome

* capabilities service uses optional auth

* update tests

* attach security headers only to unauthorised response

* add isAuthenticated tests for 'optional' auth mode

* security plugin relies on http.auth.isAuthenticated to calc capabilities

* generate docs

* reword test suit names

* update tests

* update test checking isAuth on optional auth path

* address Oleg comments

* add test for auth: try

* fix

* pass isAuthenticted as boolean via context

* remove response header from notHandled

* update docs

* add redirected for auth interceptor

* security plugin uses t.redirected to be compat with auth: optional

* update docs

* require location header in the interface

* address comments #1

* declare isAuthenticated on KibanaRequest

* remove auth.isAuthenticated from scope

* update docs

* remove unnecessary comment

* do not fail on FakrRequest

* small improvements
2020-03-07 11:55:20 +01:00
Pierre Gayvallet
b1cb92f822
Expose metrics service to public API (#59294)
* expose metrics service to public API

* update generated doc
2020-03-04 20:15:35 +01:00
Pierre Gayvallet
7130a0405f
Expose savedObject import / export utility methods (#58882)
* add getImportExportObjectLimit to so setup

* expose static method for so import / export

* improve functions naming

* fix mocked reference
2020-03-04 12:10:29 +01:00
Mikhail Shustov
4226b6f373
Allow disabling xsrf protection per an endpoint (#58717)
* add xsrfRequired flag to a route definition interface

* update tests

* deprecate server.xsrf.whitelist

It meant to be used for IdP endpoints only, which we are going to refactor to disable xsrf requirement per a specific endpoint.

* update docs

* do not fail on manual KibanaRequest creation

* address comments

* update tests

* address comments

* make xsrfRequired available only for destructive methods

* update docs

* another isSafeMethod usage
2020-03-03 15:46:50 +01:00
Pierre Gayvallet
64ffae3ec5
Add core metrics service (#58623)
* create base service and collectors

* wire the service into server, add mock

* add collector tests

* add main collector test

* export metric types from server

* add service and server tests

* updates generated doc

* improve doc

* nits and comments

* add disconnected requests test
2020-03-03 10:54:03 +01:00
Josh Dover
48a33abdee
Remove appBasePath from docs + add mock for AppMountParameters (#58775) 2020-03-02 15:51:33 -07:00
Pierre Gayvallet
2b9dc43158
add dynamic property to type definition (#58852) 2020-02-28 16:39:06 +01:00
Pierre Gayvallet
ce45647ea2
block SO setup API calls after startup (#58718) 2020-02-28 09:20:51 +01:00
Josh Dover
4cb9bc4472
Add ScopedHistory to AppMountParams (#56705) 2020-02-26 12:43:12 -07:00
Pierre Gayvallet
8524303b6e
Allow savedObjects types registration from NP (#57430)
* expose `registerType` API

* expose `getTypeRegistry` API

* change SavedObjectMigrationFn signature to add context

* fix exported types

* update generated doc

* update migration documentation

* fix legacy service test

* fix typings

* update service setup description

* add saved_objects server folder convention

* fix unit test

* documentation NITs

* add typeRegistry to SavedObjectClientWrapperOptions
2020-02-26 16:22:35 +01:00
Mikhail Shustov
d61ef267d5
force savedObject API consumers to define SO type explicitly (#58022)
* force savedObject consumers to define type explicitly

* address comments

* regen docs
2020-02-21 22:11:05 +01:00
Mikhail Shustov
a08070ec1a
Expose elasticsearch config schema (#57655)
* expose elasticsearch config schema

* update docs

* mark export as alpha since it can be deleted

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-21 09:32:23 +01:00
Josh Dover
5238493381
Expose serverBasePath on client-side (#58070) 2020-02-20 14:43:15 -07:00
Pierre Gayvallet
302c598e56
Preserve the original error name instead of returning raw AbortError (#57550)
* Preserve the original error name instead of returning raw AbortError

* use Error as the default error name
2020-02-14 08:58:20 +01:00
Pierre Gayvallet
26ad756596
add absolute option to getUrlForApp (#57193) 2020-02-13 10:49:12 +01:00
Ahmad Bamieh
06df2b0db6
[Telemetry] Migrate public to NP (#56285)
* NP telemetry plugin barebones

* fully migrate telemetry sender

* license plugin to use NP telemetry

* fully migrated public to NP

* finish components testing

* fix all tests

* self code review

* remove commented code

* bracket notication for private methods

* bracket notication for private methods

* update license management tests

* afharo code review fixes

* type safe private method access in tests

* fix typecheck

* more type check fixes

* i18n check

* fix welcome page tests

* i18n optedInNoticeBanner title

* fix advanced settings field settings

* field name

* fix home snapshots

* listen to app id change

* NP code review fixes

* NP code review fixes

* update telemetry configs with np deprecations

* pass telemetry from setup instead of npStart

* type check

* update core snapshots with new api exposed

* remove debugging logs

* update home contract

* update home contract

* fix test eslint import

* navigate back to dashboard before start of next case for reporting

* gitignore reporting failure_debug generated dir

* use gotoDashboardEditMode instead of switch

* = instead of :

* merge master

* escape unused forced types in Field

* rename mock to mocks for eslint

* Update src/plugins/telemetry/public/components/telemetry_management_section.tsx

Co-Authored-By: Alejandro Fernández Haro <afharo@gmail.com>

* fix save/clear type

Co-authored-by: Alejandro Fernández Haro <afharo@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-13 09:44:01 +02:00
Rudolf Meijering
ff608998cd
Saved Objects testing (#56965)
* Expose core/public savedObjectsServiceMock

* Test docs for Saved Objects unit and integration tests

* Review comments

* Update api types / docs
2020-02-07 16:03:58 +01:00
Pierre Gayvallet
ea7c78d10e
Restructure SavedObject types internal representation (#56378)
* adapt types and tests to prepare for new NP api

* rename and export public types

* update generated doc

* first implementation of registerMappings

* adapt es archiver to convert legacy mappings

* update generated doc

* fix more tests

* add unit tests

* add legacy-compat unit test

* add documentation and examples

* Introduce SavedObjectTypeRegistry and SavedObjectType types

* add and fix tests

* expose createSerializer API and fix usages

* remove registerMappings API, add internal registerType

* revert changes to migration guide

* adapt ES-archiver migrator creation

* export serializer-related types

* update generated doc

* add and use convertTypesToLegacySchema

* remove / move to internal some mapping types

* fix forEach closure context

* add missing docs

* fix core path

* some nits

* fix so_mixin tests

* fix integration tests

* fix integration tests for real

* add documentation on serializer + restructure files and types

* nit

* add and use the ISavedObjectTypeRegistry interface

* Add documentation, deprecates migrationLogger#warning

* better typing for SavedObjectsRawDoc._source

* nits

* update generated doc

* remove exposition of SavedObjectsTypeMappingDefinitions, update doc

* creates so internal contracts mocks

* improve documentation
2020-02-06 10:30:55 +01:00
Pierre Gayvallet
4bb56c80b7
Add getServerInfo API to http setup contract (#56636)
* add getServerInfo http setup api

* update generated doc
2020-02-04 08:03:36 +01:00
Nick Partridge
186a82669f
Kibana property config migrations (#55937)
* Move defaultAppId config param into kibanaLegacy
* Move disableWelcomeScreen config param into Home plugin
* Update api and docs with silent option for renameFromRoot
2020-02-03 22:17:27 -06:00
Greg Thompson
94be839a24
Upgrade EUI to v18.3.0 (#56228)
* eui to 18.3.0

* ts interface update

* src snapshot updates

* x-pack snapshot updates

* icons in nav

* Homepage updates, nav drawer and tests

* feedback

* more feedback

* euiIconType for observability and security

* remove unused translations

Co-authored-by: dave.snider@gmail.com <dave.snider@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-03 16:37:35 -06:00
Joe Reuter
8c2980213e
Add flag to opt out from sub url tracking (#55672)
* introduce flag for disabling sub url tracking

* re-generate documentation and extend ui_app

* fix ui_nav_link test

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-28 16:51:07 +01:00
Mikhail Shustov
aa695ec637
Normalize EOL symbol in platform docs (#56021)
* use api-extractor generate command with api-documenter config

* update docs

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-27 18:42:45 +01:00
Mikhail Shustov
efd3e99064
Revert "Normalize EOL symbol for the platform docs (#55689)" (#56020)
This reverts commit 1ea175e2c6.
2020-01-27 16:29:27 +01:00
Mikhail Shustov
1ea175e2c6
Normalize EOL symbol for the platform docs (#55689)
* use api-extractor generate command with api-documenter config

* update docs
2020-01-27 14:39:56 +01:00
Mikhail Shustov
e00f2628af
[NP] Platform exposes API to get authenticated user data (#55327)
* expose auth.get/isAuthenticated. move getAuthHeaders to internal type

* update mocks

* update docs

* update docs

* add integration test for auth
2020-01-27 13:57:06 +01:00
Josh Dover
1bb59af44a
Add isSystemRequest support to Kibana Platform (#53734) 2020-01-24 15:20:09 -07:00
spalger
e67cc8514a Revert "[csp] allow blob styles when running from source (#54991)"
This reverts commit 375f0b42a7.
2020-01-23 23:32:10 -07:00
Matthew Kime
0c25cb53b2
Advanced Settings management => typescript (#54477)
* advanced settings => typescript
2020-01-23 09:21:46 -06:00
Pierre Gayvallet
a75436d93e
Run SO migration after plugins setup phase. (#55012)
* change setClientFactory api to setClientFactoryProvider

* cleanup and add test for service

* change the signatures of SO start/setup

* fix registerCoreContext by accessing stored start contract reference

* move migration inside `start`

* adapt and add service tests

* add doc and export new types

* adapt plugins code

* update generated doc

* better core access

* address some review comments

* remove parametrized type from SavedObjectsClientFactory, use KibanaRequest instead

* add logs when starting and ending so migration

* fix KibanaRequest imports

* NITs and review comments

* fix alerting FTR test

* review comments
2020-01-23 10:41:21 +01:00
Spencer
375f0b42a7
[csp] allow blob styles when running from source (#54991)
* [csp] allow blob styles when running from source

* update kbn/pm dist

* add kibanaServer service to saml_api_integration suite

* use common naming

* attempt to use env.packageInfo instead of IS_KIBANA_DISTRIBUTABLE const

* remove mock, clone rules before modifying

* pass env where necessary

* update core api docs

* make env optional in HttpConfig

* add tests for CspConfig changes, base header on this.rules

* fix test snapshot

* make env optional in HttpConfig too

* remove CspConfig.DEFAULT and make env a required constructor arg

* update csp_usage_collector tests

* update core api docs

* fix test name

* rename headerChangedFromDefault back to rulesChangedFromDefault

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-22 11:32:09 -07:00
Mikhail Shustov
3e69ea5f01
[NP] KibanaRequest provides request abortion event (#55061)
* add aborted$ observable to KibanaRequest

* complete observable on request end

* update docs

* update test suit names

* always finish subscription

* address comments
2020-01-22 13:34:35 +01:00
Michail Yasonik
da54657b91
Grouped Kibana nav (#53545)
Adds concept of `category` to nav links, grouping them by this in the side nav
2020-01-21 12:48:07 -05:00
Mikhail Shustov
4971a2c772
Expose fatalErrors API from the Start contract (#55300)
* Expose FatalErrors from the Start contract.

This API is intended to be used for runtime as well.

* update docs

* update data plugin snapshot to fix tests

* address comments

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-21 12:58:40 +01:00
Pierre Gayvallet
2d10350d77
Implements getStartServices on server-side (#55156)
* implements server-side getStartServices

* add unit test

* add integration test

* update generated doc

* improve test
2020-01-20 11:19:40 +01:00
Mikhail Shustov
ec31611911
Enforce camelCase format for a plugin id (#53759)
* add isCamelCase  function

* add a warning if id is not in camelCase

* document pluginId expected in camelCase

* regen docs

* add a test for logging

* update tests. warn can be called several times for different reasons

* pluginPath falls back to plugin id in snake_case

* update tests

* update docs

* add example with id & configPath different formats

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-18 14:17:36 +01:00
Pierre Gayvallet
856c85b400
Deprecate chrome.navlinks.update and add documentation (#54893)
* add migration example on application status updater

* update example with proper licensing plugin usage

* fix line width
2020-01-17 13:27:09 +01:00
Eli Perelman
7977f0edd4
Generate legacy vars when rendering all applications (#54768)
* Generate legacy vars when rendering all applications

* Move rendering functional tests and add user settings tests

* Make rendering integration tests more robust, get data from page

* Address review nits, fix CI failures

* Remove extraneous file

* Fix type error
2020-01-16 11:35:21 -06:00
Liza Katz
12ec08e8ab
export new ui settings types and regen docs (#55020)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-16 19:02:23 +02:00
Andrew Goldstein
56ff721867
[SIEM] New Overview Page (#54783)
## [SIEM] Overview Page "1.5"

A redesigned SIEM Overview page that includes `Recent timelines`, a `Security news` feed, visualizations, and rolled-up event counts

![overview-day](https://user-images.githubusercontent.com/4459398/72396016-90f53600-36f8-11ea-9b41-6d54d09de589.png)

![overview-night](https://user-images.githubusercontent.com/4459398/72394575-fb57a780-36f3-11ea-868e-8fcd2c5c4543.png)

### Overview enhancements
- Added the global Search bar and Date picker to the Overview page
- New `Recent timelines` widget affords quick access to favorite and recently modified timelines
- New `Security news` widget
- New Kibana advanced settings (toggle switch) for enabling or disabling the news widget and configuring the news URL
![news-settings](https://user-images.githubusercontent.com/4459398/72362776-fd4c4700-36b0-11ea-805b-3c7353f2c1cd.png)
- New `Events count by dataset` widget
- Updated the `Host Events` and `Network Events` widgets to integrate with the Search bar and date picker input
- Enhanced the `Host Events` and `Network Events` widgets to use an accordion paradigm that summarizes stats by source (e.g. `Auditbeat`, `Endgame`)
- Enhanced the `Host Events` and `Network Events` widgets to visualize relative percentages of events collected as progress bars
- New `Alerts count by category` widget
- New `Signals count by MITRE ATT&CK™ category` widget
- New `View events`, `View alerts`, and `View signals` navigation buttons for their respective visualizations


### FTUE enhancements
- FTUE "no data" view design refresh
![ftue](https://user-images.githubusercontent.com/4459398/72361771-43a0a680-36af-11ea-969f-5872ac4a01a1.png)
- When the FTUE "no data" page is displayed, hide all global navigation links (i.e. `Hosts`, `Network`, `Detection engine`), such that only `Overview` appears in the global nav
- App Help popover design refresh
![help](https://user-images.githubusercontent.com/4459398/72362132-d80b0900-36af-11ea-9b58-1fd3b923b7c8.png)
- Removed the `Beta` badge and `Security Information & Event Management with the Elastic Stack` from the Overview header

- Tested in Chrome `79.0.3945.117`, Firefox `72.0.1`, and Safari `13.0.4`

## Known issues

- The `siem:newsFeedUrl` advanced setting is defaulted to `https://feeds.elastic.co/kibana`
- The `Signals count by MITRE ATT&CK™ category` visualization does not display all categories
- The `Signals count by MITRE ATT&CK™ category` visualization may require a different index pattern
- `EuiButtonGroup` throwing a `Can't perform a React state update on an unmounted component` warning when switching from the Overview tab

https://github.com/elastic/siem-team/issues/484
2020-01-14 21:03:57 -07:00
Liza Katz
aa16a9d455
Support "Deprecated" label in advanced settings (#54539)
* Support deprecating label in advanced settings
mark courier:batchSearches as deprecated

* jest update

* Add deprecation to UiSettingsParams type
Translate click aria label
Use docLinks service

* Rename doc link

* Remove url option from DeprecationSettings

* Simplify code

* Updated docs

* Revert "Updated docs"

This reverts commit c9512ced1f.

* snapshots

* docs
2020-01-13 23:54:41 +02:00
Matthew Kime
2178ee38c0
uiSettings - use validation field for image field maxSize (#54522)
* uiSettings - use validation field for image field maxSize
2020-01-13 13:58:59 -06:00
Pierre Gayvallet
aeebedfa4d
Add ApplicationService app status management (#50223)
* add unimplemented registerAppStatusUpdater & remove observers for apps and legacyApps

* adapt NavLinksService to use new application observables

* merge availableApps$ and availableLegacyApps$

* updating core docs

* adapt the navLink updating methods

* filters the inaccessible apps from availableApps$

* restrict access to navigateToApp depending on app status

* fixes due to merge

* add statusUpdater$ to AppBase

* export new types

* disable navlink depending on app status

* update generated doc

* update snapshots for disabled prop

* Address josh review

* Address review comments

* fix merge conflicts

* adapt changes due to merge

* update generated doc

* add comment and fix navlink url for custom url apps

* add AppNavLinkStatus type to split app/navlink states

* fix typo

* review comments and improvements

* add functional tests

* update generated docs and migration guide

* fix wrong type cast on AppsMenuProvider.readLinks

* properly type return of navigateToApp
2020-01-12 22:37:42 +01:00
Pierre Gayvallet
c0d6b932f1
Allow the mounted application to prompt a confirm message before leaving (#54221)
* add onAppLeave to AppMountParameters

* adapt legacy shims of app mount

* update generated doc

* returns properly typed AppLeaveAction from leave handler instead of raw strings

* add openConfirm to modal service and use it instead of window.confirm

* fix unit test

* update querystringinput snapshots

* add integration tests

* nits and review comments

* add functional tests
2020-01-10 12:17:21 +01:00
Mikhail Shustov
bbf703a0ff
tighten SO repository type (#54328)
* tighten SO repository type

* update docs

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-10 10:46:37 +03:00
Joe Portner
719ff259fc
Add support for certificates in PKCS#12 (P12) key stores (#53810)
Kibana now supports the usage of PKCS#12 (P12) key stores and trust stores for certificates and keys.
2020-01-09 13:03:16 -05:00
Mikhail Shustov
56041f03ad
Don't expose Elasticsearch client as Observable (#53824)
* expose ES clients without observables

* expose observable-less api to plugins

* update core api and mocks

* update plugins

* NP SO & legacy use updated API

* update SO tests

* update TSDocs

* update types

* update docs

* document createCluster analog in np

* typo
2020-01-08 12:01:47 +03:00
Mikhail Shustov
9843a5b64c
Set consistent EOL symbol in core API docs (#53815)
* update api-extractor, api-documenter versions

* set EOL: lf. sync with editorconfig

* regen docs

* generate docs with --docs

* rebuild kbn/pm to fix CI fauilure

Co-authored-by: Spencer <email@spalger.com>
2020-01-04 11:14:39 +03:00
Eli Perelman
fdd87e024f
Allow chromeless applications to render via non-/app routes (#51527)
* Allow chromeless applications to render via non-/app routes

* Address review nits

* Fix chrome:application integration tests

* Move extraneous application integration tests to unit tests
2019-12-29 15:10:14 -06:00
Eli Perelman
054ec7036d
Add server rendering service to enable standalone route rendering (#52161)
* Add server rendering service to enable standalone route rendering

* Update renovate config

* Move legacy rendering functionality to legacy service

* Use config for exposed variable in new platform

* Lint changes from rebase

* Rebase artifact

* Remove RenderingProvider, add tests for legacy vars implementation, review notes

* Add UI app functionality to legacy service

* Update rendering snapshots

* Update docs

* Fix up functional tests

* Clean up legacy types

* Revise types from reverting injected metadata changes

* Update translations and broken tests

* Mock legacy internals in legacy tests

* Add missing doc types

* Rename InternalRenderOptions to LegacyRenderOptions

* Remove extraneous legacy exports, review nits

* Functional tests fixes

* Rebase, attempt CI test fixes

* Only allow specified appIds in testbed rendering integration test

* Update snapshot names

* Review nits
2019-12-29 02:10:55 -06:00
Matthias Wilhelm
b921987f1a
Remove SavedObjectRegistryProvider from codebase (#53455) 2019-12-21 10:38:03 +01:00
Joe Reuter
97ed566245
Migrate kql telemetry and scripts api (#52651) 2019-12-20 19:05:28 +01:00
Alejandro Fernández Haro
3bdbcd0d1a
[NP] Allow custom validations in HTTP Routes apart from @kbn/config-schema (#51919)
* [NP] Allow custom validations in HTTP Routes apart from @kbn/config-schema

* API docs

* Allow validate function in the route handler (run-code validation)

* Prefix RouteXXX + Params and Body Validation Aliases

* Fix test broken by lodash

* Update API docs

* Add default types for simpler manual declaration

* Add run-time validation of the RouteValidateSpec

* Expose RouteValidationError instead of SchemaTypeError

* RouteValidator as a class to match config-schema interface

* Test for not-inline handler (need to check IRouter for #47047)

* Add preValidation of the input for a safer custom validation

* Better types for RouteHandlers

* [NP] Move route validation to RouteValidator wrapper

* Use the class only internally but maintain the same API

* Fix types

* Ensure RouteValidator instance in KibanaRequest.from

* Fix validator.tests (Buffer.from instead of new Buffer)

* Default precheck should allow null values

* Also allow undefined in preChecks

* MR feedback fixes

* Provide RouteValidationResolver to the validation function

* Add functional tests

* Fix new functional tests

* Fix validator additional test

* Fix test with new resolver

* Remove unused import

* Rename ValidationResolver to ValidationResultFactory and change the interface to look more like the KibanaResponseFactory

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2019-12-20 17:53:08 +00:00
Josh Dover
4980387c17
Refactor HttpService tests (#53033) 2019-12-19 11:38:14 -06:00
Pierre Gayvallet
3430628e26
expose asScopedToClient in uiSettingsService start contract (#53290)
* expose asScopedToClient in uisettings start contract

* add uiService mock in server tests

* Add tests for start method

* Updates generated doc

* properly export UiSettingsServiceStart from server

* remove useless async

* nit: rename
2019-12-19 15:44:42 +01:00
Alexey Antonov
93b626073f
Cleanup - Typescript some of src/legacy/server/index_patterns (#53461)
Part of #44190.
2019-12-19 17:41:08 +03:00
Mikhail Shustov
ecf8657d82
Document how to extend request handler context (#53271)
* mention uiSettingsClient in the context docs

* autogenerated docs for logger method

* describe what's available via request context handler. how to extend it

* make type optional
2019-12-19 10:12:45 +01:00
Pierre Gayvallet
2426811bca
Migrate instance uuid logic to new platform (#52060)
* move and migrate uuid code to new platform

* create and wire uuid service

* handle legacy compatibility

* update generated docs

* add `set` to LegacyConfig interface

* Fix types

* fix config access

* respect naming conventions for uuid

* remove hardcoded config paths

* rename manageInstanceUuid to resolveInstanceUuid

* moves legacy config uuid set from uuid to legacy service

* log specific message depending on how uuid was resolved

* resolve merge conflicts

* use fs.promises

* add forgotten @public in uuid contract

* add explicit errors and tests

* ensure uuid is valid in configuration

* fix read/write tests
2019-12-17 09:25:21 +01:00
Pierre Gayvallet
408139bf0b
Allow loggers to create child loggers via 'get' method (#52605)
* add 'Logger.get' method

* updates generated doc

* resolve merge conflicts
2019-12-16 10:41:14 +01:00
Eli Perelman
614bde927e
Move CSP options to new platform (#52698)
* Move CSP options to new platform

* Expose SharedGlobalConfig from root

* Derive CSP options from config

* Consolidate CSP configuration with HTTP config

* Fix outstanding config renames

* Remove legacy CSP configuration calls, migrate to platform properties

* Revise docs

* Fix test from type change

* Expose ICspConfig, consolidate and simplify CSP defaults access

* Rebase and update docs

* Remove legacy API from route definition params, review nits

* Clean up config path usages for consistency

* Regenerate docs
2019-12-13 15:57:17 -06:00
Josh Dover
0dac43516e
Update docs to not use AppMountContext (#52962) 2019-12-13 13:00:54 -06:00
Josh Dover
ec2134d221
Add lint rule to prevent server code being imported into client (#52447) 2019-12-13 12:26:04 -06:00
Pierre Gayvallet
eb3d9b118a
Implements config deprecation in New Platform (#52251)
* implements 'rename' and 'unset' deprecations

* introduce usage of ConfigDeprecationProvider

* adapt RawConfigService to only returns unmodified raw config

* apply deprecations when accessing config

* register legacy plugin deprecation in new platform

* implements ConfigService#validate

* add exemple config deprecation usage in testbed

* documentation

* export public config deprecation types

* fix new test due to rebase

* name ConfigDeprecationFactory

* update generated doc

* add tests for unset and move it to src/core/utils

* add tests for renameFromRoot and unusedFromRoot

* cast paths as any as get expects a fixed-length string array

* use specific logger for deprecations

* add additional test on renameFromRoot

* update migration guide

* migrate core deprecations to NP

* add integration test

* use same log context as legacy

* remove old deprecation warnings integration tests, now covered in NP

* migrates csp deprecation to NP

* removes deprecationWarningMixin from legacy

* remove legacy core deprecations

* remove unused import

* rename setupConfigSchemas to setupCoreConfig

* update generated doc
2019-12-13 09:49:56 +01:00
Josh Dover
2d3698972b
Add getStartServices API (#50231) 2019-12-12 13:21:35 -06:00
Lukas Olson
8395596159
[Search service] Add timeout parameter from config to requests (#52352)
* Add timeout parameter to requests

* export SharedGlobalConfig from `core/server`
2019-12-11 10:57:19 -07:00
Josh Dover
a91e53f18f
Add asResponse option to HttpService methods (#52434) 2019-12-11 10:53:17 -06:00
Rudolf Meijering
e9299092f0
Expose SavedObjectsStart from AppMountContext (#52059) 2019-12-09 12:37:54 +01:00
Mikhail Shustov
2ef6d8d8f7
Add pre-response http interceptor (#52366)
* add onPreResponse interceptor

* expose registerPreResponse to plugins

* address comments

* regen docs
2019-12-06 17:46:25 +01:00
Ahmad Bamieh
9fe302cf17
[Cloud] move cloud plugin to np (#51789)
* move cloud dir to plugins from legacy

* first iteration moving to NP

* config as observable

* finish plugin

* migrate xpack.cloud.apm.*

* self code review

* remove unused lodash get

* use lodash get to get configs

* export SerializedDatatable

* eslint fix

* eslint fix

* fix setup type

* fix monitoring tests

* fix test mock function

* resolve ELASTIC_SUPPORT_LINK in core

* running check_core_api_changes script

* review feedback

* mock setHelpSupportUrl

* update snapshots
2019-12-05 08:20:28 -05:00
Alejandro Fernández Haro
bd3857a79b
[NP] Expose global config to the plugins (#51478)
* [NP] Expose global config to the plugins

* globalConfig in Plugin context: expose read-only methods only

* SharedGlobalConfig rework + Moving pkg, fromRoot & path utils from legacy to NP

* Updated API docs

* Fix test references to the moved utils

* Replace zip with combineLatest

* Change tests to describe/it + remove "(deprecated)" from the test description

* Moving path files to a folder + exposing the config path in the contract

* deepFreeze the globalConfig in the pluginContext

* Fix types in tests with new path.config

* Move fromRoot and package_json utils to core/server/utils

* Rename globalConfig to legacy.globalConfig$

* path.config renamed to path.configDir (not renaming path.data because it might be a breaking change)

* Change configDir in mocker as well

* Fix test after config renamed to configDir

* Fix API docs conflicts

* Rename the path properties when exposing them

* path.configDir removed from the path config-schema

* Remove path.configDir. It is already in env.configs

* Add Migration documentation and examples

* Fix 'kibana/server' imports in the MIGRATION docs
2019-12-05 10:25:32 +00:00
Rudolf Meijering
7f4bdb2d57
static createRepository factory function (#52056)
* static createRepository factory function

* Fix API docs after master merge
2019-12-04 13:15:37 +01:00
Pierre Gayvallet
99c6396fd5
Migrate Capabilities to new platform (#51438)
* create service skeleton

* move registerCapabilitiesModifier to capabilities service and rename to registerCapabilitiesSwitcher

* starts to move capabilities logic to CapabilitiesService

* move capabilities route to service

* add initial integration test for capabilities route

* capabilitiesMixin now delegates to capability service

* use server-side Capabilities import in server code

* update generated doc

* remove capabilities from injectedMetadatas

* use applications sent from client instead of server-registered navLinks

* disable authRequired for capabilities route

* (temp) exposes two endpoints for capabilities

* Add fetch-mock on capabilities call for karma tests

* adapt xpack Capabilities test - first attempt

* adapt x-pack ui_capabilities test

* add '/status' to the list of anonymous pages

* Add documentation on Capabilities APIs

* move Capabilities to core/types

* update generated docs

* add service tests

* protecting resolveCapabilities against added/removed capabilities

* update generated docs

* adapt mocks due to rebase

* add forgotten exports

* improve capabilities routes registering

* name capabilities registering methods

* resolve conflicts due to merge

* address review issues

* add comment about reason for exposing two routes

* extract createHttpServer test helper

* fix merge conflicts

* improve documentation

* remove `/status` anon registration as now done in NP status plugin

* fix merge conflicts
2019-12-03 09:34:49 +01:00
Mikhail Shustov
0f8533730c
Unify uiSettingsClient contracts (#51167)
* introduce IUiSettingsClient on the client

* switch uiSettings service to  IUiSettingsClient

* update uiSettings service tests

* all plugins should use IUiSettingsClient

* stop is not public methods anymore

* remove savedobject attribute type references

* regen docs

* remove all references to UiSettingsClient class

* regen docs

* add migration example for uiSettings

* update consumer types and tests

* address comments
2019-11-28 22:53:02 +01:00
Alejandro Fernández Haro
066613e2a6
Allow routes to define some payload config values (#50783)
* Allow routes to define some payload config values

* Documentation typo

* Move hapi `payload` config under `body` + additional validations

* Update API docs

* Amend explanation in API docs

* Add stream and buffer types to @kbn/config-schema

* Fixes based on PR feedback:
- Add 'patch' and 'options' to valid RouteMethod
- Add tests for all the new flags
- Allow `stream` and `buffer` schema in the body validations (findings from tests)

* API documentation update

* Fix type definitions

* Fix the NITs in the PR comments + better typing inheritance

* API docs update

* Fix APM-legacy wrapper's types

* Fix KibanaRequest.from type exposure of hapi in API docs

* Move RouterRoute interface back to private + Expose some public docs

* Update @kbn/config-schema docs
2019-11-28 09:23:56 +00:00
Rudolf Meijering
f29af1219d
Split legacy plugin discovery, expose SavedObjects scopedClient, wrappers, repository (#48882)
* Split legacy plugin discovery, expose internal SavedObjectsClient

* Expose internal SavedObjectsClient to plugins

* Add more documentation

* Expose client wrappers, repository, scoped client from SavedObjects

* Remove unused onBeforeWrite

* Refactor Service / Repository for testability

* Bind exposed clientProvider methods

* Fix eArchiver's KibanaMigrator

* Cleanup

* Use APICaller type

* Expose SavedObjectsServiceStart to plugins

* API documentation

* Rename API methods to be verbs
2019-11-27 16:47:22 +01:00
Joe Portner
7830946f6a
Fix infinite redirect loop when multiple cookies are sent (#50452)
Cookies are now checked for attributes that match the current
Kibana configuration. Invalid cookies are cleared more reliably.
2019-11-27 09:26:21 -05:00
Alexey Antonov
c415311221 Move @kbn/es-query into data plugin (#51014) 2019-11-26 13:28:04 -07:00
Pierre Gayvallet
7fef618ea6
Add compatibility wrapper for Boom errors thrown from route handler (#51157)
* add wrapErrors method to router

* add RouteRegistrar type

* update generated doc

* add migration example

* rename wrapErrors to handleLegacyErrors
2019-11-26 10:21:49 +01:00
Josh Dover
fff493e54e
Build bundles for all new platform plugins (#51525) 2019-11-25 16:29:35 -06:00
Pierre Gayvallet
1bef133519
Expose whitelisted config values to client-side plugin (#50641)
* introduce PluginConfigDescriptor type

* inject client plugin configs in injectedMetadata

* expose client config in PluginInitializerContext

* add example implementation in testbed

* update generated doc

* only generates ui config entry for plugins exposing properties to client

* separate plugin configs from plugins

* restructure plugin services tests

* fix test/mocks due to plugin configs api changes

* add unit tests

* update migration guide

* update tsdoc

* fix typecheck

* use sync getter for config on client side instead of observable

* change type of exposeToBrowser prop

* updates generated doc

* fix doc and address nits
2019-11-21 12:37:23 +01:00
Caroline Horn
87e77e9638
[Chrome] More Help Menu extensions with semantic links (#50736)
* Update help menu util to allow common types of links

- Github, Docs, and custom

* Fix test?

* Updating API docs?

* Quick layout fix

* Kibana core apps updated (Visualize, Dashboard, Discover)

* Updated Canvas usage

* Updated Maps usage

* Added a `discuss` link type

* Updated Logs and Metrics usage

* Update APM usage

* Update Uptime usage

* Update SIEM usage

* Removing old Uptime file

* Update Lens usage

* Update API doc

* [Uptime] Remove test for file that no longer exists

* One more snap and i18n tokens

* PR feedback

- Wrap feedbackText in method
- Use `rel: noopener` on external links
- Rename HeaderHelpMenuUIExtraLink -> ChromeHelpExtensionMenuExtraLink and export

* [APM] Use ‘custom’ style link for Upgrade assistant

* API docs

* i18n

* Fix link

* Documented ChromeHelpExtension props

* Use heading levels

* Update names of props, document prop, and update API docs

* Remove `ae-missing-release-tag` warnings
2019-11-20 14:39:33 -05:00
Pierre Gayvallet
01bbbf4b03
Remove react references from core OverlayService apis (#48431)
* move/rename overlay mount and unmount types from banner to parent module

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* migrate openModal / modalService

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

fix I18nProvider import path

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* updates core doc

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

update doc bis

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* migrate openFlyout / flyout service

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove CoreStart export from kibana-react

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* adapt some calls to new signature

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* adapt new calls

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* adapt js call

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* add flex layout on mountWrapper component to avoid losing scroll on overlays

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* create proper flyout/modal services

* update generated doc

* update snapshot on data/query_bar

* use ReactNode instead of ReactElement

* rename mountForComponent to reactMount

* change reactMount usages to toMountPoint

* remove duplicate MountPoint type in overlays

* remove duplicate mount utilities from overlays

* allow to specify custom class name to MountWrapper

* Allow to specialize MountPoint on HTMLElement subtypes

* updates generated doc

* undeprecates openFlyout/openModal & remove direct subservice access from overlayService

* adapt toast api to get i18n context from service

* use MountPoint instead of inline definition
2019-11-19 10:08:16 +01:00
Mikhail Shustov
2166044671
remove outdated comment (#50895) 2019-11-18 14:41:15 +01:00
Pierre Gayvallet
e04adbe34b
Remove react references from core Notifications apis (#49573)
* add reactMount util to kibana_react

(kibana-react) properly export reactMount

* add MountPoint types and utility

* adapt toast API to no longer accept react elements

(toast API) properly export new Toast type

* adapt calls by using reactMount

createNotifications: do not wrap if text

* update generated doc

* add custom snapshot serializer for reactMount

* fix unit tests

fix xpack unit tests

* adapt non-ts calls

* do not add __reactMount__ property in production

* remove string check on createNotifications

* fix typo and small fix using obj spread

* improve react mount snapshot serializer

* simplify convertToEui

* rename reactMount to toMountPoint

* adapt newly added calls

* move mount types to proper file

* use new Mount types for OverlayBanner apis

* fixing typo

* adapt new calls

* use destructured imports
2019-11-14 08:40:14 +01:00
Eli Perelman
6955593d01
Allow registered applications to hide Kibana chrome (#49795)
* Allow registered applications to hide Kibana chrome

* Fix bug in flipped value of application chromeHidden

* Add additional test for app chrome hidden versus chrome visibility

* Rename chromeHidden to chromeless

* Default chrome service app hidden observable to same value as force hidden

* Consolidate force hiding in chrome, add functional tests

* Move chromeless flag to App interface to prevent legacy applications from specifying

* Address review nits to improve separation
2019-11-13 14:57:15 -06:00
Pierre Gayvallet
e6ea2bf16b
Remove internal platform types exports (#50427)
* remove exports of internal core types

* updates documentation

* rename internal types file
2019-11-13 09:30:38 +01:00
Mikhail Shustov
b6591eb0bd
Provide uiSettings service in NP (#48413)
* provide ui settins client via context

* update mocks

* update types and expose setDefaults to plugins

* move ui settings routes to NP

* add typings fro test kbn server

* move integration test & improve typings

* hide client private methods, update tests

* add unit tests for get_upgradable_config

* inline writeErrors into createOrUpgradeConfig to simplify testing

* regen docs

* add functional tests for ui_settings service

* unify test suites

* add types for sipertest in core_plugin tests

* tsify core_plugins tests

* add test for empty saved config

* update renovate

* rename get/setDefaults to reguster

* regen docs

* regen docs

* Update src/core/MIGRATION.md

Co-Authored-By: Josh Dover <me@joshdover.com>
2019-10-28 16:06:12 -04:00
Gidi Meir Morris
2ac82dec61
[Saved Objects] Adds support for custom Refresh settings on mutating operations (#48932)
Adds the ability to override the Refresh setting of mutating operations (Update, Delete, Bulk, Index) of Saved Objects.
2019-10-25 08:28:55 +01:00
Pierre Gayvallet
ccd01a3af0
Migrate ui/doc_title to New platform (#48121)
* create NP docTitle service and bridge LP to it

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* properly prefix the docTitle public types

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* update documentation

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* replace direct NP access with closure to avoid error when importing module in tests with no usages

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove arrow functions for doc generation

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove get$ from the api

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove apply param and excludeBase option

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove removed export

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* adapt legacy service to new api

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* add entry about docTitle in the migration guide

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* add link in migration guide

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* update generated doc

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* update chrome mock

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* update snapshots due to api change

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove ChromeDocTitleChange in favor of inline type

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
2019-10-24 16:21:46 -07:00
Brandon Kobel
a149497b73
NP Security HTTP Interceptors (#39477)
* We have a NP plugin! :celebration:

* Redirecting to login on all 401s

* Adding commented out code for when credentials are omitted

* Fixing types

* Respond 403 when user changes password with incorrect current password

* Adding AnonymousPaths where we ignore all 401s

* Adding anonymous path tests

* Extracted a dedicated SessionExpires class and added tests

* Fixing plugin after refactoring to add SessionExpired

* Beginning to work on the session timeout interceptor

* Fixing UnauthorizedResponseInterceptor anonymous path test

* Removing test anonymous path

* Trying to improve readability

* Displaying session logout warning

* Mocking out the base path

* Revert "Mocking out the base path"

This reverts commit 824086c168.

* Changing coreMock to use a concrete instance of BasePath

* Adding session timeout interceptor tests

* Adding session timeout tests

* Adding more tests for short session timeouts

* Moving some files to a session folder

* More thrashing around: renaming and reorganizing

* Renaming Interceptor to HttpInterceptor

* Fixing some type errors

* Fixing legacy chrome API tests

* Fixing other tests to use the concrete instance of BasePath

* Adjusting some types

* Putting DeeplyMocked back, I don't get how DeeplyMockedKeys works

* Moving anonymousPaths to public core http

* Reading sessionTimeout from injected vars and supporting null timeout

* Doesn't extend session when there is no response

* Updating docs and snapshots

* Casting sessionTimeout injectedVar to "number | null"

* Fixing i18n issues

* Update x-pack/plugins/security/public/plugin.ts

Co-Authored-By: Larry Gregory <lgregorydev@gmail.com>

* Adding milliseconds postfix to SessionTimeout private fields

* Even better anonymous paths, with some validation

* Adjusting public method docs for IAnonymousPaths

* Adjusting spelling of base-path to basePath

* Update x-pack/plugins/security/public/session/session_timeout.tsx

Co-Authored-By: Larry Gregory <lgregorydev@gmail.com>

* Update src/core/public/http/anonymous_paths.ts

Co-Authored-By: Josh Dover <me@joshdover.com>

* Update src/core/public/http/anonymous_paths.ts

Co-Authored-By: Josh Dover <me@joshdover.com>

* AnonymousPaths implements IAnonymousPaths and uses IBasePath

* Removing DeeplyMocked

* Removing TODOs

* Fixing types...

* Now, ever more normal
2019-10-24 08:59:45 -07:00
Eli Perelman
ab147e16fc
Pass along request object to all HTTP interceptors (#47258)
* Pass along request object to all HTTP interceptors

* Do not trigger response interceptors from request errors; make request readonly

* Update core API

* Fix failing test

* Add tests to ensure that interceptors accumulate request and response across calls

* Make request readonly for request error interception, simplify response interception return types

* Update docs from request and response interception API change

* Add missing InterceptedHttpResponse generated docs
2019-10-18 15:23:03 -05:00
Eli Perelman
1762782943
Supply deprecated req and res properties on IHttpFetchError for legacy compatibility (#48430) 2019-10-17 10:52:25 -05:00
Gidi Meir Morris
3f4024c398
[Saved Objects] Add support for bulkUpdate to SavedObjectsClient (#47540)
This PR adds support for `bulkUpdate` to the Saved Objects API and exposes it on all Saved Objects clients (base client, encrypted, spaces etc.).
2019-10-17 11:12:27 +01:00
Mikhail Shustov
5676ac00ab
UI settings move to NP (#47590)
* add tests for logWithMetadata in LP

* allow passing metadata to log in NP & LP

* move ui_settings_client to NP

* add ui_settings config

* add ui_settings_service

* switch to NP logging

* export types

* bootstrap uiSettings service in NP

* pass NP uiSettings to LP

* move ui_settings mock to NP

* add  test for mixin and switch to NP logger

* make UiSettingsClient.getDefaults sync as it is

* ui_settings_client uses private fields

* ui_settings_client uses private methods

* keep uiSettings config validation in NP only

* update mocks

* core context should know it is mocked

* add tests for ui_settings_service

* remove unused code from ui_settings_mixin test

* improve types in ui_settings_mixin test

* gen docs

* test moved to NP

* set pkg version in tests explicitly

* update mocks in tests

* UiSettingsServiceSetup --> InternalUiSettingsServiceSetup

* add links to types

* address eli comment

* regen docs

* remove unused types
2019-10-16 14:18:34 +02:00
Pierre Gayvallet
7df981fbf8 Ignore missing references on saved object exports (#47685)
* add saved object export details in ndjson response

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* update core doc

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* exclude export details for space copy

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* fixing tests

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* display warning instead of success if export contains missing refs

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* nits/typo

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* properly updates api integration tests

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* fix typings

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* add test on objects_table component

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* remove added translations from jp/cn bundles

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* restoring line feeds

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* improve doc and user alert message

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* restoring line feeds on server.api.md

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>

* warning test label

Signed-off-by: pgayvallet <pierre.gayvallet@elastic.co>
2019-10-16 12:48:34 +02:00
Rudolf Meijering
3d28467d00
Server saved objects client through request context (#44143)
* Expose Saved Objects client in request context

* API Integration test for savedobjects in req context

* SavedObjectsClient docs

* SavedObjectsClient#find remove dependency on indexPatterns

And use the saved objects mappings instead

* Review comments

* Review comments, fixes and tests

* Use correct type for KQL syntax check
2019-10-16 10:36:40 +02:00
Josh Dover
01ac90f81e
Make generated type docs more explorable (#47069) 2019-10-15 11:53:36 -05:00
Greg Thompson
71b1bbd4cb
Upgrade EUI to 14.5.0 (#48119)
* eui 14.5.0

* snapshot updates

* update ChromeBreadcrumb interface

* change bad id selector to data-test-subj selector
2019-10-15 09:59:38 -05:00
Mikhail Shustov
27dbcb2796
Expose package info to NP plugins (#48101)
* provide packageInfo to server plugins

* provide env to kbn server

* provide env to client plugins

* update server mocks and tests

* update client mocks and tests

* add integration test

* regen docs

* remove weird file

* export types for the client from special folder

* env should not affect test ourcome
2019-10-15 14:19:11 +02:00
Mikhail Shustov
92917c1c19
Document custom validation for http request (#47699)
* document custom validation for http request

* generate docs
2019-10-15 10:51:45 +02:00
Dario Gieselaar
819f334c85
[APM] Replace ui/kfetch with core.http (#47635)
* [APM] Replace ui/kfetch with core.http

Closes #46548.

* Remove kfetch mocks in tests

* Expose HttpFetchError from src/core/public/index

* Make HttpFetchError public

* Simplify tests for ServiceOverview
2019-10-11 16:35:29 +02:00
Rudolf Meijering
f0f75fc289
SavedObjectAttribute allow array of primitives (#47317) 2019-10-08 16:41:13 +02:00
Court Ewing
485eaf773d
[core] Do not overwrite saved object references if not specified (#47248)
* saved objects: allow partial update without references

For normal attributes, the update API for saved objects supports partial
updates, where it will only attempt to change those attributes you
specify. References should behave the same way otherwise they will be
replaced entirely if you call update without specifying the original
references.
2019-10-07 16:10:29 -04:00
Josh Dover
d6410b5580
Add types to Elasticsearch API calls (#46668) 2019-10-07 13:11:30 -05:00