From 2e6a9e7e15d1ed889c1989b5a27bf13e44a0a4b0 Mon Sep 17 00:00:00 2001 From: ImAlpha Date: Wed, 28 Feb 2024 16:52:40 -0800 Subject: [PATCH] restful api of GET/DELETE/PUT implemented for testing --- Websites/rest-test/.eslintrc.json | 3 + Websites/rest-test/.gitignore | 36 ++++++ Websites/rest-test/README.md | 36 ++++++ Websites/rest-test/app/api/hello/route.ts | 0 .../rest-test/app/api/todos/[id]/route.ts | 15 +++ Websites/rest-test/app/api/todos/route.ts | 76 ++++++++++++ Websites/rest-test/app/favicon.ico | Bin 0 -> 25931 bytes Websites/rest-test/app/globals.css | 33 +++++ Websites/rest-test/app/layout.tsx | 22 ++++ Websites/rest-test/app/page.tsx | 113 ++++++++++++++++++ Websites/rest-test/bun.lockb | Bin 0 -> 144031 bytes Websites/rest-test/next.config.mjs | 4 + Websites/rest-test/package.json | 27 +++++ Websites/rest-test/postcss.config.js | 6 + Websites/rest-test/public/next.svg | 1 + Websites/rest-test/public/vercel.svg | 1 + Websites/rest-test/tailwind.config.ts | 20 ++++ Websites/rest-test/tsconfig.json | 26 ++++ Websites/rest-test/types.d.ts | 6 + 19 files changed, 425 insertions(+) create mode 100644 Websites/rest-test/.eslintrc.json create mode 100644 Websites/rest-test/.gitignore create mode 100644 Websites/rest-test/README.md create mode 100644 Websites/rest-test/app/api/hello/route.ts create mode 100644 Websites/rest-test/app/api/todos/[id]/route.ts create mode 100644 Websites/rest-test/app/api/todos/route.ts create mode 100644 Websites/rest-test/app/favicon.ico create mode 100644 Websites/rest-test/app/globals.css create mode 100644 Websites/rest-test/app/layout.tsx create mode 100644 Websites/rest-test/app/page.tsx create mode 100755 Websites/rest-test/bun.lockb create mode 100644 Websites/rest-test/next.config.mjs create mode 100644 Websites/rest-test/package.json create mode 100644 Websites/rest-test/postcss.config.js create mode 100644 Websites/rest-test/public/next.svg create mode 100644 Websites/rest-test/public/vercel.svg create mode 100644 Websites/rest-test/tailwind.config.ts create mode 100644 Websites/rest-test/tsconfig.json create mode 100644 Websites/rest-test/types.d.ts diff --git a/Websites/rest-test/.eslintrc.json b/Websites/rest-test/.eslintrc.json new file mode 100644 index 0000000..bffb357 --- /dev/null +++ b/Websites/rest-test/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "next/core-web-vitals" +} diff --git a/Websites/rest-test/.gitignore b/Websites/rest-test/.gitignore new file mode 100644 index 0000000..fd3dbb5 --- /dev/null +++ b/Websites/rest-test/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/Websites/rest-test/README.md b/Websites/rest-test/README.md new file mode 100644 index 0000000..c403366 --- /dev/null +++ b/Websites/rest-test/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/Websites/rest-test/app/api/hello/route.ts b/Websites/rest-test/app/api/hello/route.ts new file mode 100644 index 0000000..e69de29 diff --git a/Websites/rest-test/app/api/todos/[id]/route.ts b/Websites/rest-test/app/api/todos/[id]/route.ts new file mode 100644 index 0000000..e094e78 --- /dev/null +++ b/Websites/rest-test/app/api/todos/[id]/route.ts @@ -0,0 +1,15 @@ +import { NextResponse } from "next/server"; + +const DATA_SOURCE_URL = "https://jsonplaceholder.typicode.com/todos"; + +export async function GET(request: Request) { + const id = request.url.slice(request.url.lastIndexOf("/") + 1); + + const res = await fetch(`${DATA_SOURCE_URL}/${id}`); + + const todo: Todo = await res.json(); + + if (!todo.id) return NextResponse.json({ message: "Todo not found" }); + + return NextResponse.json(todo); +} diff --git a/Websites/rest-test/app/api/todos/route.ts b/Websites/rest-test/app/api/todos/route.ts new file mode 100644 index 0000000..3441da5 --- /dev/null +++ b/Websites/rest-test/app/api/todos/route.ts @@ -0,0 +1,76 @@ +import { NextResponse } from "next/server"; + +const DATA_SOURCE_URL = "https://jsonplaceholder.typicode.com/todos"; + +const API_KEY: string = process.env.DATA_API_KEY as string; + +export async function GET() { + const res = await fetch(DATA_SOURCE_URL); + + const todos: Todo[] = await res.json(); + + return NextResponse.json(todos); +} + +export async function DELETE(request: Request) { + const { id }: Partial = await request.json(); + + if (!id) return NextResponse.json({ message: "Todo id required" }); + + await fetch(`${DATA_SOURCE_URL}/${id}`, { + method: "DELETE", + headers: { + "Content-type": "application/json", + "API-Key": API_KEY, + }, + }); + return NextResponse.json({ message: `Todo ${id} deleted` }); +} + +export async function POST(request: Request) { + const { userID, title }: Partial = await request.json(); + + if (!userID || !title) + return NextResponse.json({ message: "Missing required data" }); + + const res = await fetch(`${DATA_SOURCE_URL}`, { + method: "POST", + headers: { + "Content-type": "application/json", + "API-Key": API_KEY, + }, + body: JSON.stringify({ + userID, + title, + completed: false, + }), + }); + + const newTodo: Todo = await res.json(); + + return NextResponse.json(newTodo); +} + +export async function PUT(request: Request) { + const { userID, id, title, completed }: Todo = await request.json(); + + if (!userID || !id || !title || typeof(completed) !== 'boolean') + return NextResponse.json({ message: "Missing required data" }); + + const res = await fetch(`${DATA_SOURCE_URL}/${id}`, { + method: "PUT", + headers: { + "Content-type": "application/json", + "API-Key": API_KEY, + }, + body: JSON.stringify({ + userID, + title, + completed, + }), + }); + + const updatedTodo: Todo = await res.json(); + + return NextResponse.json(updatedTodo); +} diff --git a/Websites/rest-test/app/favicon.ico b/Websites/rest-test/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/Websites/rest-test/app/globals.css b/Websites/rest-test/app/globals.css new file mode 100644 index 0000000..875c01e --- /dev/null +++ b/Websites/rest-test/app/globals.css @@ -0,0 +1,33 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --foreground-rgb: 0, 0, 0; + --background-start-rgb: 214, 219, 220; + --background-end-rgb: 255, 255, 255; +} + +@media (prefers-color-scheme: dark) { + :root { + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; + } +} + +body { + color: rgb(var(--foreground-rgb)); + background: linear-gradient( + to bottom, + transparent, + rgb(var(--background-end-rgb)) + ) + rgb(var(--background-start-rgb)); +} + +@layer utilities { + .text-balance { + text-wrap: balance; + } +} diff --git a/Websites/rest-test/app/layout.tsx b/Websites/rest-test/app/layout.tsx new file mode 100644 index 0000000..3314e47 --- /dev/null +++ b/Websites/rest-test/app/layout.tsx @@ -0,0 +1,22 @@ +import type { Metadata } from "next"; +import { Inter } from "next/font/google"; +import "./globals.css"; + +const inter = Inter({ subsets: ["latin"] }); + +export const metadata: Metadata = { + title: "Create Next App", + description: "Generated by create next app", +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + {children} + + ); +} diff --git a/Websites/rest-test/app/page.tsx b/Websites/rest-test/app/page.tsx new file mode 100644 index 0000000..dc191aa --- /dev/null +++ b/Websites/rest-test/app/page.tsx @@ -0,0 +1,113 @@ +import Image from "next/image"; + +export default function Home() { + return ( +
+
+

+ Get started by editing  + app/page.tsx +

+ +
+ +
+ Next.js Logo +
+ + +
+ ); +} diff --git a/Websites/rest-test/bun.lockb b/Websites/rest-test/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..61cdf5eb29ec64778d9ca21e2493388e86e96d74 GIT binary patch literal 144031 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 \ No newline at end of file diff --git a/Websites/rest-test/public/vercel.svg b/Websites/rest-test/public/vercel.svg new file mode 100644 index 0000000..d2f8422 --- /dev/null +++ b/Websites/rest-test/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Websites/rest-test/tailwind.config.ts b/Websites/rest-test/tailwind.config.ts new file mode 100644 index 0000000..7e4bd91 --- /dev/null +++ b/Websites/rest-test/tailwind.config.ts @@ -0,0 +1,20 @@ +import type { Config } from "tailwindcss"; + +const config: Config = { + content: [ + "./pages/**/*.{js,ts,jsx,tsx,mdx}", + "./components/**/*.{js,ts,jsx,tsx,mdx}", + "./app/**/*.{js,ts,jsx,tsx,mdx}", + ], + theme: { + extend: { + backgroundImage: { + "gradient-radial": "radial-gradient(var(--tw-gradient-stops))", + "gradient-conic": + "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))", + }, + }, + }, + plugins: [], +}; +export default config; diff --git a/Websites/rest-test/tsconfig.json b/Websites/rest-test/tsconfig.json new file mode 100644 index 0000000..e7ff90f --- /dev/null +++ b/Websites/rest-test/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": ["./*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/Websites/rest-test/types.d.ts b/Websites/rest-test/types.d.ts new file mode 100644 index 0000000..d937a2f --- /dev/null +++ b/Websites/rest-test/types.d.ts @@ -0,0 +1,6 @@ +type Todo { + userID: number, +id: number, +title: string, +completed: boolean, +} \ No newline at end of file