Skip to content

Commit ae914b2

Browse files
Add index.ts
1 parent c3a308b commit ae914b2

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/index.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { APIGatewayEvent, APIGatewayProxyResult } from "aws-lambda";
2+
import { StatusCodes } from "http-status-codes";
3+
import {
4+
createItem,
5+
deleteItem,
6+
getAllItems,
7+
getItem,
8+
updateItem,
9+
} from "./controller";
10+
import { ErrorMessages } from "./utils";
11+
12+
export const handler = async (
13+
event: APIGatewayEvent
14+
): Promise<APIGatewayProxyResult> => {
15+
switch (event.httpMethod) {
16+
case "POST":
17+
return createItem(event);
18+
case "GET":
19+
if (event.pathParameters) {
20+
return getItem(event);
21+
}
22+
return getAllItems();
23+
case "PUT":
24+
return updateItem(event);
25+
case "DELETE":
26+
return deleteItem(event);
27+
default:
28+
return {
29+
statusCode: StatusCodes.METHOD_NOT_ALLOWED,
30+
body: JSON.stringify({ message: ErrorMessages.METHOD_NOT_ALLOWED }),
31+
};
32+
}
33+
};

0 commit comments

Comments
 (0)