T.ME/BIBIL_0DAY
CasperSecurity


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/lawyer/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/lavocat.ca/private_html/.next/server/pages/api/lawyer/analytics.js
"use strict";(()=>{var e={};e.id=6670,e.ids=[6670],e.modules={3489:(e,t,a)=>{a.r(t),a.d(t,{config:()=>d,default:()=>c,routeModule:()=>h});var n={};a.r(n),a.d(n,{default:()=>s});var r=a(33480),o=a(8667),l=a(86435),i=a(4722),u=a(76760);async function s(e,t){let a=await (0,i.getSession)({req:e});if(!a||!["LAWYER","ADMIN","SUPERADMIN"].includes(a.user.role))return t.status(403).json({error:"Unauthorized"});if("GET"!==e.method)return t.status(405).json({error:"Method not allowed"});let{range:n="30d"}=e.query,r=new Date,o=new Date;switch(n){case"7d":o.setDate(r.getDate()-7);break;case"30d":default:o.setDate(r.getDate()-30);break;case"90d":o.setDate(r.getDate()-90);break;case"1y":o.setFullYear(r.getFullYear()-1)}try{let[e,a,n,l,i]=await Promise.all([u.z.legalCase.findMany({where:{createdAt:{gte:o}},include:{creator:{select:{name:!0}},leadLawyer:{select:{name:!0}}}}),u.z.consultationBooking.findMany({where:{createdAt:{gte:o}}}),u.z.task.findMany({where:{createdAt:{gte:o}}}),u.z.user.findMany({where:{role:{in:["LAWYER","ADMIN","SUPERADMIN","SUPERADMIN","ASSISTANT","PARALEGAL"]}}}),u.z.payment.findMany({where:{createdAt:{gte:o},status:"COMPLETED"}})]),s=e.length,c=e.filter(e=>"ACTIVE"===e.status).length,d=e.filter(e=>"COMPLETED"===e.status).length,h=i.reduce((e,t)=>e+t.amount,0),f=i.filter(e=>e.createdAt>=new Date(r.getFullYear(),r.getMonth(),1)).reduce((e,t)=>e+t.amount,0),g=a.length,y=a.filter(e=>"COMPLETED"===e.status).length,m=l.length,p=s>0?e.reduce((e,t)=>{let a=t.updatedAt?(new Date(t.updatedAt).getTime()-new Date(t.createdAt).getTime())/864e5:0;return e+a},0)/s:0,A=d>0?e.filter(e=>"COMPLETED"===e.status).length/d*100:0,M=n.length>0?n.filter(e=>"COMPLETED"===e.status).length/n.length*100:0,P=l.filter(e=>"LAWYER"===e.role).map(e=>({name:e.name||e.email,revenue:h*(.3+.4*Math.random())})),E=[{status:"Active",count:c},{status:"Completed",count:d},{status:"Pending",count:e.filter(e=>"PENDING"===e.status).length},{status:"On Hold",count:e.filter(e=>"ON_HOLD"===e.status).length}],D=[{type:"Criminal",count:Math.floor(.4*s)},{type:"Civil",count:Math.floor(.3*s)},{type:"Family",count:Math.floor(.2*s)},{type:"Corporate",count:Math.floor(.1*s)}],w=[{status:"Pending",count:a.filter(e=>"PENDING"===e.status).length},{status:"Confirmed",count:a.filter(e=>"CONFIRMED"===e.status).length},{status:"Completed",count:y},{status:"Cancelled",count:a.filter(e=>"CANCELLED"===e.status).length}],C=[{type:"General",count:Math.floor(.3*g)},{type:"Criminal",count:Math.floor(.25*g)},{type:"Civil",count:Math.floor(.25*g)},{type:"Family",count:Math.floor(.2*g)}],v=[];for(let e=0;e<12;e++){let t=new Date(r.getFullYear(),r.getMonth()-e,1),a=i.filter(e=>{let a=new Date(e.createdAt);return a.getMonth()===t.getMonth()&&a.getFullYear()===t.getFullYear()}).reduce((e,t)=>e+t.amount,0);v.unshift({month:t.toLocaleDateString("en-US",{month:"short",year:"numeric"}),revenue:a})}let S=[];for(let t=0;t<30;t++){let a=new Date(r.getTime()-24*t*36e5),n=e.filter(e=>new Date(e.createdAt).toDateString()===a.toDateString()).length;S.unshift({date:a.toLocaleDateString("en-US",{month:"short",day:"numeric"}),cases:n})}let T={overview:{totalCases:s,activeCases:c,completedCases:d,totalRevenue:h,monthlyRevenue:f,totalConsultations:g,completedConsultations:y,teamMembers:m,averageCaseDuration:Math.round(p)},performance:{winRate:Math.round(A),clientSatisfaction:85,averageResponseTime:2.5,taskCompletionRate:Math.round(M)},revenue:{monthly:v,byCaseType:[{type:"Criminal",revenue:.4*h},{type:"Civil",revenue:.3*h},{type:"Family",revenue:.2*h},{type:"Corporate",revenue:.1*h}],byLawyer:P},cases:{byStatus:E,byType:D,timeline:S},consultations:{byStatus:w,byType:C,completionRate:Math.round(g>0?y/g*100:0)}};return t.status(200).json(T)}catch(e){return console.error("Error fetching analytics:",e),t.status(500).json({error:"Failed to fetch analytics"})}}let c=(0,l.M)(n,"default"),d=(0,l.M)(n,"config"),h=new r.PagesAPIRouteModule({definition:{kind:o.A.PAGES_API,page:"/api/lawyer/analytics",pathname:"/api/lawyer/analytics",bundlePath:"",filename:""},userland:n})},4722:e=>{e.exports=require("next-auth/react")},8667:(e,t)=>{Object.defineProperty(t,"A",{enumerable:!0,get:function(){return a}});var a=function(e){return e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE",e.IMAGE="IMAGE",e}({})},33480:(e,t,a)=>{e.exports=a(75600)},75600:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},76760:(e,t,a)=>{a.d(t,{z:()=>r});var n=a(96330);let r=globalThis.prisma??new n.PrismaClient({log:["error"]})},86435:(e,t)=>{Object.defineProperty(t,"M",{enumerable:!0,get:function(){return function e(t,a){return a in t?t[a]:"then"in t&&"function"==typeof t.then?t.then(t=>e(t,a)):"function"==typeof t&&"default"===a?t:void 0}}})},96330:e=>{e.exports=require("@prisma/client")}};var t=require("../../../webpack-api-runtime.js");t.C(e);var a=t(t.s=3489);module.exports=a})();

CasperSecurity Mini