NeahNew/.next/server/app/api/courrier/microsoft/callback/route.js
2026-01-02 14:32:36 +01: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),f=t(79464),d=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,d.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,d.tE)(r.user.id,a,n);let b=await f.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")},14255:(e,r,t)=>{t.r(r),t.d(r,{"409083e64f5fe82bb580397645258675cdecd4aedb":()=>o.vC,"40aaa3ff37ac0b9242a82825b209b3f3998b2827ea":()=>o.uu,"60301dd4c97b25a22f52a1b2ed0345927c7009f42a":()=>o.QM,"605c77ef308e7aab8c30ce77cbd91d7851d438cd06":()=>o.ZM,"6092b43564b136264f47b6839f2d73d16b93f0c144":()=>o.IF,"60942df3263695c44a36c3b274f620e2859980e1c0":()=>o.nJ,"70947927b21002dafca76b076ccfddf03253e7eb74":()=>o.tE,"78b69d87b0e79f11066ba9300fd1a70693d2c10285":()=>o.Yg,"7c4795a4c07f98f5945bac30357610c05c6e402ec1":()=>o.Nw,"7c77f9d2d4c8842439e682f54cfa5bc3173f505232":()=>o.e9,"7e6e570fb277cfaffa51dd4472fb1c179f100a8f64":()=>o.cE});var o=t(87795)},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")},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,2461,9908,4612,6365,6781,6624],()=>t(9875));module.exports=o})();