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.quebec/private_html/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/lavocat.quebec/private_html/scripts/check-existing-data.ts
import { PrismaClient } from '@prisma/client';

const prisma = new PrismaClient();

async function checkExistingData() {
  console.log('šŸ” Checking existing data in database...\n');

  try {
    // Check existing cases
    const existingCases = await prisma.legalCase.findMany({
      select: {
        id: true,
        title: true,
        caseNumber: true,
        status: true,
        isPublic: true,
        createdAt: true
      },
      orderBy: { createdAt: 'desc' }
    });

    console.log(`šŸ“ Found ${existingCases.length} existing legal cases:`);
    existingCases.forEach((case_, index) => {
      console.log(`  ${index + 1}. ${case_.title} (${case_.caseNumber || 'No case number'}) - ${case_.status} ${case_.isPublic ? '(PUBLIC)' : '(PRIVATE)'}`);
    });

    // Check existing users by role
    const userCounts = await prisma.user.groupBy({
      by: ['role'],
      _count: { role: true }
    });

    console.log('\nšŸ‘„ Existing users by role:');
    userCounts.forEach(group => {
      console.log(`  ${group.role}: ${group._count.role} users`);
    });

    // Check if any of the new models have data
    const badgeCount = await prisma.badge.count();
    const caseOfferCount = await prisma.caseOffer.count();
    const caseSupportCount = await prisma.caseSupport.count();

    console.log('\nšŸŽ® New feature data:');
    console.log(`  Badges: ${badgeCount}`);
    console.log(`  Case Offers: ${caseOfferCount}`);
    console.log(`  Case Supports: ${caseSupportCount}`);

    // Check for any public cases
    const publicCases = await prisma.legalCase.count({
      where: { isPublic: true }
    });

    console.log(`\nšŸ›ļø Public cases: ${publicCases}`);

    // Check case numbers to avoid conflicts
    const caseNumbers = await prisma.legalCase.findMany({
      where: { caseNumber: { not: null } },
      select: { caseNumber: true }
    });

    console.log('\nšŸ“‹ Existing case numbers:');
    caseNumbers.forEach(case_ => {
      console.log(`  - ${case_.caseNumber}`);
    });

    console.log('\nāœ… Database check complete. No changes made.');

  } catch (error) {
    console.error('āŒ Error checking database:', error);
  } finally {
    await prisma.$disconnect();
  }
}

if (require.main === module) {
  checkExistingData();
}

export { checkExistingData }; 

CasperSecurity Mini