Skip to content

Commit 05ca2db

Browse files
authored
[7.x] Use savedObjects provided by the platform instead of legacy shim. (#53284)
1 parent bc7bd11 commit 05ca2db

File tree

3 files changed

+8
-31
lines changed

3 files changed

+8
-31
lines changed

x-pack/legacy/plugins/encrypted_saved_objects/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ export const encryptedSavedObjects = (kibana: {
3333
}
3434

3535
encryptedSavedObjectsPlugin.__legacyCompat.registerLegacyAPI({
36-
savedObjects: server.savedObjects,
3736
auditLogger: new AuditLogger(
3837
server,
3938
'encryptedSavedObjects',

x-pack/plugins/encrypted_saved_objects/server/plugin.ts

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ import {
99
SavedObjectsBaseOptions,
1010
PluginInitializerContext,
1111
CoreSetup,
12-
SavedObjectsLegacyService,
13-
KibanaRequest,
14-
LegacyRequest,
1512
} from 'src/core/server';
1613
import { first } from 'rxjs/operators';
1714
import { createConfig$ } from './config';
@@ -37,7 +34,6 @@ export interface PluginStartContract extends SavedObjectsSetup {
3734
* to function properly.
3835
*/
3936
export interface LegacyAPI {
40-
savedObjects: SavedObjectsLegacyService<KibanaRequest | LegacyRequest>;
4137
auditLogger: {
4238
log: (eventType: string, message: string, data?: Record<string, unknown>) => void;
4339
};
@@ -48,7 +44,7 @@ export interface LegacyAPI {
4844
*/
4945
export class Plugin {
5046
private readonly logger: Logger;
51-
private savedObjectsSetup?: ReturnType<typeof setupSavedObjects>;
47+
private savedObjectsSetup!: SavedObjectsSetup;
5248

5349
private legacyAPI?: LegacyAPI;
5450
private readonly getLegacyAPI = () => {
@@ -66,7 +62,6 @@ export class Plugin {
6662
const config = await createConfig$(this.initializerContext)
6763
.pipe(first())
6864
.toPromise();
69-
const adminClusterClient = await core.elasticsearch.adminClient$.pipe(first()).toPromise();
7065

7166
const service = Object.freeze(
7267
new EncryptedSavedObjectsService(
@@ -76,19 +71,12 @@ export class Plugin {
7671
)
7772
);
7873

74+
this.savedObjectsSetup = setupSavedObjects({ service, savedObjects: core.savedObjects });
75+
7976
return {
8077
registerType: (typeRegistration: EncryptedSavedObjectTypeRegistration) =>
8178
service.registerType(typeRegistration),
82-
__legacyCompat: {
83-
registerLegacyAPI: (legacyAPI: LegacyAPI) => {
84-
this.legacyAPI = legacyAPI;
85-
this.savedObjectsSetup = setupSavedObjects({
86-
adminClusterClient,
87-
service,
88-
savedObjects: legacyAPI.savedObjects,
89-
});
90-
},
91-
},
79+
__legacyCompat: { registerLegacyAPI: (legacyAPI: LegacyAPI) => (this.legacyAPI = legacyAPI) },
9280
};
9381
}
9482

@@ -98,10 +86,6 @@ export class Plugin {
9886
return {
9987
isEncryptionError: (error: Error) => error instanceof EncryptionError,
10088
getDecryptedAsInternalUser: (type: string, id: string, options?: SavedObjectsBaseOptions) => {
101-
if (!this.savedObjectsSetup) {
102-
throw new Error('Legacy SavedObjects API is not registered!');
103-
}
104-
10589
return this.savedObjectsSetup.getDecryptedAsInternalUser(type, id, options);
10690
},
10791
};

x-pack/plugins/encrypted_saved_objects/server/saved_objects/index.ts

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,17 @@
55
*/
66

77
import {
8-
IClusterClient,
8+
CoreSetup,
99
SavedObject,
1010
SavedObjectAttributes,
1111
SavedObjectsBaseOptions,
1212
} from 'src/core/server';
13-
import { LegacyAPI } from '../plugin';
1413
import { EncryptedSavedObjectsService } from '../crypto';
1514
import { EncryptedSavedObjectsClientWrapper } from './encrypted_saved_objects_client_wrapper';
1615

1716
interface SetupSavedObjectsParams {
18-
adminClusterClient: IClusterClient;
1917
service: PublicMethodsOf<EncryptedSavedObjectsService>;
20-
savedObjects: LegacyAPI['savedObjects'];
18+
savedObjects: CoreSetup['savedObjects'];
2119
}
2220

2321
export interface SavedObjectsSetup {
@@ -29,7 +27,6 @@ export interface SavedObjectsSetup {
2927
}
3028

3129
export function setupSavedObjects({
32-
adminClusterClient,
3330
service,
3431
savedObjects,
3532
}: SetupSavedObjectsParams): SavedObjectsSetup {
@@ -38,16 +35,13 @@ export function setupSavedObjects({
3835
// priority for this wrapper to allow all other wrappers to set proper `namespace` for the Saved
3936
// Object (e.g. wrapper registered by the Spaces plugin) before we encrypt attributes since
4037
// `namespace` is included into AAD.
41-
savedObjects.addScopedSavedObjectsClientWrapperFactory(
38+
savedObjects.addClientWrapper(
4239
Number.MAX_SAFE_INTEGER,
4340
'encryptedSavedObjects',
4441
({ client: baseClient }) => new EncryptedSavedObjectsClientWrapper({ baseClient, service })
4542
);
4643

47-
const internalRepository = savedObjects.getSavedObjectsRepository(
48-
adminClusterClient.callAsInternalUser
49-
);
50-
44+
const internalRepository = savedObjects.createInternalRepository();
5145
return {
5246
getDecryptedAsInternalUser: async <T extends SavedObjectAttributes = any>(
5347
type: string,

0 commit comments

Comments
 (0)