diff options
| author | 2023-04-28 01:47:57 +0800 | |
|---|---|---|
| committer | 2023-04-28 01:47:57 +0800 | |
| commit | 8b2c4a38a461ff5ecc95972291bc711e2c5dec9a (patch) | |
| tree | 29f552e3df949073e21bf5c76d7abc3044830ec6 /examples/with-prisma/apps/web/pages | |
| parent | fc8c5fdce62fb229202659408798a7b6c98f6e8b (diff) | |
| download | HydroRoll-8b2c4a38a461ff5ecc95972291bc711e2c5dec9a.tar.gz HydroRoll-8b2c4a38a461ff5ecc95972291bc711e2c5dec9a.zip | |
Diffstat (limited to 'examples/with-prisma/apps/web/pages')
| -rw-r--r-- | examples/with-prisma/apps/web/pages/api/users.ts | 34 | ||||
| -rw-r--r-- | examples/with-prisma/apps/web/pages/index.tsx | 8 |
2 files changed, 42 insertions, 0 deletions
diff --git a/examples/with-prisma/apps/web/pages/api/users.ts b/examples/with-prisma/apps/web/pages/api/users.ts new file mode 100644 index 0000000..3f7b3f0 --- /dev/null +++ b/examples/with-prisma/apps/web/pages/api/users.ts @@ -0,0 +1,34 @@ +import { prisma } from "database"; + +import type { NextApiRequest, NextApiResponse } from "next"; + +/** + * Users + * + * @description A basic API endpoint to retrieve all the users in the database + */ +export default async function handler( + req: NextApiRequest, + res: NextApiResponse +) { + if (req.method !== "GET") { + res.setHeader("Allow", ["GET"]); + return res.status(405).end(`Method ${req.method} Not Allowed`); + } + + try { + const users = await prisma.user.findMany(); + if (!users) + throw { + message: "Failed to retrieve users", + status: 500, + }; + + return res.status(200).json({ + users, + }); + } catch ({ message = "An unknown error occured", status = 500 }) { + console.error({ message, status }); + return res.status(status).end(message); + } +} diff --git a/examples/with-prisma/apps/web/pages/index.tsx b/examples/with-prisma/apps/web/pages/index.tsx new file mode 100644 index 0000000..6e254b7 --- /dev/null +++ b/examples/with-prisma/apps/web/pages/index.tsx @@ -0,0 +1,8 @@ +export default function IndexPage() { + return ( + <div> + <h1>Hello World</h1> + <a href="/api/users">View Users</a> + </div> + ); +} |
