From 8ed0fa5de20a294b428dac356444e7d1398279fa Mon Sep 17 00:00:00 2001 From: Jane Petrovna Date: Mon, 11 Apr 2022 13:33:16 -0400 Subject: [PATCH] try to add image mapping --- .gitignore | 4 ++++ lib/borders.js | 9 ++++++- package.json | 3 ++- pages/api/auth/[...nextauth].js | 2 +- pages/api/border/[id].js | 16 +++++++++++++ prisma/borders.db | Bin 77824 -> 0 bytes util/ingest.js | 40 ++++++++++++++++++++++++++++++++ 7 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 pages/api/border/[id].js delete mode 100644 prisma/borders.db create mode 100644 util/ingest.js 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 91aa7c62247876c94524f6788d248337f9db9249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77824 zcmeI*+i%;}9S3mIvMtN0qpXc11l|Th9hMl0Y~Cp@NL|%d0&R|+*wU5+1q5CWZN<8U zqSGYXLzEO5u>YZN1NyWENdJHheHw;6>}km3kY#9AVAyNlw!@2T%c5Gl2v%qP3YJA3 z9-i~#=NukVqC~A1kYq6?Ob*Xa_`QqjEK*kfm#l#;j=w;nDXEo8aG@Q7XTvfL82 zESIhncgp3KikAwNwG~!mhAb~dXK(6n_Hu6BW*uuh=9>`1EdAI89c`h5&o}KMZrjwaP z8u0v(fQLtU;($@^lrTKBD45Fe@yzTr`^z8{f0L+^hEc2gn}Yu=9a~|4zOW8IjjnO9 zbawWGsbuEj4BLG>D0iK7I&_PxcEZPUuN9*7E zP_V4lcGIi2-PRr281BwQG$Y#R!(3CbaU86OFsdjojjC6n-|oHXojS9#SC5Tn&Yfd# z1lxS)cAf5Jsm|?f(zM9Fr*A}2h1>eRnP;0ugPf;J&ZfU)(_b>b@rRN}*_C&HTg1w`CG@|;wrf+->H`^e*C`*tMt}mf`g5Ibd&8;qq;$L3~ z$AEBTi$J0agyAemp^hmI`4pB!tMk9; zBcor{M|yDx(ZtxJn`|;82<+o(&`0P#vDRrA)kbZ@4UUXEgDE5ZJ!ddO-|*ufc<#Fe zN0NIFJNF$`TARe$>TEZ%{maE2fI78it+Pq&pjCIX?;D|Z)}|T`c2UN-0_&{}I{FUW z{H#$Ya9i~{t>Th~+pbG@8&$8?AavnIJF3p` zcVe`ljz`*^YH$SO$JaZIudJ-oVWzk=SRg++yErnQ`GqiSycle_sxX+Aps%GS{MS=c z^qx5WK9ly2zoZYiK>z{}fB*y_009U<00Izz00a&#&`l*KE8VHFa||<^v_T#58S1=55Q?EKMOqmNZEb zG@iF4M^k0VQ7u}#U^`||?bDrDG>I35AePVn*iEs!v8Z$vc*oLmIuZGtY^(X4Aqgax z=jke2wq)q4Zs{~y!?9JJD7s_PfJ94mB)XQ8q7w>b>ViVC1jlkz!{8O0D4Ojks-TN` zS>pXzKL2;OL6Yz@9^~DNku!-(>L70|_~-xG^fE*LaDxB@AOHafKmY;|fB*y_009U< z-~a+$ft^}d$jk_((&*_~hOz2`SNFEI6`mK=yDj^^t~5N^=H+OH=kh$C_h+;l9lL(( zHfhl>Rc%IJzZFDDrOU~hsN_{$qaPsH;Fa||i}#JKdv!~`-o9q7F5lBH3+=m0o#j&D zn&+-vS-T@uJ0`F^>qTR&a8c~jdq-@pF*_lV)r@6Lu_mc7RX-~aN@|Fh}8 zGxQHP2tWV=5P$##AOHafKmY;|fB*zuUxDu@7E(jsiU`mDf5fCedVNG@#s$(ze|5m(`z;TUuvGSHa9)5-TBGuonql&iZklHJ`u_!!esPdekp}`0 zfB*y_009U<00Izz00bZafukxglem}~_RE6)>wjGT|ERVc;(`DKAOHafKmY;|fB*y_ z009WR8Ueiie>ILM1p*L&00bZa0SG_<0uX=z1R!vf1*T|lZ2Auj{X2G)<3wx_fB*y_ z009U<00Izz00bZaf$y@wJ8Y6!5SXzst1ftTZ_9Iep3mQH+4tLxj$OZXn+#s_k9~0R z$-iEP|HJS9f5D``!0Z3-azDblLjVF0fB*y_009U<00Izz!2gTDbV5iCz8COclO@Cb 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