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/backups/lavocat.quebec/backup-20250730-021618/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/backups/lavocat.quebec/backup-20250730-021618/scripts/debug-registration-access.js
const { PrismaClient } = require('@prisma/client');

const prisma = new PrismaClient();

async function debugRegistrationAccess() {
  try {
    console.log('šŸ” Debugging registration access...\n');

    const registrationId = 'cmcqjb6o80009vjfk3wo56kx0';
    const superadminId = 'cmcpzyavn0002vjz01slrcn51';

    console.log(`šŸ“‹ Checking registration: ${registrationId}`);
    console.log(`šŸ‘‘ SUPERADMIN ID: ${superadminId}\n`);

    // Get the registration
    const registration = await prisma.registration.findUnique({
      where: { id: registrationId },
      include: {
        user: true,
        creator: true
      }
    });

    if (!registration) {
      console.log('āŒ Registration not found');
      return;
    }

    console.log('šŸ“‹ Registration details:');
    console.log(`   ID: ${registration.id}`);
    console.log(`   Name: ${registration.firstName} ${registration.lastName}`);
    console.log(`   Email: ${registration.email}`);
    console.log(`   userId: ${registration.userId}`);
    console.log(`   createdBy: ${registration.createdBy}`);
    console.log(`   Status: ${registration.status}`);

    // Get the SUPERADMIN user
    const superadmin = await prisma.user.findUnique({
      where: { id: superadminId }
    });

    if (!superadmin) {
      console.log('āŒ SUPERADMIN user not found');
      return;
    }

    console.log('\nšŸ‘‘ SUPERADMIN details:');
    console.log(`   ID: ${superadmin.id}`);
    console.log(`   Name: ${superadmin.name}`);
    console.log(`   Email: ${superadmin.email}`);
    console.log(`   Role: ${superadmin.role}`);

    // Check access
    console.log('\nšŸ” Access check:');
    console.log(`   Registration userId: ${registration.userId}`);
    console.log(`   SUPERADMIN userId: ${superadmin.id}`);
    console.log(`   userId match: ${registration.userId === superadmin.id}`);
    console.log(`   Email match: ${registration.email === superadmin.email}`);

    if (registration.userId === superadmin.id) {
      console.log('āœ… SUPERADMIN has direct access to this registration');
    } else if (registration.email === superadmin.email) {
      console.log('āœ… SUPERADMIN has access via email match');
    } else if (registration.createdBy === superadmin.id) {
      console.log('āœ… SUPERADMIN created this registration');
    } else {
      console.log('āŒ SUPERADMIN does not have access to this registration');
      
      // Check if we need to link it
      if (registration.email === superadmin.email && !registration.userId) {
        console.log('\nšŸ”§ Linking registration to SUPERADMIN...');
        await prisma.registration.update({
          where: { id: registrationId },
          data: { userId: superadmin.id }
        });
        console.log('āœ… Registration linked to SUPERADMIN');
      }
    }

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

debugRegistrationAccess(); 

CasperSecurity Mini