diff --git a/.gitignore b/.gitignore index 56f72c6..4e6e2c4 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,7 @@ yarn-error.log* # vercel .vercel + +# prisma data +/prisma/migrations +/prisma/borders.db diff --git a/lib/borders.js b/lib/borders.js index a0b71e4..7d31646 100644 --- a/lib/borders.js +++ b/lib/borders.js @@ -1,7 +1,14 @@ -import { getServerSession } from "next-auth"; import { getSession } from "next-auth/react"; import prisma from "./prisma"; +export const getBorderById = async (id) => { + return await prisma.borderImage.findFirst({ + where: { + id: parseInt(id) + } + }); +} + export const getUserBorders = async (req) => { const session = await getSession({ req }); if (!session) { diff --git a/package.json b/package.json index 8ab3685..5e3276f 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "dev": "next dev", "build": "next build", "start": "next start", - "lint": "next lint" + "lint": "next lint", + "ingest": "node util/ingest.js" }, "dependencies": { "@next-auth/prisma-adapter": "^1.0.3", diff --git a/pages/api/auth/[...nextauth].js b/pages/api/auth/[...nextauth].js index f12c5bf..d8016d6 100644 --- a/pages/api/auth/[...nextauth].js +++ b/pages/api/auth/[...nextauth].js @@ -14,7 +14,7 @@ export default NextAuth({ callbacks: { async session({ session, token, user }) { session.user.id = user.id; - console.log(JSON.stringify(user)); + // console.log(JSON.stringify(user)); return session; }, }, diff --git a/pages/api/border/[id].js b/pages/api/border/[id].js new file mode 100644 index 0000000..9ec5c5a --- /dev/null +++ b/pages/api/border/[id].js @@ -0,0 +1,16 @@ +import { getBorderById } from "../../../lib/borders"; + +export default function handler(req, res) { + const id = req.query.id; + + console.log(id); + + getBorderById(id).then((result) => { + const imageName = result?.imageName ?? "default.png"; + + console.log(result, imageName); + + return res.status(200).json(result); + // return res.redirect(301, `/images/${imageName}`) + }); + } \ No newline at end of file diff --git a/prisma/borders.db b/prisma/borders.db deleted file mode 100644 index 91aa7c6..0000000 Binary files a/prisma/borders.db and /dev/null differ diff --git a/util/ingest.js b/util/ingest.js new file mode 100644 index 0000000..35cdc77 --- /dev/null +++ b/util/ingest.js @@ -0,0 +1,40 @@ +console.log("a"); +const fs = require('fs'); +const path = require('path'); +const Prisma = require("@prisma/client"); + +const prisma = new Prisma.PrismaClient(); + +console.log("processing new border images"); + +const cwd = process.cwd(); + +const folder = path.join(cwd, cwd.includes("util") ? ".." : "", "public/images"); +const list = fs.readdirSync(folder); + +(async () => { + let numAdded = 0; + for (let item of list) { + // console.log(item); + + const result = await prisma.borderImage.findFirst( + { + where: { + imageName: item + } + } + ); + if (!result) { + const added = await prisma.borderImage.create( + { + data: { + imageName: item + }, + } + ); + numAdded++; + console.log(added); + } + } + console.log(`Processed ${numAdded} new images.`); +})(); \ No newline at end of file