1 line
6.9 KiB
JavaScript
1 line
6.9 KiB
JavaScript
"use strict";(()=>{var e={};e.id=9230,e.ids=[9230],e.modules={1789:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>y,routeModule:()=>x,serverHooks:()=>g,workAsyncStorage:()=>b,workUnitAsyncStorage:()=>h});var o={};t.r(o),t.d(o,{GET:()=>m});var s=t(96559),n=t(48088),a=t(37719),i=t(32190),u=t(19854),d=t(26690),l=t(87795),c=t(36781),f=t(79464);let p=(e,r)=>`email:folders:${e}:${r}`;async function m(){try{let e=(0,c.nr)();if(!e)return console.error("Redis connection failed"),i.NextResponse.json({error:"Redis connection failed"},{status:500});console.log("Attempting to get server session...");let r=await (0,u.getServerSession)(d.N);if(!r)return console.error("No session found"),i.NextResponse.json({authenticated:!1,error:"No session found"},{status:401});if(!r.user)return console.error("No user in session"),i.NextResponse.json({authenticated:!1,error:"No user in session"},{status:401});if(!r.user.id)return console.error("No user ID in session"),i.NextResponse.json({authenticated:!1,error:"No user ID in session"},{status:401});console.log("Session validated successfully:",{userId:r.user.id,email:r.user.email,name:r.user.name}),console.log("Fetching user with ID:",r.user.id);let t=await f.z.user.findUnique({where:{id:r.user.id},include:{mailCredentials:!0}});if(!t)return console.error("User not found in database"),i.NextResponse.json({authenticated:!0,hasEmailCredentials:!1,error:"User not found in database"});let o=t.mailCredentials||[];if(0===o.length)return console.log("No email accounts found for user:",r.user.id),i.NextResponse.json({authenticated:!0,hasEmailCredentials:!1,accounts:[],message:"No email accounts found"});console.log(`Found ${o.length} accounts for user:`,o.map(e=>e.email));let s=await Promise.all(o.map(async r=>{let o=p(t.id,r.id);try{let s=await e.get(o);if(s)return console.log(`Using cached folders for account ${r.email}`),{id:r.id,email:r.email,display_name:r.display_name,color:r.color,folders:JSON.parse(s)};console.log(`Fetching folders from IMAP for account ${r.email}`);let n=await (0,l.IF)(t.id,r.id);if(!n)return console.warn(`Failed to get IMAP connection for account ${r.email}`),{id:r.id,email:r.email,display_name:r.display_name,color:r.color,folders:["INBOX","Sent","Drafts","Trash","Junk"]};let a=await (0,l.nJ)(n);return console.log(`Fetched ${a.length} folders for account ${r.email}`),await e.set(o,JSON.stringify(a),"EX",3600),{id:r.id,email:r.email,display_name:r.display_name,color:r.color,folders:a}}catch(e){return console.error(`Error fetching folders for account ${r.id}:`,e),{id:r.id,email:r.email,display_name:r.display_name,color:r.color,folders:["INBOX","Sent","Drafts","Trash","Junk"]}}}));return i.NextResponse.json({authenticated:!0,hasEmailCredentials:!0,allAccounts:s})}catch(e){return console.error("Error in session route:",e),i.NextResponse.json({authenticated:!1,error:"Internal server error",details:e instanceof Error?e.message:"Unknown error"},{status:500})}}let x=new s.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/courrier/session/route",pathname:"/api/courrier/session",filename:"route",bundlePath:"app/api/courrier/session/route"},resolvedPagePath:"/Users/alma/Documents/NeahNew/app/api/courrier/session/route.ts",nextConfigOutput:"",userland:o}),{workAsyncStorage:b,workUnitAsyncStorage:h,serverHooks:g}=x;function y(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:h})}},3295:e=>{e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:e=>{e.exports=require("node:buffer")},8086:e=>{e.exports=require("module")},10846:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11723:e=>{e.exports=require("querystring")},12269:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0})},12412:e=>{e.exports=require("assert")},14985:e=>{e.exports=require("dns")},19854:(e,r,t)=>{Object.defineProperty(r,"__esModule",{value:!0});var o={};Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n.default}});var s=t(12269);Object.keys(s).forEach(function(e){!("default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(o,e))&&(e in r&&r[e]===s[e]||Object.defineProperty(r,e,{enumerable:!0,get:function(){return s[e]}}))});var n=function(e,r){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=a(r);if(t&&t.has(e))return t.get(e);var o={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in e)if("default"!==n&&({}).hasOwnProperty.call(e,n)){var i=s?Object.getOwnPropertyDescriptor(e,n):null;i&&(i.get||i.set)?Object.defineProperty(o,n,i):o[n]=e[n]}return o.default=e,t&&t.set(e,o),o}(t(35426));function a(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(a=function(e){return e?t:r})(e)}Object.keys(n).forEach(function(e){!("default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(o,e))&&(e in r&&r[e]===n[e]||Object.defineProperty(r,e,{enumerable:!0,get:function(){return n[e]}}))})},21820:e=>{e.exports=require("os")},27910:e=>{e.exports=require("stream")},28354:e=>{e.exports=require("util")},29021:e=>{e.exports=require("fs")},29294:e=>{e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{e.exports=require("path")},34631:e=>{e.exports=require("tls")},36268:(e,r,t)=>{t.r(r),t.d(r,{"406f28c76c2dd4d32ced5b13b189617b649b9bfed6":()=>o.uu,"40ffe2e562761be02ad5d7c3f8cee4316dd6e0d5f6":()=>o.vC,"60023f066940400bb4b31628f742482a64e8f8fb8d":()=>o.ZM,"600528b29b4effb3dfffbb4ac0b40a5892135cff9b":()=>o.IF,"60624dc244af7f822e7cf2f2a416fca71f0f6a3023":()=>o.QM,"60e95a1735db6ded320579f695ad4d93a03daaef8b":()=>o.nJ,"707a67d0a7ca9279d96141225e723a5fe214c4a735":()=>o.tE,"78d83111d1c012759dad167432affb7d8d8d98cd33":()=>o.Yg,"7c7f5d5e66956af89b74ffbd59650b767db2316b77":()=>o.Nw,"7c9b414f13445c0a6cf7f5af0864c0a3acf38a6878":()=>o.e9,"7e76edd695ba1c6b60a50d9f517953f2e592e97352":()=>o.cE});var o=t(87795)},41204:e=>{e.exports=require("string_decoder")},44870:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},48161:e=>{e.exports=require("node:os")},55511:e=>{e.exports=require("crypto")},55591:e=>{e.exports=require("https")},57075:e=>{e.exports=require("node:stream")},63033:e=>{e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73566:e=>{e.exports=require("worker_threads")},74075:e=>{e.exports=require("zlib")},76760:e=>{e.exports=require("node:path")},78474:e=>{e.exports=require("node:events")},79428:e=>{e.exports=require("buffer")},79551:e=>{e.exports=require("url")},79646:e=>{e.exports=require("child_process")},81630:e=>{e.exports=require("http")},83997:e=>{e.exports=require("tty")},91645:e=>{e.exports=require("net")},94735:e=>{e.exports=require("events")},96330:e=>{e.exports=require("@prisma/client")}};var r=require("../../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),o=r.X(0,[4243,5419,580,8794,1642,6724,762,8376,4612,2461,9908,6365,6781,6624],()=>t(1789));module.exports=o})(); |