Skip to content

Commit

Permalink
Misc security feedback
Browse files Browse the repository at this point in the history
- remove set
- remove unnecessary capabilities registration
- telemetry namespace agnostic
  • Loading branch information
cee-chen committed Jul 8, 2020
1 parent 972adcf commit 9e52680
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* you may not use this file except in compliance with the Elastic License.
*/

import { set } from 'lodash';
import { get } from 'lodash';
import {
ISavedObjectsRepository,
SavedObjectsServiceStart,
Expand Down Expand Up @@ -89,14 +89,24 @@ const fetchTelemetryMetrics = async (savedObjects: SavedObjectsServiceStart) =>
return defaultTelemetrySavedObject;
}

// Iterate through each attribute key and set its saved values
const attributeKeys = Object.keys(savedObjectAttributes);
const telemetryObj = defaultTelemetrySavedObject;
attributeKeys.forEach((key: string) => {
set(telemetryObj, key, savedObjectAttributes[key]);
});

return telemetryObj as ITelemetry;
return {
ui_viewed: {
setup_guide: get(savedObjectAttributes, 'ui_viewed.setup_guide', 0),
engines_overview: get(savedObjectAttributes, 'ui_viewed.engines_overview', 0),
},
ui_error: {
cannot_connect: get(savedObjectAttributes, 'ui_error.cannot_connect', 0),
},
ui_clicked: {
create_first_engine_button: get(
savedObjectAttributes,
'ui_clicked.create_first_engine_button',
0
),
header_launch_button: get(savedObjectAttributes, 'ui_clicked.header_launch_button', 0),
engine_table_link: get(savedObjectAttributes, 'ui_clicked.engine_table_link', 0),
},
} as ITelemetry;
};

/**
Expand Down
9 changes: 0 additions & 9 deletions x-pack/plugins/enterprise_search/server/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,15 +79,6 @@ export class EnterpriseSearchPlugin implements Plugin {
/**
* Register user access to the Enterprise Search plugins
*/
capabilities.registerProvider(() => ({
navLinks: {
app_search: true,
},
catalogue: {
app_search: true,
},
}));

capabilities.registerSwitcher(
async (request: KibanaRequest, uiCapabilities: UICapabilities) => {
const dependencies = { config, security, request, log: this.logger };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { AS_TELEMETRY_NAME } from '../../collectors/app_search/telemetry';
export const appSearchTelemetryType: SavedObjectsType = {
name: AS_TELEMETRY_NAME,
hidden: false,
namespaceType: 'single',
namespaceType: 'agnostic',
mappings: {
dynamic: false,
properties: {},
Expand Down

0 comments on commit 9e52680

Please sign in to comment.