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…
	
	Add table
		Add a link
		
	
		Reference in a new issue