mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[ML] Adding jobs stats to functions shared in setup contract (#88673)
* [ML] Adding jobs stats to functions shared in setup contract * updating types * adding datafeeds Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
601d9fd018
commit
f15a1e685c
1 changed files with 45 additions and 1 deletions
|
@ -5,7 +5,12 @@
|
|||
*/
|
||||
|
||||
import { KibanaRequest, SavedObjectsClientContract } from 'kibana/server';
|
||||
import { Job } from '../../../common/types/anomaly_detection_jobs';
|
||||
import {
|
||||
Job,
|
||||
JobStats,
|
||||
Datafeed,
|
||||
DatafeedStats,
|
||||
} from '../../../common/types/anomaly_detection_jobs';
|
||||
import { GetGuards } from '../shared_services';
|
||||
|
||||
export interface AnomalyDetectorsProvider {
|
||||
|
@ -14,6 +19,9 @@ export interface AnomalyDetectorsProvider {
|
|||
savedObjectsClient: SavedObjectsClientContract
|
||||
): {
|
||||
jobs(jobId?: string): Promise<{ count: number; jobs: Job[] }>;
|
||||
jobStats(jobId?: string): Promise<{ count: number; jobs: JobStats[] }>;
|
||||
datafeeds(datafeedId?: string): Promise<{ count: number; datafeeds: Datafeed[] }>;
|
||||
datafeedStats(datafeedId?: string): Promise<{ count: number; datafeeds: DatafeedStats[] }>;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -36,6 +44,42 @@ export function getAnomalyDetectorsProvider(getGuards: GetGuards): AnomalyDetect
|
|||
return body;
|
||||
});
|
||||
},
|
||||
async jobStats(jobId?: string) {
|
||||
return await getGuards(request, savedObjectsClient)
|
||||
.isFullLicense()
|
||||
.hasMlCapabilities(['canGetJobs'])
|
||||
.ok(async ({ mlClient }) => {
|
||||
const { body } = await mlClient.getJobStats<{
|
||||
count: number;
|
||||
jobs: JobStats[];
|
||||
}>(jobId !== undefined ? { job_id: jobId } : undefined);
|
||||
return body;
|
||||
});
|
||||
},
|
||||
async datafeeds(datafeedId?: string) {
|
||||
return await getGuards(request, savedObjectsClient)
|
||||
.isFullLicense()
|
||||
.hasMlCapabilities(['canGetDatafeeds'])
|
||||
.ok(async ({ mlClient }) => {
|
||||
const { body } = await mlClient.getDatafeeds<{
|
||||
count: number;
|
||||
datafeeds: Datafeed[];
|
||||
}>(datafeedId !== undefined ? { datafeed_id: datafeedId } : undefined);
|
||||
return body;
|
||||
});
|
||||
},
|
||||
async datafeedStats(datafeedId?: string) {
|
||||
return await getGuards(request, savedObjectsClient)
|
||||
.isFullLicense()
|
||||
.hasMlCapabilities(['canGetDatafeeds'])
|
||||
.ok(async ({ mlClient }) => {
|
||||
const { body } = await mlClient.getDatafeedStats<{
|
||||
count: number;
|
||||
datafeeds: DatafeedStats[];
|
||||
}>(datafeedId !== undefined ? { datafeed_id: datafeedId } : undefined);
|
||||
return body;
|
||||
});
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue