mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
Fixed ci type check errors for alerting and actions properties for SIEM RouteHandlerContext (#59400) (#59442)
* Fixed ci type check errors for alerting and actions optional properties on RouteHandlerContext
* Reverted git revert b83f81458c
This commit is contained in:
parent
3538d5ac92
commit
ee29a5d339
54 changed files with 144 additions and 29 deletions
|
@ -63,7 +63,7 @@ describe('add_prepackaged_rules_route', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const request = addPrepackagedRulesRequest();
|
||||
const response = await server.inject(request, context);
|
||||
|
||||
|
|
|
@ -33,6 +33,9 @@ export const addPrepackedRulesRoute = (router: IRouter) => {
|
|||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
try {
|
||||
if (!context.alerting || !context.actions) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const clusterClient = context.core.elasticsearch.dataClient;
|
||||
|
|
|
@ -39,7 +39,7 @@ describe('create_rules_bulk', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(getReadBulkRequest(), context);
|
||||
expect(response.status).toEqual(404);
|
||||
expect(response.body).toEqual({ message: 'Not Found', status_code: 404 });
|
||||
|
|
|
@ -35,11 +35,14 @@ export const createRulesBulkRoute = (router: IRouter) => {
|
|||
},
|
||||
},
|
||||
async (context, request, response) => {
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
if (!context.alerting || !context.actions) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const clusterClient = context.core.elasticsearch.dataClient;
|
||||
const siemClient = context.siem.getSiemClient();
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
if (!actionsClient || !alertsClient) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
|
|
|
@ -41,7 +41,7 @@ describe('create_rules', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(getCreateRequest(), context);
|
||||
expect(response.status).toEqual(404);
|
||||
expect(response.body).toEqual({ message: 'Not Found', status_code: 404 });
|
||||
|
|
|
@ -59,6 +59,9 @@ export const createRulesRoute = (router: IRouter): void => {
|
|||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
try {
|
||||
if (!context.alerting || !context.actions) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const clusterClient = context.core.elasticsearch.dataClient;
|
||||
|
|
|
@ -82,7 +82,7 @@ describe('delete_rules', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(getDeleteBulkRequest(), context);
|
||||
expect(response.status).toEqual(404);
|
||||
expect(response.body).toEqual({ message: 'Not Found', status_code: 404 });
|
||||
|
|
|
@ -32,10 +32,14 @@ export const deleteRulesBulkRoute = (router: IRouter) => {
|
|||
},
|
||||
};
|
||||
const handler: Handler = async (context, request, response) => {
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
if (!context.alerting || !context.actions) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const savedObjectsClient = context.core.savedObjects.client;
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
if (!actionsClient || !alertsClient) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
|
|
|
@ -56,7 +56,7 @@ describe('delete_rules', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(getDeleteRequest(), context);
|
||||
|
||||
expect(response.status).toEqual(404);
|
||||
|
|
|
@ -33,6 +33,9 @@ export const deleteRulesRoute = (router: IRouter) => {
|
|||
|
||||
try {
|
||||
const { id, rule_id: ruleId } = request.query;
|
||||
if (!context.alerting || !context.actions) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
|
|
|
@ -27,8 +27,11 @@ export const exportRulesRoute = (router: IRouter, config: LegacyServices['config
|
|||
},
|
||||
},
|
||||
async (context, request, response) => {
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
if (!context.alerting) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
|
||||
if (!alertsClient) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
|
|
|
@ -36,7 +36,7 @@ describe('find_rules', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(getFindRequest(), context);
|
||||
expect(response.status).toEqual(404);
|
||||
expect(response.body).toEqual({ message: 'Not Found', status_code: 404 });
|
||||
|
|
|
@ -32,6 +32,9 @@ export const findRulesRoute = (router: IRouter) => {
|
|||
|
||||
try {
|
||||
const { query } = request;
|
||||
if (!context.alerting) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const savedObjectsClient = context.core.savedObjects.client;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ describe('find_statuses', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(ruleStatusRequest(), context);
|
||||
expect(response.status).toEqual(404);
|
||||
expect(response.body).toEqual({ message: 'Not Found', status_code: 404 });
|
||||
|
|
|
@ -34,9 +34,12 @@ export const findRulesStatusesRoute = (router: IRouter) => {
|
|||
},
|
||||
async (context, request, response) => {
|
||||
const { query } = request;
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
if (!context.alerting) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const savedObjectsClient = context.core.savedObjects.client;
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
if (!alertsClient) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
|
|
|
@ -58,7 +58,7 @@ describe('get_prepackaged_rule_status_route', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(getPrepackagedRulesStatusRequest(), context);
|
||||
expect(response.status).toEqual(404);
|
||||
expect(response.body).toEqual({ message: 'Not Found', status_code: 404 });
|
||||
|
|
|
@ -28,8 +28,11 @@ export const getPrepackagedRulesStatusRoute = (router: IRouter) => {
|
|||
},
|
||||
},
|
||||
async (context, request, response) => {
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
if (!context.alerting) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
|
||||
if (!alertsClient) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
|
|
|
@ -78,14 +78,14 @@ describe('import_rules_route', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(request, context);
|
||||
expect(response.status).toEqual(404);
|
||||
expect(response.body).toEqual({ message: 'Not Found', status_code: 404 });
|
||||
});
|
||||
|
||||
test('returns 404 if actionsClient is not available on the route', async () => {
|
||||
context.actions.getActionsClient = jest.fn();
|
||||
context.actions!.getActionsClient = jest.fn();
|
||||
const response = await server.inject(request, context);
|
||||
expect(response.status).toEqual(404);
|
||||
expect(response.body).toEqual({ message: 'Not Found', status_code: 404 });
|
||||
|
|
|
@ -54,12 +54,16 @@ export const importRulesRoute = (router: IRouter, config: LegacyServices['config
|
|||
},
|
||||
},
|
||||
async (context, request, response) => {
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
if (!context.alerting || !context.actions) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const clusterClient = context.core.elasticsearch.dataClient;
|
||||
const savedObjectsClient = context.core.savedObjects.client;
|
||||
const siemClient = context.siem.getSiemClient();
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
if (!actionsClient || !alertsClient) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
|
|
|
@ -48,7 +48,7 @@ describe('patch_rules_bulk', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(getPatchBulkRequest(), context);
|
||||
expect(response.status).toEqual(404);
|
||||
expect(response.body).toEqual({ message: 'Not Found', status_code: 404 });
|
||||
|
|
|
@ -30,10 +30,14 @@ export const patchRulesBulkRoute = (router: IRouter) => {
|
|||
},
|
||||
},
|
||||
async (context, request, response) => {
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
if (!context.alerting || !context.actions) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const savedObjectsClient = context.core.savedObjects.client;
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
if (!actionsClient || !alertsClient) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
|
|
|
@ -49,7 +49,7 @@ describe('patch_rules', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(getPatchRequest(), context);
|
||||
expect(response.status).toEqual(404);
|
||||
expect(response.body).toEqual({ message: 'Not Found', status_code: 404 });
|
||||
|
|
|
@ -60,6 +60,10 @@ export const patchRulesRoute = (router: IRouter) => {
|
|||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
try {
|
||||
if (!context.alerting || !context.actions) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const savedObjectsClient = context.core.savedObjects.client;
|
||||
|
|
|
@ -36,7 +36,7 @@ describe('read_signals', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(getReadRequest(), context);
|
||||
expect(response.status).toEqual(404);
|
||||
expect(response.body).toEqual({ message: 'Not Found', status_code: 404 });
|
||||
|
|
|
@ -30,9 +30,13 @@ export const readRulesRoute = (router: IRouter) => {
|
|||
},
|
||||
async (context, request, response) => {
|
||||
const { id, rule_id: ruleId } = request.query;
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
if (!context.alerting) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const savedObjectsClient = context.core.savedObjects.client;
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
try {
|
||||
if (!alertsClient) {
|
||||
|
|
|
@ -53,7 +53,7 @@ describe('update_rules_bulk', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(getUpdateBulkRequest(), context);
|
||||
expect(response.status).toEqual(404);
|
||||
expect(response.body).toEqual({ message: 'Not Found', status_code: 404 });
|
||||
|
|
|
@ -30,11 +30,15 @@ export const updateRulesBulkRoute = (router: IRouter) => {
|
|||
},
|
||||
},
|
||||
async (context, request, response) => {
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
if (!context.alerting || !context.actions) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const savedObjectsClient = context.core.savedObjects.client;
|
||||
const siemClient = context.siem.getSiemClient();
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
if (!actionsClient || !alertsClient) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
|
|
|
@ -50,7 +50,7 @@ describe('update_rules', () => {
|
|||
});
|
||||
|
||||
test('returns 404 if alertClient is not available on the route', async () => {
|
||||
context.alerting.getAlertsClient = jest.fn();
|
||||
context.alerting!.getAlertsClient = jest.fn();
|
||||
const response = await server.inject(getUpdateRequest(), context);
|
||||
|
||||
expect(response.status).toEqual(404);
|
||||
|
|
|
@ -60,6 +60,9 @@ export const updateRulesRoute = (router: IRouter) => {
|
|||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
try {
|
||||
if (!context.alerting || !context.actions) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const savedObjectsClient = context.core.savedObjects.client;
|
||||
|
|
|
@ -19,9 +19,13 @@ export const readTagsRoute = (router: IRouter) => {
|
|||
},
|
||||
},
|
||||
async (context, request, response) => {
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const siemResponse = buildSiemResponse(response);
|
||||
|
||||
if (!context.alerting) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
|
||||
if (!alertsClient) {
|
||||
return siemResponse.error({ statusCode: 404 });
|
||||
}
|
||||
|
|
|
@ -41,6 +41,9 @@ export const createActionRoute = (router: IRouter, licenseState: LicenseState) =
|
|||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
|
||||
if (!context.actions) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for actions' });
|
||||
}
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const action = req.body;
|
||||
const actionRes: ActionResult = await actionsClient.create({ action });
|
||||
|
|
|
@ -41,6 +41,9 @@ export const deleteActionRoute = (router: IRouter, licenseState: LicenseState) =
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.actions) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for actions' });
|
||||
}
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const { id } = req.params;
|
||||
await actionsClient.delete({ id });
|
||||
|
|
|
@ -57,6 +57,9 @@ export const findActionRoute = (router: IRouter, licenseState: LicenseState) =>
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.actions) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for actions' });
|
||||
}
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const query = req.query;
|
||||
const options: FindOptions['options'] = {
|
||||
|
|
|
@ -36,6 +36,9 @@ export const getActionRoute = (router: IRouter, licenseState: LicenseState) => {
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.actions) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for actions' });
|
||||
}
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const { id } = req.params;
|
||||
return res.ok({
|
||||
|
|
|
@ -58,7 +58,7 @@ describe('listActionTypesRoute', () => {
|
|||
}
|
||||
`);
|
||||
|
||||
expect(context.actions.listTypes).toHaveBeenCalledTimes(1);
|
||||
expect(context.actions!.listTypes).toHaveBeenCalledTimes(1);
|
||||
|
||||
expect(res.ok).toHaveBeenCalledWith({
|
||||
body: listTypes,
|
||||
|
|
|
@ -29,6 +29,9 @@ export const listActionTypesRoute = (router: IRouter, licenseState: LicenseState
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.actions) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for actions' });
|
||||
}
|
||||
return res.ok({
|
||||
body: context.actions.listTypes(),
|
||||
});
|
||||
|
|
|
@ -43,6 +43,9 @@ export const updateActionRoute = (router: IRouter, licenseState: LicenseState) =
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.actions) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for actions' });
|
||||
}
|
||||
const actionsClient = context.actions.getActionsClient();
|
||||
const { id } = req.params;
|
||||
const { name, config, secrets } = req.body;
|
||||
|
|
|
@ -22,7 +22,7 @@ export interface Services {
|
|||
|
||||
declare module 'src/core/server' {
|
||||
interface RequestHandlerContext {
|
||||
actions: {
|
||||
actions?: {
|
||||
getActionsClient: () => ActionsClient;
|
||||
listTypes: ActionTypeRegistry['list'];
|
||||
};
|
||||
|
|
|
@ -57,6 +57,9 @@ export const createAlertRoute = (router: IRouter, licenseState: LicenseState) =>
|
|||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const alert = req.body;
|
||||
const alertRes: Alert = await alertsClient.create({ data: alert });
|
||||
|
|
|
@ -36,6 +36,9 @@ export const deleteAlertRoute = (router: IRouter, licenseState: LicenseState) =>
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const { id } = req.params;
|
||||
await alertsClient.delete({ id });
|
||||
|
|
|
@ -36,6 +36,9 @@ export const disableAlertRoute = (router: IRouter, licenseState: LicenseState) =
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const { id } = req.params;
|
||||
await alertsClient.disable({ id });
|
||||
|
|
|
@ -36,6 +36,9 @@ export const enableAlertRoute = (router: IRouter, licenseState: LicenseState) =>
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const { id } = req.params;
|
||||
await alertsClient.enable({ id });
|
||||
|
|
|
@ -57,6 +57,9 @@ export const findAlertRoute = (router: IRouter, licenseState: LicenseState) => {
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const query = req.query;
|
||||
const options: FindOptions['options'] = {
|
||||
|
|
|
@ -36,6 +36,9 @@ export const getAlertRoute = (router: IRouter, licenseState: LicenseState) => {
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const { id } = req.params;
|
||||
return res.ok({
|
||||
|
|
|
@ -36,6 +36,9 @@ export const getAlertStateRoute = (router: IRouter, licenseState: LicenseState)
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const { id } = req.params;
|
||||
const state = await alertsClient.getAlertState({ id });
|
||||
|
|
|
@ -70,7 +70,7 @@ describe('listAlertTypesRoute', () => {
|
|||
}
|
||||
`);
|
||||
|
||||
expect(context.alerting.listTypes).toHaveBeenCalledTimes(1);
|
||||
expect(context.alerting!.listTypes).toHaveBeenCalledTimes(1);
|
||||
|
||||
expect(res.ok).toHaveBeenCalledWith({
|
||||
body: listTypes,
|
||||
|
|
|
@ -29,6 +29,9 @@ export const listAlertTypesRoute = (router: IRouter, licenseState: LicenseState)
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
return res.ok({
|
||||
body: context.alerting.listTypes(),
|
||||
});
|
||||
|
|
|
@ -36,6 +36,9 @@ export const muteAllAlertRoute = (router: IRouter, licenseState: LicenseState) =
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const { id } = req.params;
|
||||
await alertsClient.muteAll({ id });
|
||||
|
|
|
@ -37,6 +37,9 @@ export const muteAlertInstanceRoute = (router: IRouter, licenseState: LicenseSta
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const { alertId, alertInstanceId } = req.params;
|
||||
await alertsClient.muteInstance({ alertId, alertInstanceId });
|
||||
|
|
|
@ -36,6 +36,9 @@ export const unmuteAllAlertRoute = (router: IRouter, licenseState: LicenseState)
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const { id } = req.params;
|
||||
await alertsClient.unmuteAll({ id });
|
||||
|
|
|
@ -37,6 +37,9 @@ export const unmuteAlertInstanceRoute = (router: IRouter, licenseState: LicenseS
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const { alertId, alertInstanceId } = req.params;
|
||||
await alertsClient.unmuteInstance({ alertId, alertInstanceId });
|
||||
|
|
|
@ -57,6 +57,9 @@ export const updateAlertRoute = (router: IRouter, licenseState: LicenseState) =>
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const { id } = req.params;
|
||||
const { name, actions, params, schedule, tags } = req.body;
|
||||
|
|
|
@ -36,6 +36,9 @@ export const updateApiKeyRoute = (router: IRouter, licenseState: LicenseState) =
|
|||
res: KibanaResponseFactory
|
||||
): Promise<IKibanaResponse<any>> {
|
||||
verifyApiAccess(licenseState);
|
||||
if (!context.alerting) {
|
||||
return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' });
|
||||
}
|
||||
const alertsClient = context.alerting.getAlertsClient();
|
||||
const { id } = req.params;
|
||||
await alertsClient.updateApiKey({ id });
|
||||
|
|
|
@ -21,7 +21,7 @@ export type SpaceIdToNamespaceFunction = (spaceId?: string) => string | undefine
|
|||
|
||||
declare module 'src/core/server' {
|
||||
interface RequestHandlerContext {
|
||||
alerting: {
|
||||
alerting?: {
|
||||
getAlertsClient: () => AlertsClient;
|
||||
listTypes: AlertTypeRegistry['list'];
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue