This commit implements the core admin dashboard functionality including NextAuth authentication, Cloudflare D1 database integration with complete schema, and Cloudflare R2 file upload system for portfolio images. Features include artist management, appointment scheduling, and data migration capabilities.
13 lines
4.2 KiB
JavaScript
13 lines
4.2 KiB
JavaScript
"use strict";(()=>{var e={};e.id=4887,e.ids=[4887],e.modules={72934:e=>{e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},27790:e=>{e.exports=require("assert")},78893:e=>{e.exports=require("buffer")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},86624:e=>{e.exports=require("querystring")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},15431:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>b,patchFetch:()=>v,requestAsyncStorage:()=>h,routeModule:()=>y,serverHooks:()=>g,staticGenerationAsyncStorage:()=>x});var n={};r.r(n),r.d(n,{GET:()=>m,dynamic:()=>d});var o=r(73278),a=r(45002),i=r(54877),s=r(71309),u=r(18445),p=r(33897),l=r(1035),f=r(29628);let c=f.z.object({path:f.z.string().default("/"),limit:f.z.string().transform(Number).optional(),offset:f.z.string().transform(Number).optional()}),d="force-dynamic";async function m(e,{params:t}={},r){try{if(!await (0,u.getServerSession)(p.Lz))return s.NextResponse.json({error:"Unauthorized"},{status:401});let{searchParams:t}=new URL(e.url),n=c.parse({path:t.get("path"),limit:t.get("limit"),offset:t.get("offset")}),o=(0,l.VK)(r?.env),a=`
|
|
SELECT
|
|
fu.id,
|
|
fu.filename as name,
|
|
'file' as type,
|
|
fu.size,
|
|
fu.mime_type as mimeType,
|
|
fu.url,
|
|
fu.created_at as createdAt,
|
|
'/' || fu.filename as path
|
|
FROM file_uploads fu
|
|
WHERE 1=1
|
|
`,i=[];"/"!==n.path&&(a+=" AND fu.filename LIKE ?",i.push(`${n.path.replace("/","")}%`)),a+=" ORDER BY fu.created_at DESC",n.limit&&(a+=" LIMIT ?",i.push(n.limit),n.offset&&(a+=" OFFSET ?",i.push(n.offset)));let f=o.prepare(a),d=(await f.bind(...i).all()).results.map(e=>({...e,createdAt:new Date(e.createdAt)}));return s.NextResponse.json(d)}catch(e){return console.error("Files fetch error:",e),s.NextResponse.json({error:"Failed to fetch files"},{status:500})}}let y=new o.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/files/route",pathname:"/api/files",filename:"route",bundlePath:"app/api/files/route"},resolvedPagePath:"/home/Nicholai/Documents/Dev/united_v03/united-tattoo/united-tattoo/app/api/files/route.ts",nextConfigOutput:"standalone",userland:n}),{requestAsyncStorage:h,staticGenerationAsyncStorage:x,serverHooks:g}=y,b="/api/files/route";function v(){return(0,i.patchFetch)({serverHooks:g,staticGenerationAsyncStorage:x})}},32482:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},18445:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n={};Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a.default}});var o=r(32482);Object.keys(o).forEach(function(e){!("default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(n,e))&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))});var a=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=i(void 0);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&({}).hasOwnProperty.call(e,a)){var s=o?Object.getOwnPropertyDescriptor(e,a):null;s&&(s.get||s.set)?Object.defineProperty(n,a,s):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}(r(4128));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}Object.keys(a).forEach(function(e){!("default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(n,e))&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))})}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[9379,8213,4128,4833,1253],()=>r(15431));module.exports=n})(); |