import { Plugin , CoreSetup } from 'kibana/server' ; import { PluginSetupContract as FeaturesPluginSetup } from '../../../../../../../plugins/features/server' ; import { SpacesPluginStart } from '../../../../../../../plugins/spaces/server' ; import { SecurityPluginStart } from '../../../../../../../plugins/security/server' ; export interface FixtureSetupDeps { features : FeaturesPluginSetup ; } export interface FixtureStartDeps { security ? : SecurityPluginStart ; spaces ? : SpacesPluginStart ; } export class FixturePlugin implements Plugin < void , void , FixtureSetupDeps , FixtureStartDeps > { public setup ( core , deps ) { const { features } = deps ; features . registerKibanaFeature ( { id : 'securitySolutionFixture' , name : 'SecuritySolutionFixture' , app : [ 'kibana' ] , category : { id : 'cases-fixtures' , label : 'Cases Fixtures' } , cases : [ 'securitySolutionFixture' ] , privileges : { all : { app : [ 'kibana' ] , cases : { all : [ 'securitySolutionFixture' ] , } , savedObject : { all : [ ] , read : [ ] , } , ui : [ ] , } , read : { app : [ 'kibana' ] , cases : { read : [ 'securitySolutionFixture' ] , } , savedObject : { all : [ ] , read : [ ] , } , ui : [ ] , } , } , } ) ; features . registerKibanaFeature ( { id : 'testDisabledFixtureID' , name : 'TestDisabledFixture' , app : [ 'kibana' ] , category : { id : 'cases-fixtures' , label : 'Cases Fixtures' } , cases : [ 'testDisabledFixture' ] , privileges : { all : { app : [ 'kibana' ] , cases : { all : [ 'testDisabledFixture' ] , } , savedObject : { all : [ ] , read : [ ] , } , ui : [ ] , } , read : { app : [ 'kibana' ] , cases : { read : [ 'testDisabledFixture' ] , } , savedObject : { all : [ ] , read : [ ] , } , ui : [ ] , } , } , } ) ; } public start ( ) { } public stop ( ) { } }