fix(backend): request.body may be undefined (#9356)
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							72e7909911
						
					
				
				
					commit
					c3cb218975
				
			@@ -54,21 +54,21 @@ export class ApiCallService implements OnApplicationShutdown {
 | 
			
		||||
	@bindThis
 | 
			
		||||
	public handleRequest(
 | 
			
		||||
		endpoint: IEndpoint & { exec: any },
 | 
			
		||||
		request: FastifyRequest<{ Body: Record<string, unknown>, Querystring: Record<string, unknown> }>,
 | 
			
		||||
		request: FastifyRequest<{ Body: Record<string, unknown> | undefined, Querystring: Record<string, unknown> }>,
 | 
			
		||||
		reply: FastifyReply,
 | 
			
		||||
	) {
 | 
			
		||||
		const body = request.method === 'GET'
 | 
			
		||||
			? request.query
 | 
			
		||||
			: request.body;
 | 
			
		||||
 | 
			
		||||
		const token = body['i'];
 | 
			
		||||
		const token = body?.['i'];
 | 
			
		||||
		if (token != null && typeof token !== 'string') {
 | 
			
		||||
			reply.code(400);
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		this.authenticateService.authenticate(token).then(([user, app]) => {
 | 
			
		||||
			this.call(endpoint, user, app, body, null, request).then((res) => {
 | 
			
		||||
				if (request.method === 'GET' && endpoint.meta.cacheSec && !body['i'] && !user) {
 | 
			
		||||
				if (request.method === 'GET' && endpoint.meta.cacheSec && !body?.['i'] && !user) {
 | 
			
		||||
					reply.header('Cache-Control', `public, max-age=${endpoint.meta.cacheSec}`);
 | 
			
		||||
				}
 | 
			
		||||
				this.send(reply, res);
 | 
			
		||||
@@ -111,7 +111,7 @@ export class ApiCallService implements OnApplicationShutdown {
 | 
			
		||||
		for (const [k, v] of Object.entries(multipartData.fields)) {
 | 
			
		||||
			fields[k] = v.value;
 | 
			
		||||
		}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
		const token = fields['i'];
 | 
			
		||||
		if (token != null && typeof token !== 'string') {
 | 
			
		||||
			reply.code(400);
 | 
			
		||||
@@ -199,7 +199,7 @@ export class ApiCallService implements OnApplicationShutdown {
 | 
			
		||||
			name: string;
 | 
			
		||||
			path: string;
 | 
			
		||||
		} | null,
 | 
			
		||||
		request: FastifyRequest<{ Body: Record<string, unknown>, Querystring: Record<string, unknown> }>,
 | 
			
		||||
		request: FastifyRequest<{ Body: Record<string, unknown> | undefined, Querystring: Record<string, unknown> }>,
 | 
			
		||||
	) {
 | 
			
		||||
		const isSecure = user != null && token == null;
 | 
			
		||||
		const isModerator = user != null && (user.isModerator || user.isAdmin);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user