![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/lavocat.ca/private_html/.next/server/pages/api/client/ |
"use strict";(()=>{var e={};e.id=1065,e.ids=[1065],e.modules={4722:e=>{e.exports=require("next-auth/react")},8732:e=>{e.exports=require("react/jsx-runtime")},16382:e=>{e.exports=require("next-auth/providers/credentials")},22326:e=>{e.exports=require("react-dom")},25891:(e,r,t)=>{t.r(r),t.d(r,{config:()=>m,default:()=>p,routeModule:()=>g});var s={};t.r(s),t.d(s,{default:()=>l});var i=t(33480),a=t(8667),n=t(86435),d=t(65542),o=t(41822),u=t(76760),c=t(16062);async function l(e,r){let t=await (0,d.getServerSession)(e,r,o.N);if(!t?.user)return r.status(401).json({error:"Unauthorized"});if("CLIENT"!==t.user.role&&!(0,c.jm)(t))return r.status(403).json({error:"Access denied. Client role or super admin required."});if("GET"===e.method)try{let e=(0,c.jm)(t)?{}:{OR:[{senderId:t.user.id},{recipientId:t.user.id}]},s=(await u.z.directMessage.findMany({where:e,include:{sender:{select:{id:!0,name:!0,role:!0}},recipient:{select:{id:!0,name:!0,role:!0}}},orderBy:{createdAt:"desc"},take:50})).map(e=>({id:e.id,content:e.content,senderId:e.senderId,senderName:`${e.sender.name}`,timestamp:e.createdAt,isRead:e.isRead,senderRole:e.sender.role}));return r.status(200).json({messages:s})}catch(e){return console.error("Error fetching client messages:",e),r.status(500).json({error:"Failed to fetch client messages"})}if("POST"===e.method)try{let{content:s,recipientId:i,caseId:a}=e.body;if(!s||!i)return r.status(400).json({error:"Missing required fields"});if(!await u.z.user.findFirst({where:{id:i,role:"LAWYER"}}))return r.status(400).json({error:"Invalid recipient"});let n=await u.z.directMessage.create({data:{content:s,senderId:t.user.id,recipientId:i,isRead:!1},include:{sender:{select:{id:!0,name:!0,role:!0}},recipient:{select:{id:!0,name:!0,role:!0}}}});return await u.z.notification.create({data:{userId:i,type:"CLIENT_MESSAGE",title:"New Client Message",message:`${t.user.name} sent you a message`,data:JSON.stringify({messageId:n.id,caseId:a}),isRead:!1}}),r.status(201).json({message:n})}catch(e){return console.error("Error sending client message:",e),r.status(500).json({error:"Failed to send message"})}return r.status(405).json({error:"Method not allowed"})}let p=(0,n.M)(s,"default"),m=(0,n.M)(s,"config"),g=new i.PagesAPIRouteModule({definition:{kind:a.A.PAGES_API,page:"/api/client/messages",pathname:"/api/client/messages",bundlePath:"",filename:""},userland:s})},27910:e=>{e.exports=require("stream")},29021:e=>{e.exports=require("fs")},40361:e=>{e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},65542:e=>{e.exports=require("next-auth")},74075:e=>{e.exports=require("zlib")},74729:e=>{e.exports=require("bcryptjs")},75600:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},82015:e=>{e.exports=require("react")},96330:e=>{e.exports=require("@prisma/client")}};var r=require("../../../webpack-api-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[7332,6062],()=>t(25891));module.exports=s})();