mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
## Description This PR ensures that the default prettier config is used for examples and templates. This config is compatible with `prettier@3` as well (upgrading prettier is bigger change that can be a future PR). ## Changes - Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will be needed upgrading to prettier@3) - Added `examples/.prettierrc.json` with default config (this will change every example) - Added `packages/create-next-app/templates/.prettierrc.json` with default config (this will change every template) ## Related - Fixes #54402 - Closes #54409
52 lines
1.5 KiB
TypeScript
52 lines
1.5 KiB
TypeScript
import type { NextApiRequest, NextApiResponse } from "next";
|
|
import { TodoItem } from "../../../db/models/todoItems";
|
|
import tigrisDb from "../../../lib/tigris";
|
|
|
|
type Response = {
|
|
result?: Array<TodoItem>;
|
|
error?: string;
|
|
};
|
|
|
|
async function handleGet(req: NextApiRequest, res: NextApiResponse<Response>) {
|
|
try {
|
|
const itemsCollection = tigrisDb.getCollection<TodoItem>(TodoItem);
|
|
const cursor = itemsCollection.findMany();
|
|
const items = await cursor.toArray();
|
|
res.status(200).json({ result: items });
|
|
} catch (err) {
|
|
const error = err as Error;
|
|
res.status(500).json({ error: error.message });
|
|
}
|
|
}
|
|
|
|
async function handlePost(req: NextApiRequest, res: NextApiResponse<Response>) {
|
|
try {
|
|
const item = JSON.parse(req.body) as TodoItem;
|
|
const itemsCollection = tigrisDb.getCollection<TodoItem>(TodoItem);
|
|
const inserted = await itemsCollection.insertOne(item);
|
|
res.status(200).json({ result: [inserted] });
|
|
} catch (err) {
|
|
const error = err as Error;
|
|
res.status(500).json({ error: error.message });
|
|
}
|
|
}
|
|
|
|
// GET /api/items -- gets items from collection
|
|
// POST /api/items {ToDoItem} -- inserts a new item to collection
|
|
export default async function handler(
|
|
req: NextApiRequest,
|
|
res: NextApiResponse<Response>,
|
|
) {
|
|
switch (req.method) {
|
|
case "GET":
|
|
await handleGet(req, res);
|
|
break;
|
|
case "POST":
|
|
await handlePost(req, res);
|
|
break;
|
|
default:
|
|
res.setHeader("Allow", ["GET", "POST"]);
|
|
res.status(405).end(`Method ${req.method} Not Allowed`);
|
|
}
|
|
}
|