mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[SLO] Update user in audit trail for enable/disable slo (#218739)
## Summary Update user when an SLO is enabled or disabled.
This commit is contained in:
parent
25ffb0d1d9
commit
6e67bf46a4
4 changed files with 18 additions and 7 deletions
|
@ -19,15 +19,16 @@ export const disableSLORoute = createSloServerRoute({
|
|||
},
|
||||
},
|
||||
params: manageSLOParamsSchema,
|
||||
handler: async ({ response, request, params, logger, plugins, getScopedClients }) => {
|
||||
handler: async ({ context, response, request, params, logger, plugins, getScopedClients }) => {
|
||||
await assertPlatinumLicense(plugins);
|
||||
|
||||
const { repository, transformManager, summaryTransformManager } = await getScopedClients({
|
||||
request,
|
||||
logger,
|
||||
});
|
||||
|
||||
const manageSLO = new ManageSLO(repository, transformManager, summaryTransformManager);
|
||||
const core = await context.core;
|
||||
const userId = core.security.authc.getCurrentUser()?.username!;
|
||||
const manageSLO = new ManageSLO(repository, transformManager, summaryTransformManager, userId);
|
||||
await manageSLO.disable(params.path.id);
|
||||
|
||||
return response.noContent();
|
||||
|
|
|
@ -19,7 +19,7 @@ export const enableSLORoute = createSloServerRoute({
|
|||
},
|
||||
},
|
||||
params: manageSLOParamsSchema,
|
||||
handler: async ({ response, request, params, logger, plugins, getScopedClients }) => {
|
||||
handler: async ({ context, response, request, params, logger, plugins, getScopedClients }) => {
|
||||
await assertPlatinumLicense(plugins);
|
||||
|
||||
const { repository, transformManager, summaryTransformManager } = await getScopedClients({
|
||||
|
@ -27,7 +27,9 @@ export const enableSLORoute = createSloServerRoute({
|
|||
logger,
|
||||
});
|
||||
|
||||
const manageSLO = new ManageSLO(repository, transformManager, summaryTransformManager);
|
||||
const core = await context.core;
|
||||
const userId = core.security.authc.getCurrentUser()?.username!;
|
||||
const manageSLO = new ManageSLO(repository, transformManager, summaryTransformManager, userId);
|
||||
|
||||
await manageSLO.enable(params.path.id);
|
||||
|
||||
|
|
|
@ -26,7 +26,12 @@ describe('ManageSLO', () => {
|
|||
mockTransformManager = createTransformManagerMock();
|
||||
mockSummaryTransformManager = createSummaryTransformManagerMock();
|
||||
|
||||
manageSLO = new ManageSLO(mockRepository, mockTransformManager, mockSummaryTransformManager);
|
||||
manageSLO = new ManageSLO(
|
||||
mockRepository,
|
||||
mockTransformManager,
|
||||
mockSummaryTransformManager,
|
||||
'some-user-id'
|
||||
);
|
||||
});
|
||||
|
||||
describe('Enable', () => {
|
||||
|
|
|
@ -13,7 +13,8 @@ export class ManageSLO {
|
|||
constructor(
|
||||
private repository: SLORepository,
|
||||
private transformManager: TransformManager,
|
||||
private summaryTransformManager: TransformManager
|
||||
private summaryTransformManager: TransformManager,
|
||||
private userId: string
|
||||
) {}
|
||||
|
||||
async enable(sloId: string) {
|
||||
|
@ -25,6 +26,7 @@ export class ManageSLO {
|
|||
await this.summaryTransformManager.start(getSLOSummaryTransformId(slo.id, slo.revision));
|
||||
await this.transformManager.start(getSLOTransformId(slo.id, slo.revision));
|
||||
slo.enabled = true;
|
||||
slo.updatedBy = this.userId;
|
||||
slo.updatedAt = new Date();
|
||||
await this.repository.update(slo);
|
||||
}
|
||||
|
@ -38,6 +40,7 @@ export class ManageSLO {
|
|||
await this.summaryTransformManager.stop(getSLOSummaryTransformId(slo.id, slo.revision));
|
||||
await this.transformManager.stop(getSLOTransformId(slo.id, slo.revision));
|
||||
slo.enabled = false;
|
||||
slo.updatedBy = this.userId;
|
||||
slo.updatedAt = new Date();
|
||||
await this.repository.update(slo);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue