-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.post.ts
More file actions
30 lines (28 loc) · 950 Bytes
/
index.post.ts
File metadata and controls
30 lines (28 loc) · 950 Bytes
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
27
28
29
30
import { getMessage, mongo } from "~/server";
export default defineEventHandler(async (event) => {
const { card, cards } = await readBody(event);
let newCard;
if (card) {
try {
newCard = await mongo.insertCard(card);
console.info("Create card %s successful", newCard._id);
setResponseStatus(event, 200);
return newCard;
} catch (error) {
const message = getMessage(error);
console.info("Could not create %s's card because %s", card.creator.username, message);
setResponseStatus(event, 500, message);
}
} else if (cards) {
try {
newCard = await mongo.findCards(cards);
console.info("User's cards retrieved successfully");
setResponseStatus(event, 200);
return newCard;
} catch (error) {
const message = getMessage(error);
console.info("Could not retrieve cards because %s", message);
setResponseStatus(event, 500, message);
}
}
});