Skip to content

Commit 15b8aea

Browse files
authored
[ResponseOps][Reporting] Add hourly option to scheduled reporting - schema changes (#236668)
## Summary Resolves: #231424 Related PR: #234121 Schema intermediate changes for adding hourly option to scheduled reporting ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
1 parent 08be82c commit 15b8aea

File tree

12 files changed

+96
-11
lines changed

12 files changed

+96
-11
lines changed

src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ describe('checking migration metadata changes on all registered SO types', () =>
185185
"synthetics-private-location": "27aaa44f792f70b734905e44e3e9b56bbeac7b86",
186186
"synthetics-privates-locations": "36036b881524108c7327fe14bd224c6e4d972cb5",
187187
"tag": "87f21f07df9cc37001b15a26e413c18f50d1fbfe",
188-
"task": "689edead32ea09558ceb54f64fd9aa4d324d94d0",
188+
"task": "99cf72ee7aa2094a5c6072f3b5751d155ef102ee",
189189
"telemetry": "3b3b89cf411a2a2e60487cef6ccdbc5df691aeb9",
190190
"threshold-explorer-view": "5e2388a6835cec3c68c98b450cd267d66cce925f",
191191
"ui-metric": "410a8ad28e0f44b161c960ff0ce950c712b17c52",
@@ -1144,6 +1144,7 @@ describe('checking migration metadata changes on all registered SO types', () =>
11441144
"task|global: 8277e4031824bb161fa73897294701786c15eb9a",
11451145
"task|mappings: 131b7c0f6418540178fbb46ac6f5f21018c716cf",
11461146
"task|schemas: da39a3ee5e6b4b0d3255bfef95601890afd80709",
1147+
"task|10.7.0: 862db2dec024d5a259cd1414fd7d545634cf0401",
11471148
"task|10.6.0: 3e759553f2a6e8a7670fc736204b44f08486e058",
11481149
"task|10.5.0: 6c935f36864dc1bac9f6c06899ba87db2dfc8c42",
11491150
"task|10.4.0: ded00177bbb2185a7668ae522268e8d1d89d5dfb",
@@ -1365,7 +1366,7 @@ describe('checking migration metadata changes on all registered SO types', () =>
13651366
"synthetics-private-location": "10.0.0",
13661367
"synthetics-privates-locations": "10.1.0",
13671368
"tag": "10.0.0",
1368-
"task": "10.6.0",
1369+
"task": "10.7.0",
13691370
"telemetry": "10.0.0",
13701371
"threshold-explorer-view": "10.0.0",
13711372
"ui-metric": "10.0.0",
@@ -1512,7 +1513,7 @@ describe('checking migration metadata changes on all registered SO types', () =>
15121513
"synthetics-private-location": "0.0.0",
15131514
"synthetics-privates-locations": "10.1.0",
15141515
"tag": "0.0.0",
1515-
"task": "10.6.0",
1516+
"task": "10.7.0",
15161517
"telemetry": "0.0.0",
15171518
"threshold-explorer-view": "0.0.0",
15181519
"ui-metric": "0.0.0",

x-pack/platform/plugins/private/reporting/server/saved_objects/scheduled_report/model_versions.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
*/
77

88
import type { SavedObjectsModelVersionMap } from '@kbn/core-saved-objects-server';
9-
import { rawScheduledReportSchemaV1, rawScheduledReportSchemaV2 } from './schemas';
9+
import {
10+
rawScheduledReportSchemaV1,
11+
rawScheduledReportSchemaV2,
12+
rawScheduledReportSchemaV3,
13+
} from './schemas';
1014

1115
export const scheduledReportModelVersions: SavedObjectsModelVersionMap = {
1216
'1': {
@@ -23,4 +27,11 @@ export const scheduledReportModelVersions: SavedObjectsModelVersionMap = {
2327
create: rawScheduledReportSchemaV2,
2428
},
2529
},
30+
'3': {
31+
changes: [],
32+
schemas: {
33+
forwardCompatibility: rawScheduledReportSchemaV3.extends({}, { unknowns: 'ignore' }),
34+
create: rawScheduledReportSchemaV3,
35+
},
36+
},
2637
};

x-pack/platform/plugins/private/reporting/server/saved_objects/scheduled_report/schemas/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@
77

88
export { rawScheduledReportSchema as rawScheduledReportSchemaV1 } from './v1';
99
export { rawScheduledReportSchema as rawScheduledReportSchemaV2 } from './v2';
10+
export { rawScheduledReportSchema as rawScheduledReportSchemaV3 } from './v3';
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the Elastic License
4+
* 2.0; you may not use this file except in compliance with the Elastic License
5+
* 2.0.
6+
*/
7+
8+
import { scheduleRruleSchemaV3 } from '@kbn/task-manager-plugin/server';
9+
import { rawScheduledReportSchema as rawScheduledReportSchemaV2 } from './v2';
10+
export * from './v2';
11+
12+
export const rawScheduledReportSchema = rawScheduledReportSchemaV2.extends({
13+
schedule: scheduleRruleSchemaV3,
14+
});

x-pack/platform/plugins/shared/encrypted_saved_objects/integration_tests/ci_checks/check_registered_types.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ describe('checking changes on all registered encrypted SO types', () => {
135135
"ingest-outputs|1",
136136
"synthetics-monitor|2",
137137
"synthetics-monitor|1",
138+
"task|7",
138139
"task|6",
139140
"task|5",
140141
"task|4",

x-pack/platform/plugins/shared/task_manager/server/index.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,11 @@ export type {
2424
} from './task';
2525

2626
export { Frequency, Weekday } from '@kbn/rrule';
27-
export { scheduleRruleSchemaV1, scheduleRruleSchemaV2 } from './saved_objects';
27+
export {
28+
scheduleRruleSchemaV1,
29+
scheduleRruleSchemaV2,
30+
scheduleRruleSchemaV3,
31+
} from './saved_objects';
2832

2933
export type { RruleSchedule } from './task';
3034
export { TaskStatus, TaskPriority, TaskCost } from './task';

x-pack/platform/plugins/shared/task_manager/server/saved_objects/index.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,11 @@ import { getOldestIdleActionTask } from '../queries/oldest_idle_action_task';
1414
import { TASK_MANAGER_INDEX } from '../constants';
1515
import { backgroundTaskNodeModelVersions, taskModelVersions } from './model_versions';
1616

17-
export { scheduleRruleSchemaV1, scheduleRruleSchemaV2 } from './schemas/rrule';
17+
export {
18+
scheduleRruleSchemaV1,
19+
scheduleRruleSchemaV2,
20+
scheduleRruleSchemaV3,
21+
} from './schemas/rrule';
1822

1923
export const TASK_SO_NAME = 'task';
2024
export const BACKGROUND_TASK_NODE_SO_NAME = 'background-task-node';

x-pack/platform/plugins/shared/task_manager/server/saved_objects/model_versions/task_model_versions.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
taskSchemaV4,
1414
taskSchemaV5,
1515
taskSchemaV6,
16+
taskSchemaV7,
1617
} from '../schemas/task';
1718

1819
// IMPORTANT!!!
@@ -92,4 +93,11 @@ export const taskModelVersions: SavedObjectsModelVersionMap = {
9293
create: taskSchemaV6,
9394
},
9495
},
96+
'7': {
97+
changes: [],
98+
schemas: {
99+
forwardCompatibility: taskSchemaV7.extends({}, { unknowns: 'ignore' }),
100+
create: taskSchemaV7,
101+
},
102+
},
95103
};

x-pack/platform/plugins/shared/task_manager/server/saved_objects/schemas/rrule/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,7 @@ export {
1313
rruleSchedule as rruleScheduleV2,
1414
scheduleRruleSchema as scheduleRruleSchemaV2,
1515
} from './v2';
16+
export {
17+
rruleSchedule as rruleScheduleV3,
18+
scheduleRruleSchema as scheduleRruleSchemaV3,
19+
} from './v3';

x-pack/platform/plugins/shared/task_manager/server/saved_objects/schemas/rrule/v2.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,27 @@ const validateStartDate = (date: string) => {
1515
return;
1616
};
1717

18-
const rruleCommon = rruleCommonV1.extends({
18+
export const rruleCommon = rruleCommonV1.extends({
1919
dtstart: schema.maybe(schema.string({ validate: validateStartDate })),
2020
});
2121

22-
const rruleMonthly = rruleCommon.extends({
22+
export const rruleMonthly = rruleCommon.extends({
2323
freq: schema.literal(Frequency.MONTHLY),
2424
byhour,
2525
byminute,
2626
byweekday,
2727
bymonthday,
2828
});
2929

30-
const rruleWeekly = rruleCommon.extends({
30+
export const rruleWeekly = rruleCommon.extends({
3131
freq: schema.literal(Frequency.WEEKLY),
3232
byhour,
3333
byminute,
3434
byweekday,
3535
bymonthday: schema.never(),
3636
});
3737

38-
const rruleDaily = rruleCommon.extends({
38+
export const rruleDaily = rruleCommon.extends({
3939
freq: schema.literal(Frequency.DAILY),
4040
byhour,
4141
byminute,

0 commit comments

Comments
 (0)