aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/examples/with-prisma/apps/web/pages
diff options
context:
space:
mode:
author简律纯 <hsiangnianian@outlook.com>2023-04-28 01:47:57 +0800
committer简律纯 <hsiangnianian@outlook.com>2023-04-28 01:47:57 +0800
commit8b2c4a38a461ff5ecc95972291bc711e2c5dec9a (patch)
tree29f552e3df949073e21bf5c76d7abc3044830ec6 /examples/with-prisma/apps/web/pages
parentfc8c5fdce62fb229202659408798a7b6c98f6e8b (diff)
downloadHydroRoll-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.ts34
-rw-r--r--examples/with-prisma/apps/web/pages/index.tsx8
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>
+ );
+}