Skip to content

Commit 60e66d0

Browse files
[8.19] [SLO] Update user in audit trail for enable/disable slo (elastic#218739) (elastic#219399)
# Backport This will backport the following commits from `main` to `8.19`: - [[SLO] Update user in audit trail for enable/disable slo (elastic#218739)](elastic#218739) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Bailey Cash","email":"[email protected]"},"sourceCommit":{"committedDate":"2025-04-22T21:41:25Z","message":"[SLO] Update user in audit trail for enable/disable slo (elastic#218739)\n\n## Summary\n\nUpdate user when an SLO is enabled or disabled.","sha":"6e67bf46a488caeed4be44e872783c82fd42b9ed","branchLabelMapping":{"^v9.1.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport missing","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0"],"title":"[SLO] Update user in audit trail for enable/disable slo","number":218739,"url":"https://github.com/elastic/kibana/pull/218739","mergeCommit":{"message":"[SLO] Update user in audit trail for enable/disable slo (elastic#218739)\n\n## Summary\n\nUpdate user when an SLO is enabled or disabled.","sha":"6e67bf46a488caeed4be44e872783c82fd42b9ed"}},"sourceBranch":"main","suggestedTargetBranches":["8.19"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218739","number":218739,"mergeCommit":{"message":"[SLO] Update user in audit trail for enable/disable slo (elastic#218739)\n\n## Summary\n\nUpdate user when an SLO is enabled or disabled.","sha":"6e67bf46a488caeed4be44e872783c82fd42b9ed"}},{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT-->
1 parent cb6aaf3 commit 60e66d0

File tree

4 files changed

+18
-7
lines changed

4 files changed

+18
-7
lines changed

x-pack/solutions/observability/plugins/slo/server/routes/slo/disable_slo.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,16 @@ export const disableSLORoute = createSloServerRoute({
1919
},
2020
},
2121
params: manageSLOParamsSchema,
22-
handler: async ({ response, request, params, logger, plugins, getScopedClients }) => {
22+
handler: async ({ context, response, request, params, logger, plugins, getScopedClients }) => {
2323
await assertPlatinumLicense(plugins);
2424

2525
const { repository, transformManager, summaryTransformManager } = await getScopedClients({
2626
request,
2727
logger,
2828
});
29-
30-
const manageSLO = new ManageSLO(repository, transformManager, summaryTransformManager);
29+
const core = await context.core;
30+
const userId = core.security.authc.getCurrentUser()?.username!;
31+
const manageSLO = new ManageSLO(repository, transformManager, summaryTransformManager, userId);
3132
await manageSLO.disable(params.path.id);
3233

3334
return response.noContent();

x-pack/solutions/observability/plugins/slo/server/routes/slo/enable_slo.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,17 @@ export const enableSLORoute = createSloServerRoute({
1919
},
2020
},
2121
params: manageSLOParamsSchema,
22-
handler: async ({ response, request, params, logger, plugins, getScopedClients }) => {
22+
handler: async ({ context, response, request, params, logger, plugins, getScopedClients }) => {
2323
await assertPlatinumLicense(plugins);
2424

2525
const { repository, transformManager, summaryTransformManager } = await getScopedClients({
2626
request,
2727
logger,
2828
});
2929

30-
const manageSLO = new ManageSLO(repository, transformManager, summaryTransformManager);
30+
const core = await context.core;
31+
const userId = core.security.authc.getCurrentUser()?.username!;
32+
const manageSLO = new ManageSLO(repository, transformManager, summaryTransformManager, userId);
3133

3234
await manageSLO.enable(params.path.id);
3335

x-pack/solutions/observability/plugins/slo/server/services/manage_slo.test.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@ describe('ManageSLO', () => {
2626
mockTransformManager = createTransformManagerMock();
2727
mockSummaryTransformManager = createSummaryTransformManagerMock();
2828

29-
manageSLO = new ManageSLO(mockRepository, mockTransformManager, mockSummaryTransformManager);
29+
manageSLO = new ManageSLO(
30+
mockRepository,
31+
mockTransformManager,
32+
mockSummaryTransformManager,
33+
'some-user-id'
34+
);
3035
});
3136

3237
describe('Enable', () => {

x-pack/solutions/observability/plugins/slo/server/services/manage_slo.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ export class ManageSLO {
1313
constructor(
1414
private repository: SLORepository,
1515
private transformManager: TransformManager,
16-
private summaryTransformManager: TransformManager
16+
private summaryTransformManager: TransformManager,
17+
private userId: string
1718
) {}
1819

1920
async enable(sloId: string) {
@@ -25,6 +26,7 @@ export class ManageSLO {
2526
await this.summaryTransformManager.start(getSLOSummaryTransformId(slo.id, slo.revision));
2627
await this.transformManager.start(getSLOTransformId(slo.id, slo.revision));
2728
slo.enabled = true;
29+
slo.updatedBy = this.userId;
2830
slo.updatedAt = new Date();
2931
await this.repository.update(slo);
3032
}
@@ -38,6 +40,7 @@ export class ManageSLO {
3840
await this.summaryTransformManager.stop(getSLOSummaryTransformId(slo.id, slo.revision));
3941
await this.transformManager.stop(getSLOTransformId(slo.id, slo.revision));
4042
slo.enabled = false;
43+
slo.updatedBy = this.userId;
4144
slo.updatedAt = new Date();
4245
await this.repository.update(slo);
4346
}

0 commit comments

Comments
 (0)