From 672dc023ad1bec2db33fcd890e88a0386d568fe3 Mon Sep 17 00:00:00 2001 From: Melissa Alvarez Date: Thu, 8 Aug 2019 16:11:06 -0400 Subject: [PATCH] update privileges key type --- x-pack/legacy/plugins/ml/public/privilege/check_privilege.ts | 4 ++-- .../plugins/ml/public/services/ml_api_service/index.d.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/x-pack/legacy/plugins/ml/public/privilege/check_privilege.ts b/x-pack/legacy/plugins/ml/public/privilege/check_privilege.ts index 53454ea10150ab7..9e5f1dbb2da8b51 100644 --- a/x-pack/legacy/plugins/ml/public/privilege/check_privilege.ts +++ b/x-pack/legacy/plugins/ml/public/privilege/check_privilege.ts @@ -14,7 +14,7 @@ import { getPrivileges, getManageMlPrivileges } from './get_privileges'; import { ACCESS_DENIED_PATH } from '../management/management_urls'; let privileges: Privileges = getDefaultPrivileges(); - +type PrivilageKey = keyof typeof privileges; // manage_ml requires all monitor and admin cluster privileges: https://github.com/elastic/elasticsearch/blob/664a29c8905d8ce9ba8c18aa1ed5c5de93a0eabc/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authz/privilege/ClusterPrivilege.java#L53 export function canGetManagementMlJobs(kbnUrl: any) { return new Promise((resolve, reject) => { @@ -22,7 +22,7 @@ export function canGetManagementMlJobs(kbnUrl: any) { privileges = capabilities; // Loop through all privilages to ensure they are all set to true. const isManageML = Object.keys(privileges).every( - privilegeType => privileges[privilegeType] === true + privilegeType => privileges[privilegeType as PrivilageKey] === true ); if (isManageML === true && isPlatinumOrTrialLicense === true) { diff --git a/x-pack/legacy/plugins/ml/public/services/ml_api_service/index.d.ts b/x-pack/legacy/plugins/ml/public/services/ml_api_service/index.d.ts index 133794725d85619..586352e25333418 100644 --- a/x-pack/legacy/plugins/ml/public/services/ml_api_service/index.d.ts +++ b/x-pack/legacy/plugins/ml/public/services/ml_api_service/index.d.ts @@ -47,6 +47,7 @@ declare interface Ml { hasPrivileges(obj: object): Promise; checkMlPrivileges(): Promise; + checkManageMLPrivileges(): Promise; getJobStats(obj: object): Promise; getDatafeedStats(obj: object): Promise; esSearch(obj: object): any;