try to add image mapping
This commit is contained in:
parent
49904865eb
commit
8ed0fa5de2
7 changed files with 71 additions and 3 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -31,3 +31,7 @@ yarn-error.log*
|
||||||
|
|
||||||
# vercel
|
# vercel
|
||||||
.vercel
|
.vercel
|
||||||
|
|
||||||
|
# prisma data
|
||||||
|
/prisma/migrations
|
||||||
|
/prisma/borders.db
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
import { getServerSession } from "next-auth";
|
|
||||||
import { getSession } from "next-auth/react";
|
import { getSession } from "next-auth/react";
|
||||||
import prisma from "./prisma";
|
import prisma from "./prisma";
|
||||||
|
|
||||||
|
export const getBorderById = async (id) => {
|
||||||
|
return await prisma.borderImage.findFirst({
|
||||||
|
where: {
|
||||||
|
id: parseInt(id)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export const getUserBorders = async (req) => {
|
export const getUserBorders = async (req) => {
|
||||||
const session = await getSession({ req });
|
const session = await getSession({ req });
|
||||||
if (!session) {
|
if (!session) {
|
||||||
|
|
|
@ -6,7 +6,8 @@
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
"build": "next build",
|
"build": "next build",
|
||||||
"start": "next start",
|
"start": "next start",
|
||||||
"lint": "next lint"
|
"lint": "next lint",
|
||||||
|
"ingest": "node util/ingest.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@next-auth/prisma-adapter": "^1.0.3",
|
"@next-auth/prisma-adapter": "^1.0.3",
|
||||||
|
|
|
@ -14,7 +14,7 @@ export default NextAuth({
|
||||||
callbacks: {
|
callbacks: {
|
||||||
async session({ session, token, user }) {
|
async session({ session, token, user }) {
|
||||||
session.user.id = user.id;
|
session.user.id = user.id;
|
||||||
console.log(JSON.stringify(user));
|
// console.log(JSON.stringify(user));
|
||||||
return session;
|
return session;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
16
pages/api/border/[id].js
Normal file
16
pages/api/border/[id].js
Normal file
|
@ -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}`)
|
||||||
|
});
|
||||||
|
}
|
Binary file not shown.
40
util/ingest.js
Normal file
40
util/ingest.js
Normal file
|
@ -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.`);
|
||||||
|
})();
|
Loading…
Reference in a new issue