Schuyler Sloane
05/14/2022, 8:16 PMthdxr
05/14/2022, 8:43 PMSchuyler Sloane
05/14/2022, 8:47 PMthdxr
05/14/2022, 8:50 PMthdxr
05/14/2022, 8:51 PMthdxr
05/14/2022, 8:51 PMimport notes from "./notes";
import { APIGatewayProxyHandlerV2 } from "aws-lambda"
export const main: APIGatewayProxyHandlerV2 = async (event) => {
const note = notes[event.pathParameters.id];
return note
? {
statusCode: 200,
body: JSON.stringify(note),
}
: {
statusCode: 404,
body: JSON.stringify({ error: true }),
};
}
Schuyler Sloane
05/14/2022, 8:54 PMthdxr
05/14/2022, 8:56 PMpathParameters.id
always exists. You can assert that with event.pathParameters.id!
thdxr
05/14/2022, 8:56 PMthdxr
05/14/2022, 8:57 PMif (!event.pathParameters.id) throw new Error()
at the top and then ts won't complainSchuyler Sloane
05/14/2022, 8:59 PMthdxr
05/14/2022, 9:00 PMevent.pathParameters?.id
thdxr
05/14/2022, 9:00 PMpathParameters
itself could be undefinedthdxr
05/14/2022, 9:01 PMthdxr
05/14/2022, 9:01 PMSchuyler Sloane
05/14/2022, 9:02 PMthdxr
05/14/2022, 9:04 PMSchuyler Sloane
05/14/2022, 9:05 PMthdxr
05/14/2022, 9:06 PMSchuyler Sloane
05/14/2022, 9:06 PMthdxr
05/14/2022, 9:12 PMthdxr
05/14/2022, 9:14 PMimport notes from "./notes";
import { APIGatewayProxyHandlerV2 } from "aws-lambda";
export const main: APIGatewayProxyHandlerV2 = async (event) => {
const note = notes[event.pathParameters?.id!];
return note
? {
statusCode: 200,
body: JSON.stringify(note),
}
: {
statusCode: 404,
body: JSON.stringify({ error: true }),
};
};
export default {
id1: {
noteId: "id1",
userId: "user1",
createdAt: Date.now(),
content: "Hello World!",
},
id2: {
noteId: "id2",
userId: "user2",
createdAt: Date.now() - 10000,
content: "Hello Old World! Old note.",
},
} as Record<
string,
{
noteId: string;
userId: string;
createdAt: number;
content: string;
}
>;
thdxr
05/14/2022, 9:14 PMid1
and id2
Schuyler Sloane
05/14/2022, 9:17 PM