Skip to content

Commit 347948e

Browse files
author
Maja Grubic
committed
Fixing merge conflict
2 parents 83d6808 + d1a99ea commit 347948e

73 files changed

Lines changed: 2402 additions & 1397 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@
105105
"dependencies": {
106106
"@babel/core": "^7.5.5",
107107
"@babel/register": "^7.5.5",
108-
"@elastic/charts": "^12.0.2",
108+
"@elastic/charts": "^12.1.0",
109109
"@elastic/datemath": "5.0.2",
110110
"@elastic/eui": "14.4.0",
111111
"@elastic/filesaver": "1.1.2",

src/legacy/server/kbn_server.d.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ import { CallClusterWithRequest, ElasticsearchPlugin } from '../core_plugins/ela
3939
import { CapabilitiesModifier } from './capabilities';
4040
import { IndexPatternsServiceFactory } from './index_patterns';
4141
import { Capabilities } from '../../core/public';
42+
import { IUiSettingsClient } from '../../legacy/ui/ui_settings/ui_settings_service';
43+
import { UiSettingsServiceFactoryOptions } from '../../legacy/ui/ui_settings/ui_settings_service_factory';
4244

4345
export interface KibanaConfig {
4446
get<T>(key: string): T;
@@ -77,14 +79,15 @@ declare module 'hapi' {
7779
name: string,
7880
factoryFn: (request: Request) => Record<string, any>
7981
) => void;
80-
uiSettingsServiceFactory: (options: any) => any;
82+
uiSettingsServiceFactory: (options?: UiSettingsServiceFactoryOptions) => IUiSettingsClient;
83+
logWithMetadata: (tags: string[], message: string, meta: Record<string, any>) => void;
8184
}
8285

8386
interface Request {
8487
getSavedObjectsClient(options?: SavedObjectsClientProviderOptions): SavedObjectsClientContract;
8588
getBasePath(): string;
8689
getDefaultRoute(): Promise<string>;
87-
getUiSettingsService(): any;
90+
getUiSettingsService(): IUiSettingsClient;
8891
getCapabilities(): Promise<Capabilities>;
8992
}
9093

src/legacy/ui/ui_settings/create_objects_client_stub.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ export interface SavedObjectsClientStub {
2626
update: sinon.SinonStub<any[], any>;
2727
get: sinon.SinonStub<any[], any>;
2828
create: sinon.SinonStub<any[], any>;
29+
bulkCreate: sinon.SinonStub<any[], any>;
30+
bulkGet: sinon.SinonStub<any[], any>;
31+
delete: sinon.SinonStub<any[], any>;
32+
find: sinon.SinonStub<any[], any>;
2933
errors: typeof savedObjectsClientErrors;
3034
}
3135

@@ -35,6 +39,10 @@ export function createObjectsClientStub(esDocSource = {}): SavedObjectsClientStu
3539
get: sinon.stub().returns({ attributes: esDocSource }),
3640
create: sinon.stub(),
3741
errors: savedObjectsClientErrors,
42+
bulkCreate: sinon.stub(),
43+
bulkGet: sinon.stub(),
44+
delete: sinon.stub(),
45+
find: sinon.stub(),
3846
};
3947
return savedObjectsClient;
4048
}

src/legacy/ui/ui_settings/create_or_upgrade_saved_config/create_or_upgrade_saved_config.test.ts

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ import sinon from 'sinon';
2121
import expect from '@kbn/expect';
2222
import Chance from 'chance';
2323

24-
// @ts-ignore
2524
import * as getUpgradeableConfigNS from './get_upgradeable_config';
26-
// @ts-ignore
2725
import { createOrUpgradeSavedConfig } from './create_or_upgrade_saved_config';
2826

2927
const chance = new Chance();
@@ -45,7 +43,7 @@ describe('uiSettings/createOrUpgradeSavedConfig', function() {
4543
id: options.id,
4644
version: 'foo',
4745
})),
48-
};
46+
} as any; // mute until we have savedObjects mocks
4947

