Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 1x 1x 1x 1x 1x 6x 6x 6x 6x 2x | import * as imageController from '../../controllers/imageController';
import { ApiResponse } from '../../common/apiResponse';
import { handleError } from '../../common/errorHandler';
import { LambdaEvent } from '../../dto/image.dto';
type Handler = (event: LambdaEvent) => Promise<ApiResponse> | ApiResponse;
const routes: Record<string, Handler> = {
'POST /images/presign': imageController.presignUpload,
'GET /images/{id}': imageController.getImage,
'DELETE /images/{id}': imageController.deleteImage,
};
export async function dispatch(event: LambdaEvent): Promise<ApiResponse> {
try {
const key = event.routeKey ?? `${event.httpMethod} ${event.resource}`;
const handler = routes[key];
return handler
? await handler(event)
: ApiResponse.notFound('Route not found');
} catch (error) {
return handleError(error);
}
}
|