NeahNew/.next/server/app/api/courrier/microsoft/callback/route.js
2025-05-06 23:01:34 +02:00

1 line
6.4 KiB
JavaScript

"use strict";(()=>{var e={};e.id=3500,e.ids=[3500],e.modules={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")},9875:(e,r,t)=>{t.r(r),t.d(r,{patchFetch:()=>y,routeModule:()=>b,serverHooks:()=>q,workAsyncStorage:()=>m,workUnitAsyncStorage:()=>h});var o={};t.r(o),t.d(o,{POST:()=>x});var s=t(96559),a=t(48088),n=t(37719),i=t(32190),u=t(19854),c=t(26690),p=t(42873),d=t(79464),f=t(87795),l=t(36781);async function x(e){try{let r=await (0,u.getServerSession)(c.N);if(!r?.user?.id)return i.NextResponse.json({error:"Unauthorized"},{status:401});let{code:t,state:o}=await e.json();if(!t||!o)return i.NextResponse.json({error:"Missing required parameters"},{status:400});try{let e=JSON.parse(Buffer.from(o,"base64").toString());if(e.userId!==r.user.id||Date.now()-e.timestamp>6e5)return i.NextResponse.json({error:"Invalid or expired state parameter"},{status:400})}catch(e){return i.NextResponse.json({error:"Invalid state parameter"},{status:400})}let s=await (0,p.oK)(t),a="";a=r.user?.email?r.user.email:`unknown-user-${r.user.id}@outlook.com`,console.log(`Using email: ${a} for Microsoft account`);let n={email:a,password:"microsoft-oauth2-account",host:"outlook.office365.com",port:993,secure:!0,useOAuth:!0,accessToken:s.access_token,refreshToken:s.refresh_token,tokenExpiry:Date.now()+1e3*s.expires_in,display_name:`Microsoft (${a})`,color:"#0078D4",smtp_host:"smtp.office365.com",smtp_port:587,smtp_secure:!1};console.log(`Microsoft OAuth credentials prepared for ${a}:`,{useOAuth:n.useOAuth,host:n.host,hasAccessToken:!!n.accessToken,hasRefreshToken:!!n.refreshToken,tokenExpiry:new Date(n.tokenExpiry).toISOString()}),console.log(`Testing Microsoft OAuth connection for user ${r.user.id}`);let x=await (0,f.vC)(n);if(!x.imap)return i.NextResponse.json({error:`Connection test failed: ${x.error||"Could not connect to Microsoft IMAP server"}`},{status:400});console.log(`Saving Microsoft account for user: ${r.user.id}`),await (0,f.tE)(r.user.id,a,n);let b=await d.z.mailCredentials.findFirst({where:{userId:r.user.id,email:a},select:{id:!0,email:!0,display_name:!0,color:!0}});return await (0,l.gU)(r.user.id,a,"*"),await (0,l.pz)(r.user.id,a,n),i.NextResponse.json({success:!0,account:b,message:"Microsoft account added successfully"})}catch(e){return console.error("Error processing Microsoft callback:",e),i.NextResponse.json({error:"Failed to process Microsoft authentication",details:e instanceof Error?e.message:"Unknown error"},{status:500})}}let b=new s.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/courrier/microsoft/callback/route",pathname:"/api/courrier/microsoft/callback",filename:"route",bundlePath:"app/api/courrier/microsoft/callback/route"},resolvedPagePath:"/Users/alma/Documents/NeahNew/app/api/courrier/microsoft/callback/route.ts",nextConfigOutput:"",userland:o}),{workAsyncStorage:m,workUnitAsyncStorage:h,serverHooks:q}=b;function y(){return(0,n.patchFetch)({workAsyncStorage:m,workUnitAsyncStorage:h})}},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 a.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 a=function(e,r){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=n(r);if(t&&t.has(e))return t.get(e);var o={__proto__:null},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&({}).hasOwnProperty.call(e,a)){var i=s?Object.getOwnPropertyDescriptor(e,a):null;i&&(i.get||i.set)?Object.defineProperty(o,a,i):o[a]=e[a]}return o.default=e,t&&t.set(e,o),o}(t(35426));function n(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap,t=new WeakMap;return(n=function(e){return e?t:r})(e)}Object.keys(a).forEach(function(e){!("default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(o,e))&&(e in r&&r[e]===a[e]||Object.defineProperty(r,e,{enumerable:!0,get:function(){return a[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(9875));module.exports=o})();