1 line
2.4 KiB
JavaScript
1 line
2.4 KiB
JavaScript
"use strict";exports.id=7099,exports.ids=[7099],exports.modules={14182:(e,t,r)=>{r.d(t,{$R:()=>i,Ui:()=>l,XB:()=>a,XR:()=>c,YE:()=>s,ZT:()=>d,b4:()=>u,oD:()=>o});var n=r(91043);let s={endpoint:"https://dome-api.slm-lab.net",region:"us-east-1",bucket:process.env.S3_BUCKET||"pages",accessKey:"4aBT4CMb7JIMMyUtp4Pl",secretKey:"HGn39XhCIlqOjmDVzRK9MED2Fci2rYvDDgbLFElg"},o=new n.S3Client({region:s.region,endpoint:s.endpoint,credentials:{accessKeyId:s.accessKey,secretAccessKey:s.secretKey},forcePathStyle:!0});async function i(e,t,r){let i=new n.PutObjectCommand({Bucket:s.bucket,Key:e,Body:"string"==typeof t?Buffer.from(t,"utf-8"):t,ContentType:r||"text/plain"});return await o.send(i),{key:e}}async function a(e){try{let t=new n.GetObjectCommand({Bucket:s.bucket,Key:e}),r=await o.send(t);if(!r.Body)return null;let i=[];for await(let e of r.Body)i.push(e);return Buffer.concat(i).toString("utf-8")}catch(e){return console.error("Error getting object content:",e),null}}async function c(e){let t=new n.DeleteObjectCommand({Bucket:s.bucket,Key:e});await o.send(t)}async function l(e,t){let r=`user-${e}/${t}/`,i=new n.ListObjectsV2Command({Bucket:s.bucket,Prefix:r,Delimiter:"/"});return((await o.send(i)).Contents||[]).filter(e=>e.Key&&!e.Key.endsWith("/")&&!e.Key.includes(".placeholder")).map(e=>({key:e.Key,name:e.Key.split("/").pop()||e.Key,size:e.Size,lastModified:e.LastModified}))}function u(e,t){if(!e)return"";if(e.startsWith("http"))return e;let r=e.startsWith("/")?e.substring(1):e,n=s.endpoint?.replace(/\/$/,""),o=t||s.bucket;return n?`${n}/${o}/${r}`:r}async function d(e){for(let t of["notes","diary","health","contacts"])try{let r=`user-${e}/${t}/`;await i(r,"","application/x-directory");let n=`user-${e}/${t}/.placeholder`;await i(n,"Folder placeholder","text/plain"),console.log(`Created folder: ${r}`)}catch(r){console.error(`Error creating folder ${t} for user ${e}:`,r)}}},27099:(e,t,r)=>{r.r(t),r.d(t,{POST:()=>a});var n=r(32190),s=r(19854),o=r(26690),i=r(14182);async function a(e){try{let e=await (0,s.getServerSession)(o.N);if(!e?.user?.id)return n.NextResponse.json({error:"Unauthorized"},{status:401});return console.log(`Initializing storage for user: ${e.user.id}`),await (0,i.ZT)(e.user.id),n.NextResponse.json({success:!0,message:"Storage initialized successfully"})}catch(e){return console.error("Storage initialization failed:",e),n.NextResponse.json({error:"Failed to initialize storage",details:e instanceof Error?e.message:"Unknown error"},{status:500})}}}}; |