Skip to content

Commit f532e9d

Browse files
authored
index pattern server api simpler dependency (#80114)
* index pattern server api simpler dependency
1 parent 0bba32e commit f532e9d

File tree

8 files changed

+36
-25
lines changed

8 files changed

+36
-25
lines changed

docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.start.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
```typescript
1010
start(core: CoreStart, { fieldFormats, logger }: IndexPatternsServiceStartDeps): {
11-
indexPatternsServiceFactory: (kibanaRequest: KibanaRequest) => Promise<IndexPatternsCommonService>;
11+
indexPatternsServiceFactory: (savedObjectsClient: SavedObjectsClientContract) => Promise<IndexPatternsCommonService>;
1212
};
1313
```
1414

@@ -22,6 +22,6 @@ start(core: CoreStart, { fieldFormats, logger }: IndexPatternsServiceStartDeps):
2222
<b>Returns:</b>
2323

2424
`{
25-
indexPatternsServiceFactory: (kibanaRequest: KibanaRequest) => Promise<IndexPatternsCommonService>;
25+
indexPatternsServiceFactory: (savedObjectsClient: SavedObjectsClientContract) => Promise<IndexPatternsCommonService>;
2626
}`
2727

docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.start.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ start(core: CoreStart): {
1212
fieldFormatServiceFactory: (uiSettings: import("../../../core/server").IUiSettingsClient) => Promise<import("../common").FieldFormatsRegistry>;
1313
};
1414
indexPatterns: {
15-
indexPatternsServiceFactory: (kibanaRequest: import("../../../core/server").KibanaRequest<unknown, unknown, unknown, any>) => Promise<import("../public").IndexPatternsService>;
15+
indexPatternsServiceFactory: (savedObjectsClient: Pick<import("../../../core/server").SavedObjectsClient, "update" | "find" | "get" | "delete" | "errors" | "create" | "bulkCreate" | "checkConflicts" | "bulkGet" | "addToNamespaces" | "deleteFromNamespaces" | "bulkUpdate">) => Promise<import("../public").IndexPatternsService>;
1616
};
1717
search: ISearchStart<import("./search").IEsSearchRequest, import("./search").IEsSearchResponse<any>>;
1818
};
@@ -31,7 +31,7 @@ start(core: CoreStart): {
3131
fieldFormatServiceFactory: (uiSettings: import("../../../core/server").IUiSettingsClient) => Promise<import("../common").FieldFormatsRegistry>;
3232
};
3333
indexPatterns: {
34-
indexPatternsServiceFactory: (kibanaRequest: import("../../../core/server").KibanaRequest<unknown, unknown, unknown, any>) => Promise<import("../public").IndexPatternsService>;
34+
indexPatternsServiceFactory: (savedObjectsClient: Pick<import("../../../core/server").SavedObjectsClient, "update" | "find" | "get" | "delete" | "errors" | "create" | "bulkCreate" | "checkConflicts" | "bulkGet" | "addToNamespaces" | "deleteFromNamespaces" | "bulkUpdate">) => Promise<import("../public").IndexPatternsService>;
3535
};
3636
search: ISearchStart<import("./search").IEsSearchRequest, import("./search").IEsSearchResponse<any>>;
3737
}`

src/plugins/data/server/index_patterns/index_patterns_service.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
* under the License.
1818
*/
1919

20-
import { CoreSetup, CoreStart, Plugin, KibanaRequest, Logger } from 'kibana/server';
20+
import { CoreSetup, CoreStart, Plugin, Logger, SavedObjectsClientContract } from 'kibana/server';
2121
import { registerRoutes } from './routes';
2222
import { indexPatternSavedObjectType } from '../saved_objects';
2323
import { capabilitiesProvider } from './capabilities_provider';
@@ -29,7 +29,7 @@ import { SavedObjectsClientServerToCommon } from './saved_objects_client_wrapper
2929

3030
export interface IndexPatternsServiceStart {
3131
indexPatternsServiceFactory: (
32-
kibanaRequest: KibanaRequest
32+
savedObjectsClient: SavedObjectsClientContract
3333
) => Promise<IndexPatternsCommonService>;
3434
}
3535

@@ -47,11 +47,10 @@ export class IndexPatternsService implements Plugin<void, IndexPatternsServiceSt
4747
}
4848

4949
public start(core: CoreStart, { fieldFormats, logger }: IndexPatternsServiceStartDeps) {
50-
const { uiSettings, savedObjects } = core;
50+
const { uiSettings } = core;
5151

5252
return {
53-
indexPatternsServiceFactory: async (kibanaRequest: KibanaRequest) => {
54-
const savedObjectsClient = savedObjects.getScopedClient(kibanaRequest);
53+
indexPatternsServiceFactory: async (savedObjectsClient: SavedObjectsClientContract) => {
5554
const uiSettingsClient = uiSettings.asScopedToClient(savedObjectsClient);
5655
const formats = await fieldFormats.fieldFormatServiceFactory(uiSettingsClient);
5756

src/plugins/data/server/search/search_service.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,9 @@ export class SearchService implements Plugin<ISearchSetup, ISearchStart> {
162162
asScoped: async (request: KibanaRequest) => {
163163
const esClient = elasticsearch.client.asScoped(request);
164164
const savedObjectsClient = savedObjects.getScopedClient(request);
165-
const scopedIndexPatterns = await indexPatterns.indexPatternsServiceFactory(request);
165+
const scopedIndexPatterns = await indexPatterns.indexPatternsServiceFactory(
166+
savedObjectsClient
167+
);
166168
const uiSettingsClient = uiSettings.asScopedToClient(savedObjectsClient);
167169

168170
// cache ui settings, only including items which are explicitly needed by SearchSource

src/plugins/data/server/server.api.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import { ExpressionsServerSetup } from 'src/plugins/expressions/server';
2323
import { ISearchOptions as ISearchOptions_2 } from 'src/plugins/data/public';
2424
import { ISearchSource } from 'src/plugins/data/public';
2525
import { KibanaRequest } from 'src/core/server';
26-
import { KibanaRequest as KibanaRequest_2 } from 'kibana/server';
2726
import { LegacyAPICaller } from 'kibana/server';
2827
import { Logger } from 'kibana/server';
2928
import { LoggerFactory } from '@kbn/logging';
@@ -42,6 +41,7 @@ import { RequestHandlerContext } from 'src/core/server';
4241
import { RequestStatistics } from 'src/plugins/inspector/common';
4342
import { SavedObject } from 'src/core/server';
4443
import { SavedObjectsClientContract } from 'src/core/server';
44+
import { SavedObjectsClientContract as SavedObjectsClientContract_2 } from 'kibana/server';
4545
import { Search } from '@elastic/elasticsearch/api/requestParams';
4646
import { SearchResponse } from 'elasticsearch';
4747
import { SerializedFieldFormat as SerializedFieldFormat_2 } from 'src/plugins/expressions/common';
@@ -675,7 +675,7 @@ export class IndexPatternsService implements Plugin_3<void, IndexPatternsService
675675
//
676676
// (undocumented)
677677
start(core: CoreStart_2, { fieldFormats, logger }: IndexPatternsServiceStartDeps): {
678-
indexPatternsServiceFactory: (kibanaRequest: KibanaRequest_2) => Promise<IndexPatternsService_2>;
678+
indexPatternsServiceFactory: (savedObjectsClient: SavedObjectsClientContract_2) => Promise<IndexPatternsService_2>;
679679
};
680680
}
681681

@@ -879,7 +879,7 @@ export class Plugin implements Plugin_2<PluginSetup, PluginStart, DataPluginSetu
879879
fieldFormatServiceFactory: (uiSettings: import("../../../core/server").IUiSettingsClient) => Promise<import("../common").FieldFormatsRegistry>;
880880
};
881881
indexPatterns: {
882-
indexPatternsServiceFactory: (kibanaRequest: import("../../../core/server").KibanaRequest<unknown, unknown, unknown, any>) => Promise<import("../public").IndexPatternsService>;
882+
indexPatternsServiceFactory: (savedObjectsClient: Pick<import("../../../core/server").SavedObjectsClient, "update" | "find" | "get" | "delete" | "errors" | "create" | "bulkCreate" | "checkConflicts" | "bulkGet" | "addToNamespaces" | "deleteFromNamespaces" | "bulkUpdate">) => Promise<import("../public").IndexPatternsService>;
883883
};
884884
search: ISearchStart<import("./search").IEsSearchRequest, import("./search").IEsSearchResponse<any>>;
885885
};

src/plugins/vis_type_timeseries/server/lib/get_fields.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,11 @@ export async function getFields(
6262
let indexPatternString = indexPattern;
6363

6464
if (!indexPatternString) {
65-
const [, { data }] = await framework.core.getStartServices();
66-
const indexPatternsService = await data.indexPatterns.indexPatternsServiceFactory(request);
65+
const [{ savedObjects }, { data }] = await framework.core.getStartServices();
66+
const savedObjectsClient = savedObjects.getScopedClient(request);
67+
const indexPatternsService = await data.indexPatterns.indexPatternsServiceFactory(
68+
savedObjectsClient
69+
);
6770
const defaultIndexPattern = await indexPatternsService.getDefault();
6871
indexPatternString = get(defaultIndexPattern, 'title', '');
6972
}

test/plugin_functional/plugins/data_search/server/plugin.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,15 @@ export class DataSearchTestPlugin
5858
},
5959
},
6060
async (context, req, res) => {
61-
const [, { data }] = await core.getStartServices();
61+
const [{ savedObjects }, { data }] = await core.getStartServices();
6262
const service = await data.search.searchSource.asScoped(req);
63+
const savedObjectsClient = savedObjects.getScopedClient(req);
6364

6465
// Since the index pattern ID can change on each test run, we need
6566
// to look it up on the fly and insert it into the request.
66-
const indexPatterns = await data.indexPatterns.indexPatternsServiceFactory(req);
67+
const indexPatterns = await data.indexPatterns.indexPatternsServiceFactory(
68+
savedObjectsClient
69+
);
6770
const ids = await indexPatterns.getIds();
6871
// @ts-expect-error Force overwriting the request
6972
req.body.index = ids[0];

test/plugin_functional/plugins/index_patterns/server/plugin.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,9 @@ export class IndexPatternsTestPlugin
3939
router.get(
4040
{ path: '/api/index-patterns-plugin/get-all', validate: false },
4141
async (context, req, res) => {
42-
const [, { data }] = await core.getStartServices();
43-
const service = await data.indexPatterns.indexPatternsServiceFactory(req);
42+
const [{ savedObjects }, { data }] = await core.getStartServices();
43+
const savedObjectsClient = savedObjects.getScopedClient(req);
44+
const service = await data.indexPatterns.indexPatternsServiceFactory(savedObjectsClient);
4445
const ids = await service.getIds();
4546
return res.ok({ body: ids });
4647
}
@@ -57,8 +58,9 @@ export class IndexPatternsTestPlugin
5758
},
5859
async (context, req, res) => {
5960
const id = (req.params as Record<string, string>).id;
60-
const [, { data }] = await core.getStartServices();
61-
const service = await data.indexPatterns.indexPatternsServiceFactory(req);
61+
const [{ savedObjects }, { data }] = await core.getStartServices();
62+
const savedObjectsClient = savedObjects.getScopedClient(req);
63+
const service = await data.indexPatterns.indexPatternsServiceFactory(savedObjectsClient);
6264
const ip = await service.get(id);
6365
return res.ok({ body: ip.toSpec() });
6466
}
@@ -74,9 +76,10 @@ export class IndexPatternsTestPlugin
7476
},
7577
},
7678
async (context, req, res) => {
77-
const [, { data }] = await core.getStartServices();
79+
const [{ savedObjects }, { data }] = await core.getStartServices();
7880
const id = (req.params as Record<string, string>).id;
79-
const service = await data.indexPatterns.indexPatternsServiceFactory(req);
81+
const savedObjectsClient = savedObjects.getScopedClient(req);
82+
const service = await data.indexPatterns.indexPatternsServiceFactory(savedObjectsClient);
8083
const ip = await service.get(id);
8184
await service.updateSavedObject(ip);
8285
return res.ok();
@@ -93,9 +96,10 @@ export class IndexPatternsTestPlugin
9396
},
9497
},
9598
async (context, req, res) => {
96-
const [, { data }] = await core.getStartServices();
99+
const [{ savedObjects }, { data }] = await core.getStartServices();
97100
const id = (req.params as Record<string, string>).id;
98-
const service = await data.indexPatterns.indexPatternsServiceFactory(req);
101+
const savedObjectsClient = savedObjects.getScopedClient(req);
102+
const service = await data.indexPatterns.indexPatternsServiceFactory(savedObjectsClient);
99103
await service.delete(id);
100104
return res.ok();
101105
}

0 commit comments

Comments
 (0)