5048
async function run(options = {}) {
5149
const resp = await createOrUpgradeSavedConfig({
@@ -103,7 +101,12 @@ describe('uiSettings/createOrUpgradeSavedConfig', function() {
103101
[chance.word()]: chance.sentence(),
104102
};
105103

106-
getUpgradeableConfig.returns({ id: prevVersion, attributes: savedAttributes });
104+
getUpgradeableConfig.resolves({
105+
id: prevVersion,
106+
attributes: savedAttributes,
107+
type: '',
108+
references: [],
109+
});
107110

108111
await run();
109112

@@ -125,7 +128,12 @@ describe('uiSettings/createOrUpgradeSavedConfig', function() {
125128
it('should log a message for upgrades', async () => {
126129
const { getUpgradeableConfig, logWithMetadata, run } = setup();
127130

128-
getUpgradeableConfig.returns({ id: prevVersion, attributes: { buildNum: buildNum - 100 } });
131+
getUpgradeableConfig.resolves({
132+
id: prevVersion,
133+
attributes: { buildNum: buildNum - 100 },
134+
type: '',
135+
references: [],
136+
});
129137

130138
await run();
131139
sinon.assert.calledOnce(logWithMetadata);
@@ -143,7 +151,12 @@ describe('uiSettings/createOrUpgradeSavedConfig', function() {
143151
it('does not log when upgrade fails', async () => {
144152
const { getUpgradeableConfig, logWithMetadata, run, savedObjectsClient } = setup();
145153

146-
getUpgradeableConfig.returns({ id: prevVersion, attributes: { buildNum: buildNum - 100 } });
154+
getUpgradeableConfig.resolves({
155+
id: prevVersion,
156+
attributes: { buildNum: buildNum - 100 },
157+
type: '',
158+
references: [],
159+
});
147160

148161
savedObjectsClient.create.callsFake(async () => {
149162
throw new Error('foo');

src/legacy/ui/ui_settings/create_or_upgrade_saved_config/create_or_upgrade_saved_config.js renamed to src/legacy/ui/ui_settings/create_or_upgrade_saved_config/create_or_upgrade_saved_config.ts

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,37 +18,38 @@
1818
*/
1919

2020
import { defaults } from 'lodash';
21+
import { SavedObjectsClientContract, SavedObjectAttribute } from 'src/core/server';
22+
import { Legacy } from 'kibana';
2123

2224
import { getUpgradeableConfig } from './get_upgradeable_config';
2325

24-
export async function createOrUpgradeSavedConfig(options) {
25-
const {
26-
savedObjectsClient,
27-
version,
28-
buildNum,
29-
logWithMetadata,
30-
onWriteError,
31-
} = options;
26+
interface Options {
27+
savedObjectsClient: SavedObjectsClientContract;
28+
version: string;
29+
buildNum: number;
30+
logWithMetadata: Legacy.Server['logWithMetadata'];
31+
onWriteError?: <T extends SavedObjectAttribute = any>(
32+
error: Error,
33+
attributes: Record<string, any>
34+
) => Record<string, T> | undefined;
35+
}
36+
export async function createOrUpgradeSavedConfig<T extends SavedObjectAttribute = any>(
37+
options: Options
38+
): Promise<Record<string, T> | undefined> {
39+
const { savedObjectsClient, version, buildNum, logWithMetadata, onWriteError } = options;
3240

3341
// try to find an older config we can upgrade
3442
const upgradeableConfig = await getUpgradeableConfig({
3543
savedObjectsClient,
36-
version
44+
version,
3745
});
3846

3947
// default to the attributes of the upgradeableConfig if available
40-
const attributes = defaults(
41-
{ buildNum },
42-
upgradeableConfig ? upgradeableConfig.attributes : {}
43-
);
48+
const attributes = defaults({ buildNum }, upgradeableConfig ? upgradeableConfig.attributes : {});
4449

4550
try {
4651
// create the new SavedConfig
47-
await savedObjectsClient.create(
48-
'config',
49-
attributes,
50-
{ id: version }
51-
);
52+
await savedObjectsClient.create('config', attributes, { id: version });
5253
} catch (error) {
5354
if (onWriteError) {
5455
return onWriteError(error, attributes);
@@ -58,9 +59,13 @@ export async function createOrUpgradeSavedConfig(options) {
5859
}
5960

6061
if (upgradeableConfig) {
61-
logWithMetadata(['plugin', 'elasticsearch'], `Upgrade config from ${upgradeableConfig.id} to ${version}`, {
62-
prevVersion: upgradeableConfig.id,
63-
newVersion: version
64-
});
62+
logWithMetadata(
63+
['plugin', 'elasticsearch'],
64+
`Upgrade config from ${upgradeableConfig.id} to ${version}`,
65+
{
66+
prevVersion: upgradeableConfig.id,
67+
newVersion: version,
68+
}
69+
);
6570
}
6671
}

src/legacy/ui/ui_settings/create_or_upgrade_saved_config/get_upgradeable_config.js renamed to src/legacy/ui/ui_settings/create_or_upgrade_saved_config/get_upgradeable_config.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* specific language governing permissions and limitations
1717
* under the License.
1818
*/
19-
19+
import { SavedObjectsClientContract } from 'src/core/server';
2020
import { isConfigVersionUpgradeable } from './is_config_version_upgradeable';
2121

2222
/**
@@ -26,18 +26,22 @@ import { isConfigVersionUpgradeable } from './is_config_version_upgradeable';
2626
* @property {string} version
2727
* @return {Promise<SavedConfig|undefined>}
2828
*/
29-
export async function getUpgradeableConfig({ savedObjectsClient, version }) {
29+
export async function getUpgradeableConfig({
30+
savedObjectsClient,
31+
version,
32+
}: {
33+
savedObjectsClient: SavedObjectsClientContract;
34+
version: string;
35+
}) {
3036
// attempt to find a config we can upgrade
3137
const { saved_objects: savedConfigs } = await savedObjectsClient.find({
3238
type: 'config',
3339
page: 1,
3440
perPage: 1000,
3541
sortField: 'buildNum',
36-
sortOrder: 'desc'
42+
sortOrder: 'desc',
3743
});
3844

3945
// try to find a config that we can upgrade
40-
return savedConfigs.find(savedConfig => (
41-
isConfigVersionUpgradeable(savedConfig.id, version)
42-
));
46+
return savedConfigs.find(savedConfig => isConfigVersionUpgradeable(savedConfig.id, version));
4347
}

src/legacy/ui/ui_settings/create_or_upgrade_saved_config/index.js renamed to src/legacy/ui/ui_settings/create_or_upgrade_saved_config/index.ts

File renamed without changes.

src/legacy/ui/ui_settings/create_or_upgrade_saved_config/integration_tests/create_or_upgrade.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import { SavedObjectsClientContract } from 'src/core/server';
2424

2525
import KbnServer from '../../../../server/kbn_server';
2626
import { createTestServers } from '../../../../../test_utils/kbn_server';
27-
// @ts-ignore
2827
import { createOrUpgradeSavedConfig } from '../create_or_upgrade_saved_config';
2928

3029
describe('createOrUpgradeSavedConfig()', () => {

src/legacy/ui/ui_settings/create_or_upgrade_saved_config/is_config_version_upgradeable.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import expect from '@kbn/expect';
2121

22-
// @ts-ignore
2322
import { isConfigVersionUpgradeable } from './is_config_version_upgradeable';
2423
// @ts-ignore
2524
import { pkg } from '../../../utils';

src/legacy/ui/ui_settings/create_or_upgrade_saved_config/is_config_version_upgradeable.js renamed to src/legacy/ui/ui_settings/create_or_upgrade_saved_config/is_config_version_upgradeable.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,12 @@
2020
import semver from 'semver';
2121
const rcVersionRegex = /^(\d+\.\d+\.\d+)\-rc(\d+)$/i;
2222

23-
function extractRcNumber(version) {
23+
function extractRcNumber(version: string): [string, number] {
2424
const match = version.match(rcVersionRegex);
25-
return match
26-
? [match[1], parseInt(match[2], 10)]
27-
: [version, Infinity];
25+
return match ? [match[1], parseInt(match[2], 10)] : [version, Infinity];
2826
}
2927

30-
export function isConfigVersionUpgradeable(savedVersion, kibanaVersion) {
28+
export function isConfigVersionUpgradeable(savedVersion: string, kibanaVersion: string): boolean {
3129
if (
3230
typeof savedVersion !== 'string' ||
3331
typeof kibanaVersion !== 'string' ||

0 commit comments

Comments
 (0)