bootEnv(__DIR__ . '/.env'); $kernel = new Kernel($_SERVER['APP_ENV'], (bool)$_SERVER['APP_DEBUG']); $kernel->boot(); $container = $kernel->getContainer(); $em = $container->get('doctrine')->getManager(); $doctorRepo = $em->getRepository(\App\Doctor\Entity\Doctor::class); $clinicRepo = $em->getRepository(\App\Clinic\Entity\Clinic::class); $plainPassword = 'Test1234'; $passwordHash = password_hash($plainPassword, PASSWORD_BCRYPT, ['cost' => 13]); function makeUser(string $mobile, array $roles, $em, string $hash): \App\Auth\Entity\User { $u = new \App\Auth\Entity\User($mobile); $u->setRoles($roles); $u->setPasswordHash($hash); $em->persist($u); return $u; } echo "=== ساخت کاربران تستی ===\n\n"; // ── ۱) دکتر در چند کلینیک ────────────────────────────────────────── $u1 = makeUser('09100000011', ['ROLE_DOCTOR'], $em, $passwordHash); $em->flush(); $d1 = new \App\Doctor\Entity\Doctor($u1, 'دکتر آرمان رضایی'); $d1->setDegree('specialist')->setInfo('متخصص قلب و عروق'); $em->persist($d1); $em->flush(); $clinic1 = $clinicRepo->find(1); $clinic2 = $clinicRepo->find(2); if ($clinic1) $clinic1->getDoctors()->add($d1); if ($clinic2) $clinic2->getDoctors()->add($d1); $em->flush(); echo "✅ کاربر ۱: دکتر در چند کلینیک\n"; echo " موبایل: 09100000011 | پسورد: Test1234\n"; echo " نقش: ROLE_DOCTOR\n"; echo " contexts: مطب شخصی + " . ($clinic1?->getName() ?? 'کلینیک ۱') . " + " . ($clinic2?->getName() ?? 'کلینیک ۲') . "\n\n"; // ── ۲) صاحب کلینیک ───────────────────────────────────────────────── $u2 = makeUser('09100000022', ['ROLE_CLINIC'], $em, $passwordHash); $em->flush(); $c2 = new \App\Clinic\Entity\Clinic($u2); $c2->setName('کلینیک تست پگاه'); $em->persist($c2); $em->flush(); echo "✅ کاربر ۲: صاحب کلینیک\n"; echo " موبایل: 09100000022 | پسورد: Test1234\n"; echo " نقش: ROLE_CLINIC\n"; echo " contexts: کلینیک تست پگاه (uuid=" . $c2->getUuid() . ")\n\n"; // ── ۳) منشی ──────────────────────────────────────────────────────── $u3 = makeUser('09100000033', ['ROLE_SECRETARY'], $em, $passwordHash); $em->flush(); $doctor182 = $doctorRepo->find(182); if ($doctor182) { $sec = new \App\Secretary\Entity\DoctorSecretary($doctor182, $u3); $sec->setActive(true); $em->persist($sec); $em->flush(); echo "✅ کاربر ۳: منشی\n"; echo " موبایل: 09100000033 | پسورد: Test1234\n"; echo " نقش: ROLE_SECRETARY\n"; echo " contexts: مطب " . $doctor182->getName() . "\n\n"; } else { echo "⚠️ دکتر ۱۸۲ یافت نشد\n\n"; } // ── ۴) دکتر + صاحب کلینیک ────────────────────────────────────────── $u4 = makeUser('09100000044', ['ROLE_DOCTOR', 'ROLE_CLINIC'], $em, $passwordHash); $em->flush(); $d4 = new \App\Doctor\Entity\Doctor($u4, 'دکتر سامان علوی'); $d4->setDegree('specialist')->setInfo('متخصص ارتوپدی'); $em->persist($d4); $c4 = new \App\Clinic\Entity\Clinic($u4); $c4->setName('کلینیک تخصصی علوی'); $em->persist($c4); $em->flush(); echo "✅ کاربر ۴: دکتر + صاحب کلینیک\n"; echo " موبایل: 09100000044 | پسورد: Test1234\n"; echo " نقش: ROLE_DOCTOR + ROLE_CLINIC\n"; echo " contexts: مطب شخصی دکتر سامان + کلینیک تخصصی علوی (uuid=" . $c4->getUuid() . ")\n\n"; echo "=== تمام ===\n";