Skip to content

Commit 041b78c

Browse files
authored
[reporting] Pass along generic parameters in high-order route handler (#74879)
1 parent c8b63c0 commit 041b78c

File tree

2 files changed

+7
-11
lines changed

2 files changed

+7
-11
lines changed

x-pack/plugins/reporting/server/routes/jobs.ts

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,7 @@ export function registerJobInfoRoutes(reporting: ReportingCore) {
5252
const {
5353
management: { jobTypes = [] },
5454
} = await reporting.getLicenseInfo();
55-
const {
56-
page: queryPage = '0',
57-
size: querySize = '10',
58-
ids: queryIds = null,
59-
} = req.query as ListQuery; // NOTE: type inference is not working here. userHandler breaks it?
55+
const { page: queryPage = '0', size: querySize = '10', ids: queryIds = null } = req.query;
6056
const page = parseInt(queryPage, 10) || 0;
6157
const size = Math.min(100, parseInt(querySize, 10) || 10);
6258
const jobIds = queryIds ? queryIds.split(',') : null;
@@ -116,7 +112,7 @@ export function registerJobInfoRoutes(reporting: ReportingCore) {
116112
return handleUnavailable(res);
117113
}
118114

119-
const { docId } = req.params as { docId: string };
115+
const { docId } = req.params;
120116
const {
121117
management: { jobTypes = [] },
122118
} = await reporting.getLicenseInfo();
@@ -161,7 +157,7 @@ export function registerJobInfoRoutes(reporting: ReportingCore) {
161157
return res.custom({ statusCode: 503 });
162158
}
163159

164-
const { docId } = req.params as { docId: string };
160+
const { docId } = req.params;
165161
const {
166162
management: { jobTypes = [] },
167163
} = await reporting.getLicenseInfo();
@@ -213,7 +209,7 @@ export function registerJobInfoRoutes(reporting: ReportingCore) {
213209
return handleUnavailable(res);
214210
}
215211

216-
const { docId } = req.params as { docId: string };
212+
const { docId } = req.params;
217213
const {
218214
management: { jobTypes = [] },
219215
} = await reporting.getLicenseInfo();
@@ -239,7 +235,7 @@ export function registerJobInfoRoutes(reporting: ReportingCore) {
239235
return handleUnavailable(res);
240236
}
241237

242-
const { docId } = req.params as { docId: string };
238+
const { docId } = req.params;
243239
const {
244240
management: { jobTypes = [] },
245241
} = await reporting.getLicenseInfo();

x-pack/plugins/reporting/server/routes/lib/authorized_user_pre_routing.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { getUserFactory } from './get_user';
1212
type ReportingUser = AuthenticatedUser | null;
1313
const superuserRole = 'superuser';
1414

15-
export type RequestHandlerUser = RequestHandler extends (...a: infer U) => infer R
15+
export type RequestHandlerUser<P, Q, B> = RequestHandler<P, Q, B> extends (...a: infer U) => infer R
1616
? (user: ReportingUser, ...a: U) => R
1717
: never;
1818

@@ -21,7 +21,7 @@ export const authorizedUserPreRoutingFactory = function authorizedUserPreRouting
2121
) {
2222
const setupDeps = reporting.getPluginSetupDeps();
2323
const getUser = getUserFactory(setupDeps.security);
24-
return <P, Q, B>(handler: RequestHandlerUser): RequestHandler<P, Q, B, RouteMethod> => {
24+
return <P, Q, B>(handler: RequestHandlerUser<P, Q, B>): RequestHandler<P, Q, B, RouteMethod> => {
2525
return (context, req, res) => {
2626
let user: ReportingUser = null;
2727
if (setupDeps.security && setupDeps.security.license.isEnabled()) {

0 commit comments

Comments
 (0)