blob: 70b1499f046a32144fd8d10f75ab2f97912fc82b (
plain)
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
26
|
import type { VercelRequest, VercelResponse } from '@vercel/node';
import { sql } from '@vercel/postgres';
import { tableSubscriptions } from '_postgres';
export default async function handler(request: VercelRequest, response: VercelResponse) {
const { subscriptionId, emailAddress }: Partial<RequestBody> = request.body;
if (!subscriptionId) throw new Error('Missing parameter: subscriptionId.');
if (!emailAddress) throw new Error('Missing parameter: emailAddress.');
try {
const result = await sql`
INSERT INTO ${tableSubscriptions} (id, email_address)
VALUES (${subscriptionId}, ${emailAddress})
;`;
return response.status(200).json({ result });
} catch (error) {
return response.status(500).json({ error });
}
}
type RequestBody = {
subscriptionId: string,
emailAddress: string,
};
|