File tree Expand file tree Collapse file tree 2 files changed +11
-4
lines changed
public-api/typescript-common/src Expand file tree Collapse file tree 2 files changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -16,15 +16,16 @@ const DEFAULT_PAGE_SIZE = 50;
16
16
export function parsePagination (
17
17
pagination : Partial < PaginationRequest > | undefined ,
18
18
defaultPageSize = DEFAULT_PAGE_SIZE ,
19
+ maxPageSize = MAX_PAGE_SIZE ,
19
20
) : ParsedPagination {
20
21
let pageSize = pagination ?. pageSize ?? defaultPageSize ;
21
22
if ( ! Number . isInteger ( pageSize ) ) {
22
23
pageSize = defaultPageSize ;
23
24
}
24
25
if ( pageSize < 0 ) {
25
26
pageSize = defaultPageSize ;
26
- } else if ( pageSize > MAX_PAGE_SIZE ) {
27
- pageSize = MAX_PAGE_SIZE ;
27
+ } else if ( pageSize > maxPageSize ) {
28
+ pageSize = maxPageSize ;
28
29
}
29
30
let page = pagination ?. page ?? 0 ;
30
31
if ( ! Number . isInteger ( page ) || ( page ?? 0 ) < 0 ) {
Original file line number Diff line number Diff line change @@ -90,7 +90,10 @@ export class WorkspaceServiceAPI implements ServiceImpl<typeof WorkspaceServiceI
90
90
}
91
91
92
92
async listWorkspaces ( req : ListWorkspacesRequest , _ : HandlerContext ) : Promise < ListWorkspacesResponse > {
93
- const { limit } = parsePagination ( req . pagination , 50 ) ;
93
+ if ( req . pagination ?. pageSize && req . pagination ?. pageSize > 400 ) {
94
+ throw new ApplicationError ( ErrorCodes . BAD_REQUEST , "Pagesize must not exceed 400" ) ;
95
+ }
96
+ const { limit } = parsePagination ( req . pagination , 50 , 400 ) ;
94
97
if ( ! uuidValidate ( req . organizationId ) ) {
95
98
throw new ApplicationError ( ErrorCodes . BAD_REQUEST , "organizationId is required" ) ;
96
99
}
@@ -112,7 +115,10 @@ export class WorkspaceServiceAPI implements ServiceImpl<typeof WorkspaceServiceI
112
115
req : ListWorkspaceSessionsRequest ,
113
116
_ : HandlerContext ,
114
117
) : Promise < ListWorkspaceSessionsResponse > {
115
- const page = parsePagination ( req . pagination , 50 ) ;
118
+ if ( req . pagination ?. pageSize && req . pagination ?. pageSize > 400 ) {
119
+ throw new ApplicationError ( ErrorCodes . BAD_REQUEST , "Pagesize must not exceed 400" ) ;
120
+ }
121
+ const page = parsePagination ( req . pagination , 100 , 400 ) ;
116
122
if ( ! uuidValidate ( req . organizationId ) ) {
117
123
throw new ApplicationError ( ErrorCodes . BAD_REQUEST , "organizationId is required" ) ;
118
124
}
You can’t perform that action at this time.
0 commit comments