diff options
| author | Factiven <[email protected]> | 2023-07-25 18:43:13 +0700 |
|---|---|---|
| committer | Factiven <[email protected]> | 2023-07-25 18:43:13 +0700 |
| commit | 95393d7c8ba5cf6cd17f2038fc421c0d6d06f2e6 (patch) | |
| tree | 97154270ec3ad400e63a683e194ea56eca0b9b0b /pages | |
| parent | added .env disqus shortname (diff) | |
| download | moopa-v.3.6.7-beta-v1.4.tar.xz moopa-v.3.6.7-beta-v1.4.zip | |
Update_v3.6.7-beta-v1.4v.3.6.7-beta-v1.4
>Implementing database
Diffstat (limited to 'pages')
| -rw-r--r-- | pages/api/user.js | 18 | ||||
| -rw-r--r-- | pages/en/db-test.js | 79 |
2 files changed, 97 insertions, 0 deletions
diff --git a/pages/api/user.js b/pages/api/user.js new file mode 100644 index 0000000..1d286e7 --- /dev/null +++ b/pages/api/user.js @@ -0,0 +1,18 @@ +import { createUser, getUser } from "../../prisma/user"; + +export default async function handler(req, res) { + try { + switch (req.method) { + case "POST": { + const { name, setting, animeWatched } = JSON.parse(req.body); + const new_user = await createUser(name, setting); + return res.status(201).json(new_user); + } + case "GET": { + const { name } = req.query; + const user = await getUser(name); + return res.status(200).json(user); + } + } + } catch (error) {} +} diff --git a/pages/en/db-test.js b/pages/en/db-test.js new file mode 100644 index 0000000..f2dccd3 --- /dev/null +++ b/pages/en/db-test.js @@ -0,0 +1,79 @@ +import { PrismaClient } from "@prisma/client"; +import { useState } from "react"; +const prisma = new PrismaClient(); + +export async function getServerSideProps() { + const user = await prisma.user.findMany({ + where: { + setting: { + path: ["language"], + equals: "id", + }, + }, + }); + return { + props: { + user, + }, + }; +} + +const settings = { + isAdult: false, + theme: "dark", + language: "en", +}; + +export default function DbTest({ user }) { + const [add, setUser] = useState(); + + console.log(user); + + async function handleCreate(e) { + e.preventDefault(); + const res = await fetch("/api/user", { + method: "POST", + body: JSON.stringify({ name: add, setting: settings }), + }); + const json = await res.json(); + console.log(json); + } + // console.log(add); + return ( + <div> + <form onSubmit={handleCreate}> + <input type="text" onChange={(e) => setUser(e.target.value)} /> + <button type="submit">Submit</button> + </form> + <h1>hello gaes</h1> + </div> + ); +} + +const user = [ + { + id: String, + name: String, + setting: { + isAdult: Boolean, + theme: String, + language: String, + }, + watchList: [ + { + id: String, + title: String, + episodes: [ + { + id: String, + title: String, + episode: Number, + url: String, + timeWatched: Number, + duration: Number, + }, + ], + }, + ], + }, +]; |