2026-04-07T16:38:47: ▲ Next.js 16.2.2
2026-04-07T16:38:47: - Local:         http://host.cloudprime.co.za:3003
2026-04-07T16:38:47: - Network:       http://host.cloudprime.co.za:3003
2026-04-07T16:38:47: ✓ Ready in 0ms
2026-04-07T16:44:06: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T16:44:06: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T16:44:06: prisma:query UPDATE `main`.`User` SET `lastLogin` = ?, `loginCount` = (`main`.`User`.`loginCount` + ?), `updatedAt` = ? WHERE (`main`.`User`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `email` AS `email`, `password` AS `password`, `firstName` AS `firstName`, `lastName` AS `lastName`, `phone` AS `phone`, `idNumber` AS `idNumber`, `gender` AS `gender`, `dateOfBirth` AS `dateOfBirth`, `homeLanguage` AS `homeLanguage`, `grade` AS `grade`, `province` AS `province`, `city` AS `city`, `suburb` AS `suburb`, `schoolName` AS `schoolName`, `schoolId` AS `schoolId`, `careerInterests` AS `careerInterests`, `subjectsStruggling` AS `subjectsStruggling`, `preferredUniversities` AS `preferredUniversities`, `assessmentCompleted` AS `assessmentCompleted`, `parentEmail` AS `parentEmail`, `parentPhone` AS `parentPhone`, `parentName` AS `parentName`, `parentRelationship` AS `parentRelationship`, `points` AS `points`, `nationalRank` AS `nationalRank`, `role` AS `role`, `subscriptionType` AS `subscriptionType`, `subscriptionExpires` AS `subscriptionExpires`, `isPremium` AS `isPremium`, `premiumExpires` AS `premiumExpires`, `isGrantRecipient` AS `isGrantRecipient`, `howHeard` AS `howHeard`, `lastLogin` AS `lastLogin`, `loginCount` AS `loginCount`, `profilePic` AS `profilePic`, `status` AS `status`, `createdAt` AS `createdAt`, `updatedAt` AS `updatedAt`
2026-04-07T16:49:21: prisma:query SELECT 1
2026-04-07T16:49:21: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T16:49:21: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T16:49:21: prisma:query UPDATE `main`.`User` SET `lastLogin` = ?, `loginCount` = (`main`.`User`.`loginCount` + ?), `updatedAt` = ? WHERE (`main`.`User`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `email` AS `email`, `password` AS `password`, `firstName` AS `firstName`, `lastName` AS `lastName`, `phone` AS `phone`, `idNumber` AS `idNumber`, `gender` AS `gender`, `dateOfBirth` AS `dateOfBirth`, `homeLanguage` AS `homeLanguage`, `grade` AS `grade`, `province` AS `province`, `city` AS `city`, `suburb` AS `suburb`, `schoolName` AS `schoolName`, `schoolId` AS `schoolId`, `careerInterests` AS `careerInterests`, `subjectsStruggling` AS `subjectsStruggling`, `preferredUniversities` AS `preferredUniversities`, `assessmentCompleted` AS `assessmentCompleted`, `parentEmail` AS `parentEmail`, `parentPhone` AS `parentPhone`, `parentName` AS `parentName`, `parentRelationship` AS `parentRelationship`, `points` AS `points`, `nationalRank` AS `nationalRank`, `role` AS `role`, `subscriptionType` AS `subscriptionType`, `subscriptionExpires` AS `subscriptionExpires`, `isPremium` AS `isPremium`, `premiumExpires` AS `premiumExpires`, `isGrantRecipient` AS `isGrantRecipient`, `howHeard` AS `howHeard`, `lastLogin` AS `lastLogin`, `loginCount` AS `loginCount`, `profilePic` AS `profilePic`, `status` AS `status`, `createdAt` AS `createdAt`, `updatedAt` AS `updatedAt`
2026-04-07T16:51:55: ▲ Next.js 16.2.2
2026-04-07T16:51:55: - Local:         http://host.cloudprime.co.za:3003
2026-04-07T16:51:55: - Network:       http://host.cloudprime.co.za:3003
2026-04-07T16:51:55: ✓ Ready in 0ms
2026-04-07T16:55:18: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T16:55:18: prisma:query UPDATE `main`.`AdminUser` SET `lastLogin` = ? WHERE (`main`.`AdminUser`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `name` AS `name`, `email` AS `email`, `password` AS `password`, `role` AS `role`, `permissions` AS `permissions`, `isActive` AS `isActive`, `profilePic` AS `profilePic`, `lastLogin` AS `lastLogin`, `createdAt` AS `createdAt`
2026-04-07T17:11:34: ▲ Next.js 16.2.2
2026-04-07T17:11:34: - Local:         http://host.cloudprime.co.za:3003
2026-04-07T17:11:34: - Network:       http://host.cloudprime.co.za:3003
2026-04-07T17:11:34: ✓ Ready in 0ms
2026-04-07T17:12:35: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T17:12:35: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T17:12:35: prisma:query UPDATE `main`.`User` SET `lastLogin` = ?, `loginCount` = (`main`.`User`.`loginCount` + ?), `updatedAt` = ? WHERE (`main`.`User`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `email` AS `email`, `password` AS `password`, `firstName` AS `firstName`, `lastName` AS `lastName`, `phone` AS `phone`, `idNumber` AS `idNumber`, `gender` AS `gender`, `dateOfBirth` AS `dateOfBirth`, `homeLanguage` AS `homeLanguage`, `grade` AS `grade`, `province` AS `province`, `city` AS `city`, `suburb` AS `suburb`, `schoolName` AS `schoolName`, `schoolId` AS `schoolId`, `careerInterests` AS `careerInterests`, `subjectsStruggling` AS `subjectsStruggling`, `preferredUniversities` AS `preferredUniversities`, `assessmentCompleted` AS `assessmentCompleted`, `parentEmail` AS `parentEmail`, `parentPhone` AS `parentPhone`, `parentName` AS `parentName`, `parentRelationship` AS `parentRelationship`, `points` AS `points`, `nationalRank` AS `nationalRank`, `role` AS `role`, `subscriptionType` AS `subscriptionType`, `subscriptionExpires` AS `subscriptionExpires`, `isPremium` AS `isPremium`, `premiumExpires` AS `premiumExpires`, `isGrantRecipient` AS `isGrantRecipient`, `howHeard` AS `howHeard`, `lastLogin` AS `lastLogin`, `loginCount` AS `loginCount`, `profilePic` AS `profilePic`, `status` AS `status`, `createdAt` AS `createdAt`, `updatedAt` AS `updatedAt`
2026-04-07T17:12:35: prisma:query SELECT `main`.`TutorProfile`.`id`, `main`.`TutorProfile`.`userId`, `main`.`TutorProfile`.`bio`, `main`.`TutorProfile`.`subjects`, `main`.`TutorProfile`.`grades`, `main`.`TutorProfile`.`hourlyRate`, `main`.`TutorProfile`.`rating`, `main`.`TutorProfile`.`totalReviews`, `main`.`TutorProfile`.`totalSessions`, `main`.`TutorProfile`.`province`, `main`.`TutorProfile`.`city`, `main`.`TutorProfile`.`suburbsServed`, `main`.`TutorProfile`.`offersOnline`, `main`.`TutorProfile`.`offersInPerson`, `main`.`TutorProfile`.`serviceType`, `main`.`TutorProfile`.`subscriptionStatus`, `main`.`TutorProfile`.`subscriptionExpires`, `main`.`TutorProfile`.`qualifications`, `main`.`TutorProfile`.`experienceYears`, `main`.`TutorProfile`.`expertiseLevel`, `main`.`TutorProfile`.`availability`, `main`.`TutorProfile`.`responseTimeHours`, `main`.`TutorProfile`.`status`, `main`.`TutorProfile`.`idNumber`, `main`.`TutorProfile`.`proofOfQualification`, `main`.`TutorProfile`.`profilePhoto`, `main`.`TutorProfile`.`createdAt`, `main`.`TutorProfile`.`updatedAt` FROM `main`.`TutorProfile` WHERE 1=1 ORDER BY `main`.`TutorProfile`.`rating` DESC LIMIT ? OFFSET ?
2026-04-07T17:12:35: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`profilePic`, `main`.`User`.`province`, `main`.`User`.`city` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?) LIMIT ? OFFSET ?
2026-04-07T17:17:16: ▲ Next.js 16.2.2
2026-04-07T17:17:16: - Local:         http://host.cloudprime.co.za:3003
2026-04-07T17:17:16: - Network:       http://host.cloudprime.co.za:3003
2026-04-07T17:17:16: ✓ Ready in 0ms
2026-04-07T17:17:49: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T17:17:49: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T17:17:49: prisma:query UPDATE `main`.`User` SET `lastLogin` = ?, `loginCount` = (`main`.`User`.`loginCount` + ?), `updatedAt` = ? WHERE (`main`.`User`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `email` AS `email`, `password` AS `password`, `firstName` AS `firstName`, `lastName` AS `lastName`, `phone` AS `phone`, `idNumber` AS `idNumber`, `gender` AS `gender`, `dateOfBirth` AS `dateOfBirth`, `homeLanguage` AS `homeLanguage`, `grade` AS `grade`, `province` AS `province`, `city` AS `city`, `suburb` AS `suburb`, `schoolName` AS `schoolName`, `schoolId` AS `schoolId`, `careerInterests` AS `careerInterests`, `subjectsStruggling` AS `subjectsStruggling`, `preferredUniversities` AS `preferredUniversities`, `assessmentCompleted` AS `assessmentCompleted`, `parentEmail` AS `parentEmail`, `parentPhone` AS `parentPhone`, `parentName` AS `parentName`, `parentRelationship` AS `parentRelationship`, `points` AS `points`, `nationalRank` AS `nationalRank`, `role` AS `role`, `subscriptionType` AS `subscriptionType`, `subscriptionExpires` AS `subscriptionExpires`, `isPremium` AS `isPremium`, `premiumExpires` AS `premiumExpires`, `isGrantRecipient` AS `isGrantRecipient`, `howHeard` AS `howHeard`, `lastLogin` AS `lastLogin`, `loginCount` AS `loginCount`, `profilePic` AS `profilePic`, `status` AS `status`, `createdAt` AS `createdAt`, `updatedAt` AS `updatedAt`
2026-04-07T17:22:19: ▲ Next.js 16.2.2
2026-04-07T17:22:19: - Local:         http://host.cloudprime.co.za:3003
2026-04-07T17:22:19: - Network:       http://host.cloudprime.co.za:3003
2026-04-07T17:22:19: ✓ Ready in 0ms
2026-04-07T17:24:00: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T17:24:00: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T17:24:00: prisma:query UPDATE `main`.`User` SET `lastLogin` = ?, `loginCount` = (`main`.`User`.`loginCount` + ?), `updatedAt` = ? WHERE (`main`.`User`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `email` AS `email`, `password` AS `password`, `firstName` AS `firstName`, `lastName` AS `lastName`, `phone` AS `phone`, `idNumber` AS `idNumber`, `gender` AS `gender`, `dateOfBirth` AS `dateOfBirth`, `homeLanguage` AS `homeLanguage`, `grade` AS `grade`, `province` AS `province`, `city` AS `city`, `suburb` AS `suburb`, `schoolName` AS `schoolName`, `schoolId` AS `schoolId`, `careerInterests` AS `careerInterests`, `subjectsStruggling` AS `subjectsStruggling`, `preferredUniversities` AS `preferredUniversities`, `assessmentCompleted` AS `assessmentCompleted`, `parentEmail` AS `parentEmail`, `parentPhone` AS `parentPhone`, `parentName` AS `parentName`, `parentRelationship` AS `parentRelationship`, `points` AS `points`, `nationalRank` AS `nationalRank`, `role` AS `role`, `subscriptionType` AS `subscriptionType`, `subscriptionExpires` AS `subscriptionExpires`, `isPremium` AS `isPremium`, `premiumExpires` AS `premiumExpires`, `isGrantRecipient` AS `isGrantRecipient`, `howHeard` AS `howHeard`, `lastLogin` AS `lastLogin`, `loginCount` AS `loginCount`, `profilePic` AS `profilePic`, `status` AS `status`, `createdAt` AS `createdAt`, `updatedAt` AS `updatedAt`
2026-04-07T17:27:17: ▲ Next.js 16.2.2
2026-04-07T17:27:17: - Local:         http://host.cloudprime.co.za:3003
2026-04-07T17:27:17: - Network:       http://host.cloudprime.co.za:3003
2026-04-07T17:27:17: ✓ Ready in 0ms
2026-04-07T17:39:21: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T17:39:21: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T17:39:21: prisma:query UPDATE `main`.`User` SET `lastLogin` = ?, `loginCount` = (`main`.`User`.`loginCount` + ?), `updatedAt` = ? WHERE (`main`.`User`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `email` AS `email`, `password` AS `password`, `firstName` AS `firstName`, `lastName` AS `lastName`, `phone` AS `phone`, `idNumber` AS `idNumber`, `gender` AS `gender`, `dateOfBirth` AS `dateOfBirth`, `homeLanguage` AS `homeLanguage`, `grade` AS `grade`, `province` AS `province`, `city` AS `city`, `suburb` AS `suburb`, `schoolName` AS `schoolName`, `schoolId` AS `schoolId`, `careerInterests` AS `careerInterests`, `subjectsStruggling` AS `subjectsStruggling`, `preferredUniversities` AS `preferredUniversities`, `assessmentCompleted` AS `assessmentCompleted`, `parentEmail` AS `parentEmail`, `parentPhone` AS `parentPhone`, `parentName` AS `parentName`, `parentRelationship` AS `parentRelationship`, `points` AS `points`, `nationalRank` AS `nationalRank`, `role` AS `role`, `subscriptionType` AS `subscriptionType`, `subscriptionExpires` AS `subscriptionExpires`, `isPremium` AS `isPremium`, `premiumExpires` AS `premiumExpires`, `isGrantRecipient` AS `isGrantRecipient`, `howHeard` AS `howHeard`, `lastLogin` AS `lastLogin`, `loginCount` AS `loginCount`, `profilePic` AS `profilePic`, `status` AS `status`, `createdAt` AS `createdAt`, `updatedAt` AS `updatedAt`
2026-04-07T17:53:15: prisma:query SELECT 1
2026-04-07T17:53:15: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T17:53:15: prisma:query UPDATE `main`.`AdminUser` SET `lastLogin` = ? WHERE (`main`.`AdminUser`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `name` AS `name`, `email` AS `email`, `password` AS `password`, `role` AS `role`, `permissions` AS `permissions`, `isActive` AS `isActive`, `profilePic` AS `profilePic`, `lastLogin` AS `lastLogin`, `createdAt` AS `createdAt`
2026-04-07T17:53:41: prisma:query SELECT 1
2026-04-07T17:53:41: prisma:query SELECT `main`.`PaymentTransaction`.`id`, `main`.`PaymentTransaction`.`userId`, `main`.`PaymentTransaction`.`reference`, `main`.`PaymentTransaction`.`type`, `main`.`PaymentTransaction`.`amount`, `main`.`PaymentTransaction`.`months`, `main`.`PaymentTransaction`.`paymentMethod`, `main`.`PaymentTransaction`.`paymentStatus`, `main`.`PaymentTransaction`.`completedAt`, `main`.`PaymentTransaction`.`createdAt` FROM `main`.`PaymentTransaction` WHERE 1=1 ORDER BY `main`.`PaymentTransaction`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-07T17:53:50: prisma:query SELECT `main`.`Sponsor`.`id`, `main`.`Sponsor`.`companyName`, `main`.`Sponsor`.`industry`, `main`.`Sponsor`.`contactName`, `main`.`Sponsor`.`contactEmail`, `main`.`Sponsor`.`contactPhone`, `main`.`Sponsor`.`sponsorshipTier`, `main`.`Sponsor`.`annualContribution`, `main`.`Sponsor`.`bbbeeLevel`, `main`.`Sponsor`.`startDate`, `main`.`Sponsor`.`endDate`, `main`.`Sponsor`.`learnersSponsored`, `main`.`Sponsor`.`createdAt` FROM `main`.`Sponsor` WHERE 1=1 ORDER BY `main`.`Sponsor`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-07T17:53:57: prisma:query SELECT 1
2026-04-07T17:53:57: prisma:query SELECT `main`.`Sponsor`.`id`, `main`.`Sponsor`.`companyName`, `main`.`Sponsor`.`industry`, `main`.`Sponsor`.`contactName`, `main`.`Sponsor`.`contactEmail`, `main`.`Sponsor`.`contactPhone`, `main`.`Sponsor`.`sponsorshipTier`, `main`.`Sponsor`.`annualContribution`, `main`.`Sponsor`.`bbbeeLevel`, `main`.`Sponsor`.`startDate`, `main`.`Sponsor`.`endDate`, `main`.`Sponsor`.`learnersSponsored`, `main`.`Sponsor`.`createdAt` FROM `main`.`Sponsor` WHERE 1=1 ORDER BY `main`.`Sponsor`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-07T19:10:15: prisma:query SELECT 1
2026-04-07T19:10:15: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`grade`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`role`, `main`.`User`.`status`, `main`.`User`.`points`, `main`.`User`.`profilePic`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`howHeard`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`createdAt`, COALESCE(`aggr_selection_0_AcademicResult`.`_aggr_count_academicResults`, 0) AS `_aggr_count_academicResults`, COALESCE(`aggr_selection_1_ChatMessage`.`_aggr_count_chatMessages`, 0) AS `_aggr_count_chatMessages`, COALESCE(`aggr_selection_2_TutorSession`.`_aggr_count_tutorSessionsLearner`, 0) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`User` LEFT JOIN (SELECT `main`.`AcademicResult`.`userId`, COUNT(*) AS `_aggr_count_academicResults` FROM `main`.`AcademicResult` WHERE 1=1 GROUP BY `main`.`AcademicResult`.`userId`) AS `aggr_selection_0_AcademicResult` ON (`main`.`User`.`id` = `aggr_selection_0_AcademicResult`.`userId`) LEFT JOIN (SELECT `main`.`ChatMessage`.`userId`, COUNT(*) AS `_aggr_count_chatMessages` FROM `main`.`ChatMessage` WHERE 1=1 GROUP BY `main`.`ChatMessage`.`userId`) AS `aggr_selection_1_ChatMessage` ON (`main`.`User`.`id` = `aggr_selection_1_ChatMessage`.`userId`) LEFT JOIN (SELECT `main`.`TutorSession`.`learnerId`, COUNT(*) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`TutorSession` WHERE 1=1 GROUP BY `main`.`TutorSession`.`learnerId`) AS `aggr_selection_2_TutorSession` ON (`main`.`User`.`id` = `aggr_selection_2_TutorSession`.`learnerId`) WHERE (`main`.`User`.`id` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:10:15: prisma:query SELECT `main`.`UserPremium`.`id`, `main`.`UserPremium`.`plan`, `main`.`UserPremium`.`startDate`, `main`.`UserPremium`.`expiryDate`, `main`.`UserPremium`.`userId` FROM `main`.`UserPremium` WHERE `main`.`UserPremium`.`userId` IN (?) LIMIT ? OFFSET ?
2026-04-07T19:21:59: prisma:query SELECT 1
2026-04-07T19:21:59: prisma:query SELECT `main`.`AcademicResult`.`id`, `main`.`AcademicResult`.`userId`, `main`.`AcademicResult`.`year`, `main`.`AcademicResult`.`term`, `main`.`AcademicResult`.`subject`, `main`.`AcademicResult`.`result`, `main`.`AcademicResult`.`createdAt`, `main`.`AcademicResult`.`updatedAt` FROM `main`.`AcademicResult` WHERE `main`.`AcademicResult`.`userId` = ? ORDER BY `main`.`AcademicResult`.`year` DESC, `main`.`AcademicResult`.`term` DESC LIMIT ? OFFSET ?
2026-04-07T19:22:03: prisma:query SELECT `main`.`TutorProfile`.`id`, `main`.`TutorProfile`.`userId`, `main`.`TutorProfile`.`bio`, `main`.`TutorProfile`.`subjects`, `main`.`TutorProfile`.`grades`, `main`.`TutorProfile`.`hourlyRate`, `main`.`TutorProfile`.`rating`, `main`.`TutorProfile`.`totalReviews`, `main`.`TutorProfile`.`totalSessions`, `main`.`TutorProfile`.`province`, `main`.`TutorProfile`.`city`, `main`.`TutorProfile`.`suburbsServed`, `main`.`TutorProfile`.`offersOnline`, `main`.`TutorProfile`.`offersInPerson`, `main`.`TutorProfile`.`serviceType`, `main`.`TutorProfile`.`subscriptionStatus`, `main`.`TutorProfile`.`subscriptionExpires`, `main`.`TutorProfile`.`qualifications`, `main`.`TutorProfile`.`experienceYears`, `main`.`TutorProfile`.`expertiseLevel`, `main`.`TutorProfile`.`availability`, `main`.`TutorProfile`.`responseTimeHours`, `main`.`TutorProfile`.`status`, `main`.`TutorProfile`.`idNumber`, `main`.`TutorProfile`.`proofOfQualification`, `main`.`TutorProfile`.`profilePhoto`, `main`.`TutorProfile`.`createdAt`, `main`.`TutorProfile`.`updatedAt` FROM `main`.`TutorProfile` WHERE 1=1 ORDER BY `main`.`TutorProfile`.`rating` DESC LIMIT ? OFFSET ?
2026-04-07T19:22:03: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`profilePic`, `main`.`User`.`province`, `main`.`User`.`city` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?) LIMIT ? OFFSET ?
2026-04-07T19:27:02: prisma:query SELECT 1
2026-04-07T19:27:02: prisma:query SELECT `main`.`Competition`.`id`, `main`.`Competition`.`title`, `main`.`Competition`.`slug`, `main`.`Competition`.`description`, `main`.`Competition`.`sponsorId`, `main`.`Competition`.`industry`, `main`.`Competition`.`startDate`, `main`.`Competition`.`endDate`, `main`.`Competition`.`prizePool`, `main`.`Competition`.`maxEntries`, `main`.`Competition`.`currentEntries`, `main`.`Competition`.`eligibilityGrades`, `main`.`Competition`.`rules`, `main`.`Competition`.`judgingCriteria`, `main`.`Competition`.`prizes`, `main`.`Competition`.`entryCode`, `main`.`Competition`.`pointsRequired`, `main`.`Competition`.`status`, `main`.`Competition`.`createdAt` FROM `main`.`Competition` WHERE 1=1 ORDER BY `main`.`Competition`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-07T19:27:08: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`grade`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`role`, `main`.`User`.`status`, `main`.`User`.`points`, `main`.`User`.`profilePic`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`howHeard`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`createdAt`, COALESCE(`aggr_selection_0_AcademicResult`.`_aggr_count_academicResults`, 0) AS `_aggr_count_academicResults`, COALESCE(`aggr_selection_1_ChatMessage`.`_aggr_count_chatMessages`, 0) AS `_aggr_count_chatMessages`, COALESCE(`aggr_selection_2_TutorSession`.`_aggr_count_tutorSessionsLearner`, 0) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`User` LEFT JOIN (SELECT `main`.`AcademicResult`.`userId`, COUNT(*) AS `_aggr_count_academicResults` FROM `main`.`AcademicResult` WHERE 1=1 GROUP BY `main`.`AcademicResult`.`userId`) AS `aggr_selection_0_AcademicResult` ON (`main`.`User`.`id` = `aggr_selection_0_AcademicResult`.`userId`) LEFT JOIN (SELECT `main`.`ChatMessage`.`userId`, COUNT(*) AS `_aggr_count_chatMessages` FROM `main`.`ChatMessage` WHERE 1=1 GROUP BY `main`.`ChatMessage`.`userId`) AS `aggr_selection_1_ChatMessage` ON (`main`.`User`.`id` = `aggr_selection_1_ChatMessage`.`userId`) LEFT JOIN (SELECT `main`.`TutorSession`.`learnerId`, COUNT(*) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`TutorSession` WHERE 1=1 GROUP BY `main`.`TutorSession`.`learnerId`) AS `aggr_selection_2_TutorSession` ON (`main`.`User`.`id` = `aggr_selection_2_TutorSession`.`learnerId`) WHERE (`main`.`User`.`id` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:27:08: prisma:query SELECT `main`.`UserPremium`.`id`, `main`.`UserPremium`.`plan`, `main`.`UserPremium`.`startDate`, `main`.`UserPremium`.`expiryDate`, `main`.`UserPremium`.`userId` FROM `main`.`UserPremium` WHERE `main`.`UserPremium`.`userId` IN (?) LIMIT ? OFFSET ?
2026-04-07T19:27:09: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`grade`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`role`, `main`.`User`.`status`, `main`.`User`.`points`, `main`.`User`.`profilePic`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`howHeard`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`createdAt`, COALESCE(`aggr_selection_0_AcademicResult`.`_aggr_count_academicResults`, 0) AS `_aggr_count_academicResults`, COALESCE(`aggr_selection_1_ChatMessage`.`_aggr_count_chatMessages`, 0) AS `_aggr_count_chatMessages`, COALESCE(`aggr_selection_2_TutorSession`.`_aggr_count_tutorSessionsLearner`, 0) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`User` LEFT JOIN (SELECT `main`.`AcademicResult`.`userId`, COUNT(*) AS `_aggr_count_academicResults` FROM `main`.`AcademicResult` WHERE 1=1 GROUP BY `main`.`AcademicResult`.`userId`) AS `aggr_selection_0_AcademicResult` ON (`main`.`User`.`id` = `aggr_selection_0_AcademicResult`.`userId`) LEFT JOIN (SELECT `main`.`ChatMessage`.`userId`, COUNT(*) AS `_aggr_count_chatMessages` FROM `main`.`ChatMessage` WHERE 1=1 GROUP BY `main`.`ChatMessage`.`userId`) AS `aggr_selection_1_ChatMessage` ON (`main`.`User`.`id` = `aggr_selection_1_ChatMessage`.`userId`) LEFT JOIN (SELECT `main`.`TutorSession`.`learnerId`, COUNT(*) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`TutorSession` WHERE 1=1 GROUP BY `main`.`TutorSession`.`learnerId`) AS `aggr_selection_2_TutorSession` ON (`main`.`User`.`id` = `aggr_selection_2_TutorSession`.`learnerId`) WHERE (`main`.`User`.`id` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:27:09: prisma:query SELECT `main`.`UserPremium`.`id`, `main`.`UserPremium`.`plan`, `main`.`UserPremium`.`startDate`, `main`.`UserPremium`.`expiryDate`, `main`.`UserPremium`.`userId` FROM `main`.`UserPremium` WHERE `main`.`UserPremium`.`userId` IN (?) LIMIT ? OFFSET ?
2026-04-07T19:28:20: prisma:query SELECT 1
2026-04-07T19:28:20: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:28:20: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:28:20: prisma:query UPDATE `main`.`User` SET `lastLogin` = ?, `loginCount` = (`main`.`User`.`loginCount` + ?), `updatedAt` = ? WHERE (`main`.`User`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `email` AS `email`, `password` AS `password`, `firstName` AS `firstName`, `lastName` AS `lastName`, `phone` AS `phone`, `idNumber` AS `idNumber`, `gender` AS `gender`, `dateOfBirth` AS `dateOfBirth`, `homeLanguage` AS `homeLanguage`, `grade` AS `grade`, `province` AS `province`, `city` AS `city`, `suburb` AS `suburb`, `schoolName` AS `schoolName`, `schoolId` AS `schoolId`, `careerInterests` AS `careerInterests`, `subjectsStruggling` AS `subjectsStruggling`, `preferredUniversities` AS `preferredUniversities`, `assessmentCompleted` AS `assessmentCompleted`, `parentEmail` AS `parentEmail`, `parentPhone` AS `parentPhone`, `parentName` AS `parentName`, `parentRelationship` AS `parentRelationship`, `points` AS `points`, `nationalRank` AS `nationalRank`, `role` AS `role`, `subscriptionType` AS `subscriptionType`, `subscriptionExpires` AS `subscriptionExpires`, `isPremium` AS `isPremium`, `premiumExpires` AS `premiumExpires`, `isGrantRecipient` AS `isGrantRecipient`, `howHeard` AS `howHeard`, `lastLogin` AS `lastLogin`, `loginCount` AS `loginCount`, `profilePic` AS `profilePic`, `status` AS `status`, `createdAt` AS `createdAt`, `updatedAt` AS `updatedAt`
2026-04-07T19:30:00: prisma:query SELECT 1
2026-04-07T19:30:00: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:30:00: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:30:00: prisma:query UPDATE `main`.`User` SET `lastLogin` = ?, `loginCount` = (`main`.`User`.`loginCount` + ?), `updatedAt` = ? WHERE (`main`.`User`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `email` AS `email`, `password` AS `password`, `firstName` AS `firstName`, `lastName` AS `lastName`, `phone` AS `phone`, `idNumber` AS `idNumber`, `gender` AS `gender`, `dateOfBirth` AS `dateOfBirth`, `homeLanguage` AS `homeLanguage`, `grade` AS `grade`, `province` AS `province`, `city` AS `city`, `suburb` AS `suburb`, `schoolName` AS `schoolName`, `schoolId` AS `schoolId`, `careerInterests` AS `careerInterests`, `subjectsStruggling` AS `subjectsStruggling`, `preferredUniversities` AS `preferredUniversities`, `assessmentCompleted` AS `assessmentCompleted`, `parentEmail` AS `parentEmail`, `parentPhone` AS `parentPhone`, `parentName` AS `parentName`, `parentRelationship` AS `parentRelationship`, `points` AS `points`, `nationalRank` AS `nationalRank`, `role` AS `role`, `subscriptionType` AS `subscriptionType`, `subscriptionExpires` AS `subscriptionExpires`, `isPremium` AS `isPremium`, `premiumExpires` AS `premiumExpires`, `isGrantRecipient` AS `isGrantRecipient`, `howHeard` AS `howHeard`, `lastLogin` AS `lastLogin`, `loginCount` AS `loginCount`, `profilePic` AS `profilePic`, `status` AS `status`, `createdAt` AS `createdAt`, `updatedAt` AS `updatedAt`
2026-04-07T19:30:00: prisma:query SELECT `main`.`TutorProfile`.`id`, `main`.`TutorProfile`.`userId`, `main`.`TutorProfile`.`bio`, `main`.`TutorProfile`.`subjects`, `main`.`TutorProfile`.`grades`, `main`.`TutorProfile`.`hourlyRate`, `main`.`TutorProfile`.`rating`, `main`.`TutorProfile`.`totalReviews`, `main`.`TutorProfile`.`totalSessions`, `main`.`TutorProfile`.`province`, `main`.`TutorProfile`.`city`, `main`.`TutorProfile`.`suburbsServed`, `main`.`TutorProfile`.`offersOnline`, `main`.`TutorProfile`.`offersInPerson`, `main`.`TutorProfile`.`serviceType`, `main`.`TutorProfile`.`subscriptionStatus`, `main`.`TutorProfile`.`subscriptionExpires`, `main`.`TutorProfile`.`qualifications`, `main`.`TutorProfile`.`experienceYears`, `main`.`TutorProfile`.`expertiseLevel`, `main`.`TutorProfile`.`availability`, `main`.`TutorProfile`.`responseTimeHours`, `main`.`TutorProfile`.`status`, `main`.`TutorProfile`.`idNumber`, `main`.`TutorProfile`.`proofOfQualification`, `main`.`TutorProfile`.`profilePhoto`, `main`.`TutorProfile`.`createdAt`, `main`.`TutorProfile`.`updatedAt` FROM `main`.`TutorProfile` WHERE 1=1 ORDER BY `main`.`TutorProfile`.`rating` DESC LIMIT ? OFFSET ?
2026-04-07T19:30:00: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`profilePic`, `main`.`User`.`province`, `main`.`User`.`city` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?) LIMIT ? OFFSET ?
2026-04-07T19:30:07: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`grade`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`role`, `main`.`User`.`status`, `main`.`User`.`points`, `main`.`User`.`profilePic`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`howHeard`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`createdAt`, COALESCE(`aggr_selection_0_AcademicResult`.`_aggr_count_academicResults`, 0) AS `_aggr_count_academicResults`, COALESCE(`aggr_selection_1_ChatMessage`.`_aggr_count_chatMessages`, 0) AS `_aggr_count_chatMessages`, COALESCE(`aggr_selection_2_TutorSession`.`_aggr_count_tutorSessionsLearner`, 0) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`User` LEFT JOIN (SELECT `main`.`AcademicResult`.`userId`, COUNT(*) AS `_aggr_count_academicResults` FROM `main`.`AcademicResult` WHERE 1=1 GROUP BY `main`.`AcademicResult`.`userId`) AS `aggr_selection_0_AcademicResult` ON (`main`.`User`.`id` = `aggr_selection_0_AcademicResult`.`userId`) LEFT JOIN (SELECT `main`.`ChatMessage`.`userId`, COUNT(*) AS `_aggr_count_chatMessages` FROM `main`.`ChatMessage` WHERE 1=1 GROUP BY `main`.`ChatMessage`.`userId`) AS `aggr_selection_1_ChatMessage` ON (`main`.`User`.`id` = `aggr_selection_1_ChatMessage`.`userId`) LEFT JOIN (SELECT `main`.`TutorSession`.`learnerId`, COUNT(*) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`TutorSession` WHERE 1=1 GROUP BY `main`.`TutorSession`.`learnerId`) AS `aggr_selection_2_TutorSession` ON (`main`.`User`.`id` = `aggr_selection_2_TutorSession`.`learnerId`) WHERE (`main`.`User`.`id` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:30:07: prisma:query SELECT `main`.`UserPremium`.`id`, `main`.`UserPremium`.`plan`, `main`.`UserPremium`.`startDate`, `main`.`UserPremium`.`expiryDate`, `main`.`UserPremium`.`userId` FROM `main`.`UserPremium` WHERE `main`.`UserPremium`.`userId` IN (?) LIMIT ? OFFSET ?
2026-04-07T19:30:11: prisma:query SELECT `main`.`TutorProfile`.`id`, `main`.`TutorProfile`.`userId`, `main`.`TutorProfile`.`bio`, `main`.`TutorProfile`.`subjects`, `main`.`TutorProfile`.`grades`, `main`.`TutorProfile`.`hourlyRate`, `main`.`TutorProfile`.`rating`, `main`.`TutorProfile`.`totalReviews`, `main`.`TutorProfile`.`totalSessions`, `main`.`TutorProfile`.`province`, `main`.`TutorProfile`.`city`, `main`.`TutorProfile`.`suburbsServed`, `main`.`TutorProfile`.`offersOnline`, `main`.`TutorProfile`.`offersInPerson`, `main`.`TutorProfile`.`serviceType`, `main`.`TutorProfile`.`subscriptionStatus`, `main`.`TutorProfile`.`subscriptionExpires`, `main`.`TutorProfile`.`qualifications`, `main`.`TutorProfile`.`experienceYears`, `main`.`TutorProfile`.`expertiseLevel`, `main`.`TutorProfile`.`availability`, `main`.`TutorProfile`.`responseTimeHours`, `main`.`TutorProfile`.`status`, `main`.`TutorProfile`.`idNumber`, `main`.`TutorProfile`.`proofOfQualification`, `main`.`TutorProfile`.`profilePhoto`, `main`.`TutorProfile`.`createdAt`, `main`.`TutorProfile`.`updatedAt` FROM `main`.`TutorProfile` WHERE 1=1 ORDER BY `main`.`TutorProfile`.`rating` DESC LIMIT ? OFFSET ?
2026-04-07T19:30:11: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`profilePic`, `main`.`User`.`province`, `main`.`User`.`city` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?) LIMIT ? OFFSET ?
2026-04-07T19:30:28: prisma:query SELECT 1
2026-04-07T19:30:28: prisma:query SELECT `main`.`TutorProfile`.`id`, `main`.`TutorProfile`.`userId`, `main`.`TutorProfile`.`bio`, `main`.`TutorProfile`.`subjects`, `main`.`TutorProfile`.`grades`, `main`.`TutorProfile`.`hourlyRate`, `main`.`TutorProfile`.`rating`, `main`.`TutorProfile`.`totalReviews`, `main`.`TutorProfile`.`totalSessions`, `main`.`TutorProfile`.`province`, `main`.`TutorProfile`.`city`, `main`.`TutorProfile`.`suburbsServed`, `main`.`TutorProfile`.`offersOnline`, `main`.`TutorProfile`.`offersInPerson`, `main`.`TutorProfile`.`serviceType`, `main`.`TutorProfile`.`subscriptionStatus`, `main`.`TutorProfile`.`subscriptionExpires`, `main`.`TutorProfile`.`qualifications`, `main`.`TutorProfile`.`experienceYears`, `main`.`TutorProfile`.`expertiseLevel`, `main`.`TutorProfile`.`availability`, `main`.`TutorProfile`.`responseTimeHours`, `main`.`TutorProfile`.`status`, `main`.`TutorProfile`.`idNumber`, `main`.`TutorProfile`.`proofOfQualification`, `main`.`TutorProfile`.`profilePhoto`, `main`.`TutorProfile`.`createdAt`, `main`.`TutorProfile`.`updatedAt` FROM `main`.`TutorProfile` WHERE 1=1 ORDER BY `main`.`TutorProfile`.`rating` DESC LIMIT ? OFFSET ?
2026-04-07T19:30:28: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`profilePic`, `main`.`User`.`province`, `main`.`User`.`city` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?) LIMIT ? OFFSET ?
2026-04-07T19:30:38: prisma:query SELECT `main`.`TutorProfile`.`id`, `main`.`TutorProfile`.`userId`, `main`.`TutorProfile`.`bio`, `main`.`TutorProfile`.`subjects`, `main`.`TutorProfile`.`grades`, `main`.`TutorProfile`.`hourlyRate`, `main`.`TutorProfile`.`rating`, `main`.`TutorProfile`.`totalReviews`, `main`.`TutorProfile`.`totalSessions`, `main`.`TutorProfile`.`province`, `main`.`TutorProfile`.`city`, `main`.`TutorProfile`.`suburbsServed`, `main`.`TutorProfile`.`offersOnline`, `main`.`TutorProfile`.`offersInPerson`, `main`.`TutorProfile`.`serviceType`, `main`.`TutorProfile`.`subscriptionStatus`, `main`.`TutorProfile`.`subscriptionExpires`, `main`.`TutorProfile`.`qualifications`, `main`.`TutorProfile`.`experienceYears`, `main`.`TutorProfile`.`expertiseLevel`, `main`.`TutorProfile`.`availability`, `main`.`TutorProfile`.`responseTimeHours`, `main`.`TutorProfile`.`status`, `main`.`TutorProfile`.`idNumber`, `main`.`TutorProfile`.`proofOfQualification`, `main`.`TutorProfile`.`profilePhoto`, `main`.`TutorProfile`.`createdAt`, `main`.`TutorProfile`.`updatedAt` FROM `main`.`TutorProfile` WHERE 1=1 ORDER BY `main`.`TutorProfile`.`rating` DESC LIMIT ? OFFSET ?
2026-04-07T19:30:38: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`profilePic`, `main`.`User`.`province`, `main`.`User`.`city` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?) LIMIT ? OFFSET ?
2026-04-07T19:30:46: prisma:query SELECT 1
2026-04-07T19:30:46: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:30:46: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:30:46: prisma:query UPDATE `main`.`User` SET `lastLogin` = ?, `loginCount` = (`main`.`User`.`loginCount` + ?), `updatedAt` = ? WHERE (`main`.`User`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `email` AS `email`, `password` AS `password`, `firstName` AS `firstName`, `lastName` AS `lastName`, `phone` AS `phone`, `idNumber` AS `idNumber`, `gender` AS `gender`, `dateOfBirth` AS `dateOfBirth`, `homeLanguage` AS `homeLanguage`, `grade` AS `grade`, `province` AS `province`, `city` AS `city`, `suburb` AS `suburb`, `schoolName` AS `schoolName`, `schoolId` AS `schoolId`, `careerInterests` AS `careerInterests`, `subjectsStruggling` AS `subjectsStruggling`, `preferredUniversities` AS `preferredUniversities`, `assessmentCompleted` AS `assessmentCompleted`, `parentEmail` AS `parentEmail`, `parentPhone` AS `parentPhone`, `parentName` AS `parentName`, `parentRelationship` AS `parentRelationship`, `points` AS `points`, `nationalRank` AS `nationalRank`, `role` AS `role`, `subscriptionType` AS `subscriptionType`, `subscriptionExpires` AS `subscriptionExpires`, `isPremium` AS `isPremium`, `premiumExpires` AS `premiumExpires`, `isGrantRecipient` AS `isGrantRecipient`, `howHeard` AS `howHeard`, `lastLogin` AS `lastLogin`, `loginCount` AS `loginCount`, `profilePic` AS `profilePic`, `status` AS `status`, `createdAt` AS `createdAt`, `updatedAt` AS `updatedAt`
2026-04-07T19:31:16: prisma:query SELECT 1
2026-04-07T19:31:16: prisma:query SELECT `main`.`TutorProfile`.`id`, `main`.`TutorProfile`.`userId`, `main`.`TutorProfile`.`bio`, `main`.`TutorProfile`.`subjects`, `main`.`TutorProfile`.`grades`, `main`.`TutorProfile`.`hourlyRate`, `main`.`TutorProfile`.`rating`, `main`.`TutorProfile`.`totalReviews`, `main`.`TutorProfile`.`totalSessions`, `main`.`TutorProfile`.`province`, `main`.`TutorProfile`.`city`, `main`.`TutorProfile`.`suburbsServed`, `main`.`TutorProfile`.`offersOnline`, `main`.`TutorProfile`.`offersInPerson`, `main`.`TutorProfile`.`serviceType`, `main`.`TutorProfile`.`subscriptionStatus`, `main`.`TutorProfile`.`subscriptionExpires`, `main`.`TutorProfile`.`qualifications`, `main`.`TutorProfile`.`experienceYears`, `main`.`TutorProfile`.`expertiseLevel`, `main`.`TutorProfile`.`availability`, `main`.`TutorProfile`.`responseTimeHours`, `main`.`TutorProfile`.`status`, `main`.`TutorProfile`.`idNumber`, `main`.`TutorProfile`.`proofOfQualification`, `main`.`TutorProfile`.`profilePhoto`, `main`.`TutorProfile`.`createdAt`, `main`.`TutorProfile`.`updatedAt` FROM `main`.`TutorProfile` WHERE 1=1 ORDER BY `main`.`TutorProfile`.`rating` DESC LIMIT ? OFFSET ?
2026-04-07T19:31:16: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`profilePic`, `main`.`User`.`province`, `main`.`User`.`city` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?) LIMIT ? OFFSET ?
2026-04-07T19:33:39: prisma:query SELECT 1
2026-04-07T19:33:39: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:33:39: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:33:50: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T19:33:50: prisma:query UPDATE `main`.`AdminUser` SET `lastLogin` = ? WHERE (`main`.`AdminUser`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `name` AS `name`, `email` AS `email`, `password` AS `password`, `role` AS `role`, `permissions` AS `permissions`, `isActive` AS `isActive`, `profilePic` AS `profilePic`, `lastLogin` AS `lastLogin`, `createdAt` AS `createdAt`
2026-04-07T19:34:22: prisma:query SELECT 1
2026-04-07T19:34:22: prisma:query SELECT `main`.`PaymentTransaction`.`id`, `main`.`PaymentTransaction`.`userId`, `main`.`PaymentTransaction`.`reference`, `main`.`PaymentTransaction`.`type`, `main`.`PaymentTransaction`.`amount`, `main`.`PaymentTransaction`.`months`, `main`.`PaymentTransaction`.`paymentMethod`, `main`.`PaymentTransaction`.`paymentStatus`, `main`.`PaymentTransaction`.`completedAt`, `main`.`PaymentTransaction`.`createdAt` FROM `main`.`PaymentTransaction` WHERE 1=1 ORDER BY `main`.`PaymentTransaction`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-07T19:34:25: prisma:query SELECT `main`.`Sponsor`.`id`, `main`.`Sponsor`.`companyName`, `main`.`Sponsor`.`industry`, `main`.`Sponsor`.`contactName`, `main`.`Sponsor`.`contactEmail`, `main`.`Sponsor`.`contactPhone`, `main`.`Sponsor`.`sponsorshipTier`, `main`.`Sponsor`.`annualContribution`, `main`.`Sponsor`.`bbbeeLevel`, `main`.`Sponsor`.`startDate`, `main`.`Sponsor`.`endDate`, `main`.`Sponsor`.`learnersSponsored`, `main`.`Sponsor`.`createdAt` FROM `main`.`Sponsor` WHERE 1=1 ORDER BY `main`.`Sponsor`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-07T19:35:16: prisma:query SELECT 1
2026-04-07T19:35:16: prisma:query SELECT `main`.`Sponsor`.`id`, `main`.`Sponsor`.`companyName`, `main`.`Sponsor`.`industry`, `main`.`Sponsor`.`contactName`, `main`.`Sponsor`.`contactEmail`, `main`.`Sponsor`.`contactPhone`, `main`.`Sponsor`.`sponsorshipTier`, `main`.`Sponsor`.`annualContribution`, `main`.`Sponsor`.`bbbeeLevel`, `main`.`Sponsor`.`startDate`, `main`.`Sponsor`.`endDate`, `main`.`Sponsor`.`learnersSponsored`, `main`.`Sponsor`.`createdAt` FROM `main`.`Sponsor` WHERE 1=1 ORDER BY `main`.`Sponsor`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-07T19:35:18: prisma:query SELECT `main`.`PaymentTransaction`.`id`, `main`.`PaymentTransaction`.`userId`, `main`.`PaymentTransaction`.`reference`, `main`.`PaymentTransaction`.`type`, `main`.`PaymentTransaction`.`amount`, `main`.`PaymentTransaction`.`months`, `main`.`PaymentTransaction`.`paymentMethod`, `main`.`PaymentTransaction`.`paymentStatus`, `main`.`PaymentTransaction`.`completedAt`, `main`.`PaymentTransaction`.`createdAt` FROM `main`.`PaymentTransaction` WHERE 1=1 ORDER BY `main`.`PaymentTransaction`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-07T22:59:36: prisma:query SELECT 1
2026-04-07T22:59:36: prisma:query SELECT `main`.`TutorProfile`.`id`, `main`.`TutorProfile`.`userId`, `main`.`TutorProfile`.`bio`, `main`.`TutorProfile`.`subjects`, `main`.`TutorProfile`.`grades`, `main`.`TutorProfile`.`hourlyRate`, `main`.`TutorProfile`.`rating`, `main`.`TutorProfile`.`totalReviews`, `main`.`TutorProfile`.`totalSessions`, `main`.`TutorProfile`.`province`, `main`.`TutorProfile`.`city`, `main`.`TutorProfile`.`suburbsServed`, `main`.`TutorProfile`.`offersOnline`, `main`.`TutorProfile`.`offersInPerson`, `main`.`TutorProfile`.`serviceType`, `main`.`TutorProfile`.`subscriptionStatus`, `main`.`TutorProfile`.`subscriptionExpires`, `main`.`TutorProfile`.`qualifications`, `main`.`TutorProfile`.`experienceYears`, `main`.`TutorProfile`.`expertiseLevel`, `main`.`TutorProfile`.`availability`, `main`.`TutorProfile`.`responseTimeHours`, `main`.`TutorProfile`.`status`, `main`.`TutorProfile`.`idNumber`, `main`.`TutorProfile`.`proofOfQualification`, `main`.`TutorProfile`.`profilePhoto`, `main`.`TutorProfile`.`createdAt`, `main`.`TutorProfile`.`updatedAt` FROM `main`.`TutorProfile` WHERE 1=1 ORDER BY `main`.`TutorProfile`.`rating` DESC LIMIT ? OFFSET ?
2026-04-07T22:59:36: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`profilePic`, `main`.`User`.`province`, `main`.`User`.`city` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?) LIMIT ? OFFSET ?
2026-04-07T23:02:08: prisma:query SELECT 1
2026-04-07T23:02:08: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`grade`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`role`, `main`.`User`.`status`, `main`.`User`.`points`, `main`.`User`.`profilePic`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`howHeard`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`createdAt`, COALESCE(`aggr_selection_0_AcademicResult`.`_aggr_count_academicResults`, 0) AS `_aggr_count_academicResults`, COALESCE(`aggr_selection_1_ChatMessage`.`_aggr_count_chatMessages`, 0) AS `_aggr_count_chatMessages`, COALESCE(`aggr_selection_2_TutorSession`.`_aggr_count_tutorSessionsLearner`, 0) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`User` LEFT JOIN (SELECT `main`.`AcademicResult`.`userId`, COUNT(*) AS `_aggr_count_academicResults` FROM `main`.`AcademicResult` WHERE 1=1 GROUP BY `main`.`AcademicResult`.`userId`) AS `aggr_selection_0_AcademicResult` ON (`main`.`User`.`id` = `aggr_selection_0_AcademicResult`.`userId`) LEFT JOIN (SELECT `main`.`ChatMessage`.`userId`, COUNT(*) AS `_aggr_count_chatMessages` FROM `main`.`ChatMessage` WHERE 1=1 GROUP BY `main`.`ChatMessage`.`userId`) AS `aggr_selection_1_ChatMessage` ON (`main`.`User`.`id` = `aggr_selection_1_ChatMessage`.`userId`) LEFT JOIN (SELECT `main`.`TutorSession`.`learnerId`, COUNT(*) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`TutorSession` WHERE 1=1 GROUP BY `main`.`TutorSession`.`learnerId`) AS `aggr_selection_2_TutorSession` ON (`main`.`User`.`id` = `aggr_selection_2_TutorSession`.`learnerId`) WHERE (`main`.`User`.`id` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-07T23:02:08: prisma:query SELECT `main`.`UserPremium`.`id`, `main`.`UserPremium`.`plan`, `main`.`UserPremium`.`startDate`, `main`.`UserPremium`.`expiryDate`, `main`.`UserPremium`.`userId` FROM `main`.`UserPremium` WHERE `main`.`UserPremium`.`userId` IN (?) LIMIT ? OFFSET ?
2026-04-07T23:05:11: prisma:query SELECT 1
2026-04-07T23:05:11: prisma:query SELECT `main`.`AcademicResult`.`id`, `main`.`AcademicResult`.`userId`, `main`.`AcademicResult`.`year`, `main`.`AcademicResult`.`term`, `main`.`AcademicResult`.`subject`, `main`.`AcademicResult`.`result`, `main`.`AcademicResult`.`createdAt`, `main`.`AcademicResult`.`updatedAt` FROM `main`.`AcademicResult` WHERE `main`.`AcademicResult`.`userId` = ? ORDER BY `main`.`AcademicResult`.`year` DESC, `main`.`AcademicResult`.`term` DESC LIMIT ? OFFSET ?
2026-04-07T23:06:26: prisma:query SELECT 1
2026-04-07T23:06:26: prisma:query SELECT `main`.`TutorProfile`.`id`, `main`.`TutorProfile`.`userId`, `main`.`TutorProfile`.`bio`, `main`.`TutorProfile`.`subjects`, `main`.`TutorProfile`.`grades`, `main`.`TutorProfile`.`hourlyRate`, `main`.`TutorProfile`.`rating`, `main`.`TutorProfile`.`totalReviews`, `main`.`TutorProfile`.`totalSessions`, `main`.`TutorProfile`.`province`, `main`.`TutorProfile`.`city`, `main`.`TutorProfile`.`suburbsServed`, `main`.`TutorProfile`.`offersOnline`, `main`.`TutorProfile`.`offersInPerson`, `main`.`TutorProfile`.`serviceType`, `main`.`TutorProfile`.`subscriptionStatus`, `main`.`TutorProfile`.`subscriptionExpires`, `main`.`TutorProfile`.`qualifications`, `main`.`TutorProfile`.`experienceYears`, `main`.`TutorProfile`.`expertiseLevel`, `main`.`TutorProfile`.`availability`, `main`.`TutorProfile`.`responseTimeHours`, `main`.`TutorProfile`.`status`, `main`.`TutorProfile`.`idNumber`, `main`.`TutorProfile`.`proofOfQualification`, `main`.`TutorProfile`.`profilePhoto`, `main`.`TutorProfile`.`createdAt`, `main`.`TutorProfile`.`updatedAt` FROM `main`.`TutorProfile` WHERE 1=1 ORDER BY `main`.`TutorProfile`.`rating` DESC LIMIT ? OFFSET ?
2026-04-07T23:06:26: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`profilePic`, `main`.`User`.`province`, `main`.`User`.`city` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?) LIMIT ? OFFSET ?
2026-04-07T23:06:41: prisma:query SELECT 1
2026-04-07T23:06:41: prisma:query SELECT `main`.`Competition`.`id`, `main`.`Competition`.`title`, `main`.`Competition`.`slug`, `main`.`Competition`.`description`, `main`.`Competition`.`sponsorId`, `main`.`Competition`.`industry`, `main`.`Competition`.`startDate`, `main`.`Competition`.`endDate`, `main`.`Competition`.`prizePool`, `main`.`Competition`.`maxEntries`, `main`.`Competition`.`currentEntries`, `main`.`Competition`.`eligibilityGrades`, `main`.`Competition`.`rules`, `main`.`Competition`.`judgingCriteria`, `main`.`Competition`.`prizes`, `main`.`Competition`.`entryCode`, `main`.`Competition`.`pointsRequired`, `main`.`Competition`.`status`, `main`.`Competition`.`createdAt` FROM `main`.`Competition` WHERE 1=1 ORDER BY `main`.`Competition`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-07T23:07:01: prisma:query SELECT 1
2026-04-07T23:07:01: prisma:query SELECT `main`.`BursaryListing`.`id`, `main`.`BursaryListing`.`title`, `main`.`BursaryListing`.`provider`, `main`.`BursaryListing`.`description`, `main`.`BursaryListing`.`closingDate`, `main`.`BursaryListing`.`eligibilityCriteria`, `main`.`BursaryListing`.`value`, `main`.`BursaryListing`.`province`, `main`.`BursaryListing`.`fieldOfStudy`, `main`.`BursaryListing`.`level`, `main`.`BursaryListing`.`sourceUrl`, `main`.`BursaryListing`.`isVerified`, `main`.`BursaryListing`.`aiGenerated`, `main`.`BursaryListing`.`category`, `main`.`BursaryListing`.`applicationInstructions`, `main`.`BursaryListing`.`requiredDocuments`, `main`.`BursaryListing`.`createdAt`, `main`.`BursaryListing`.`updatedAt` FROM `main`.`BursaryListing` WHERE 1=1 ORDER BY `main`.`BursaryListing`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-08T00:50:00: prisma:query SELECT 1
2026-04-08T00:50:00: prisma:query SELECT `main`.`AcademicResult`.`id`, `main`.`AcademicResult`.`userId`, `main`.`AcademicResult`.`year`, `main`.`AcademicResult`.`term`, `main`.`AcademicResult`.`subject`, `main`.`AcademicResult`.`result`, `main`.`AcademicResult`.`createdAt`, `main`.`AcademicResult`.`updatedAt` FROM `main`.`AcademicResult` WHERE `main`.`AcademicResult`.`userId` = ? ORDER BY `main`.`AcademicResult`.`year` DESC, `main`.`AcademicResult`.`term` DESC LIMIT ? OFFSET ?
2026-04-08T12:08:27: prisma:query SELECT 1
2026-04-08T12:08:27: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`grade`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`role`, `main`.`User`.`status`, `main`.`User`.`points`, `main`.`User`.`profilePic`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`howHeard`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`createdAt`, COALESCE(`aggr_selection_0_AcademicResult`.`_aggr_count_academicResults`, 0) AS `_aggr_count_academicResults`, COALESCE(`aggr_selection_1_ChatMessage`.`_aggr_count_chatMessages`, 0) AS `_aggr_count_chatMessages`, COALESCE(`aggr_selection_2_TutorSession`.`_aggr_count_tutorSessionsLearner`, 0) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`User` LEFT JOIN (SELECT `main`.`AcademicResult`.`userId`, COUNT(*) AS `_aggr_count_academicResults` FROM `main`.`AcademicResult` WHERE 1=1 GROUP BY `main`.`AcademicResult`.`userId`) AS `aggr_selection_0_AcademicResult` ON (`main`.`User`.`id` = `aggr_selection_0_AcademicResult`.`userId`) LEFT JOIN (SELECT `main`.`ChatMessage`.`userId`, COUNT(*) AS `_aggr_count_chatMessages` FROM `main`.`ChatMessage` WHERE 1=1 GROUP BY `main`.`ChatMessage`.`userId`) AS `aggr_selection_1_ChatMessage` ON (`main`.`User`.`id` = `aggr_selection_1_ChatMessage`.`userId`) LEFT JOIN (SELECT `main`.`TutorSession`.`learnerId`, COUNT(*) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`TutorSession` WHERE 1=1 GROUP BY `main`.`TutorSession`.`learnerId`) AS `aggr_selection_2_TutorSession` ON (`main`.`User`.`id` = `aggr_selection_2_TutorSession`.`learnerId`) WHERE (`main`.`User`.`id` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-08T12:08:27: prisma:query SELECT `main`.`UserPremium`.`id`, `main`.`UserPremium`.`plan`, `main`.`UserPremium`.`startDate`, `main`.`UserPremium`.`expiryDate`, `main`.`UserPremium`.`userId` FROM `main`.`UserPremium` WHERE `main`.`UserPremium`.`userId` IN (?) LIMIT ? OFFSET ?
2026-04-08T12:09:34: prisma:query SELECT 1
2026-04-08T12:09:34: prisma:query SELECT `main`.`AcademicResult`.`id`, `main`.`AcademicResult`.`userId`, `main`.`AcademicResult`.`year`, `main`.`AcademicResult`.`term`, `main`.`AcademicResult`.`subject`, `main`.`AcademicResult`.`result`, `main`.`AcademicResult`.`createdAt`, `main`.`AcademicResult`.`updatedAt` FROM `main`.`AcademicResult` WHERE `main`.`AcademicResult`.`userId` = ? ORDER BY `main`.`AcademicResult`.`year` DESC, `main`.`AcademicResult`.`term` DESC LIMIT ? OFFSET ?
2026-04-08T17:20:49: prisma:query SELECT 1
2026-04-08T17:20:49: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`grade`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`role`, `main`.`User`.`status`, `main`.`User`.`points`, `main`.`User`.`profilePic`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`howHeard`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`createdAt`, COALESCE(`aggr_selection_0_AcademicResult`.`_aggr_count_academicResults`, 0) AS `_aggr_count_academicResults`, COALESCE(`aggr_selection_1_ChatMessage`.`_aggr_count_chatMessages`, 0) AS `_aggr_count_chatMessages`, COALESCE(`aggr_selection_2_TutorSession`.`_aggr_count_tutorSessionsLearner`, 0) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`User` LEFT JOIN (SELECT `main`.`AcademicResult`.`userId`, COUNT(*) AS `_aggr_count_academicResults` FROM `main`.`AcademicResult` WHERE 1=1 GROUP BY `main`.`AcademicResult`.`userId`) AS `aggr_selection_0_AcademicResult` ON (`main`.`User`.`id` = `aggr_selection_0_AcademicResult`.`userId`) LEFT JOIN (SELECT `main`.`ChatMessage`.`userId`, COUNT(*) AS `_aggr_count_chatMessages` FROM `main`.`ChatMessage` WHERE 1=1 GROUP BY `main`.`ChatMessage`.`userId`) AS `aggr_selection_1_ChatMessage` ON (`main`.`User`.`id` = `aggr_selection_1_ChatMessage`.`userId`) LEFT JOIN (SELECT `main`.`TutorSession`.`learnerId`, COUNT(*) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`TutorSession` WHERE 1=1 GROUP BY `main`.`TutorSession`.`learnerId`) AS `aggr_selection_2_TutorSession` ON (`main`.`User`.`id` = `aggr_selection_2_TutorSession`.`learnerId`) WHERE (`main`.`User`.`id` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-08T17:20:49: prisma:query SELECT `main`.`UserPremium`.`id`, `main`.`UserPremium`.`plan`, `main`.`UserPremium`.`startDate`, `main`.`UserPremium`.`expiryDate`, `main`.`UserPremium`.`userId` FROM `main`.`UserPremium` WHERE `main`.`UserPremium`.`userId` IN (?) LIMIT ? OFFSET ?
2026-04-08T18:03:36: prisma:query SELECT 1
2026-04-08T18:03:36: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`grade`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`role`, `main`.`User`.`status`, `main`.`User`.`points`, `main`.`User`.`profilePic`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`howHeard`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`createdAt`, COALESCE(`aggr_selection_0_AcademicResult`.`_aggr_count_academicResults`, 0) AS `_aggr_count_academicResults`, COALESCE(`aggr_selection_1_ChatMessage`.`_aggr_count_chatMessages`, 0) AS `_aggr_count_chatMessages`, COALESCE(`aggr_selection_2_TutorSession`.`_aggr_count_tutorSessionsLearner`, 0) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`User` LEFT JOIN (SELECT `main`.`AcademicResult`.`userId`, COUNT(*) AS `_aggr_count_academicResults` FROM `main`.`AcademicResult` WHERE 1=1 GROUP BY `main`.`AcademicResult`.`userId`) AS `aggr_selection_0_AcademicResult` ON (`main`.`User`.`id` = `aggr_selection_0_AcademicResult`.`userId`) LEFT JOIN (SELECT `main`.`ChatMessage`.`userId`, COUNT(*) AS `_aggr_count_chatMessages` FROM `main`.`ChatMessage` WHERE 1=1 GROUP BY `main`.`ChatMessage`.`userId`) AS `aggr_selection_1_ChatMessage` ON (`main`.`User`.`id` = `aggr_selection_1_ChatMessage`.`userId`) LEFT JOIN (SELECT `main`.`TutorSession`.`learnerId`, COUNT(*) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`TutorSession` WHERE 1=1 GROUP BY `main`.`TutorSession`.`learnerId`) AS `aggr_selection_2_TutorSession` ON (`main`.`User`.`id` = `aggr_selection_2_TutorSession`.`learnerId`) WHERE (`main`.`User`.`id` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-08T18:03:36: prisma:query SELECT `main`.`UserPremium`.`id`, `main`.`UserPremium`.`plan`, `main`.`UserPremium`.`startDate`, `main`.`UserPremium`.`expiryDate`, `main`.`UserPremium`.`userId` FROM `main`.`UserPremium` WHERE `main`.`UserPremium`.`userId` IN (?) LIMIT ? OFFSET ?
2026-04-08T22:05:21: prisma:query SELECT 1
2026-04-08T22:05:21: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`grade`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`role`, `main`.`User`.`status`, `main`.`User`.`points`, `main`.`User`.`profilePic`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`howHeard`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`createdAt`, COALESCE(`aggr_selection_0_AcademicResult`.`_aggr_count_academicResults`, 0) AS `_aggr_count_academicResults`, COALESCE(`aggr_selection_1_ChatMessage`.`_aggr_count_chatMessages`, 0) AS `_aggr_count_chatMessages`, COALESCE(`aggr_selection_2_TutorSession`.`_aggr_count_tutorSessionsLearner`, 0) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`User` LEFT JOIN (SELECT `main`.`AcademicResult`.`userId`, COUNT(*) AS `_aggr_count_academicResults` FROM `main`.`AcademicResult` WHERE 1=1 GROUP BY `main`.`AcademicResult`.`userId`) AS `aggr_selection_0_AcademicResult` ON (`main`.`User`.`id` = `aggr_selection_0_AcademicResult`.`userId`) LEFT JOIN (SELECT `main`.`ChatMessage`.`userId`, COUNT(*) AS `_aggr_count_chatMessages` FROM `main`.`ChatMessage` WHERE 1=1 GROUP BY `main`.`ChatMessage`.`userId`) AS `aggr_selection_1_ChatMessage` ON (`main`.`User`.`id` = `aggr_selection_1_ChatMessage`.`userId`) LEFT JOIN (SELECT `main`.`TutorSession`.`learnerId`, COUNT(*) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`TutorSession` WHERE 1=1 GROUP BY `main`.`TutorSession`.`learnerId`) AS `aggr_selection_2_TutorSession` ON (`main`.`User`.`id` = `aggr_selection_2_TutorSession`.`learnerId`) WHERE (`main`.`User`.`id` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-08T22:05:21: prisma:query SELECT `main`.`UserPremium`.`id`, `main`.`UserPremium`.`plan`, `main`.`UserPremium`.`startDate`, `main`.`UserPremium`.`expiryDate`, `main`.`UserPremium`.`userId` FROM `main`.`UserPremium` WHERE `main`.`UserPremium`.`userId` IN (?) LIMIT ? OFFSET ?
2026-04-08T22:11:09: prisma:query SELECT 1
2026-04-08T22:11:09: prisma:query SELECT `main`.`AcademicResult`.`id`, `main`.`AcademicResult`.`userId`, `main`.`AcademicResult`.`year`, `main`.`AcademicResult`.`term`, `main`.`AcademicResult`.`subject`, `main`.`AcademicResult`.`result`, `main`.`AcademicResult`.`createdAt`, `main`.`AcademicResult`.`updatedAt` FROM `main`.`AcademicResult` WHERE `main`.`AcademicResult`.`userId` = ? ORDER BY `main`.`AcademicResult`.`year` DESC, `main`.`AcademicResult`.`term` DESC LIMIT ? OFFSET ?
2026-04-09T11:40:42: prisma:query SELECT 1
2026-04-09T11:40:42: prisma:query SELECT `main`.`AcademicResult`.`id`, `main`.`AcademicResult`.`userId`, `main`.`AcademicResult`.`year`, `main`.`AcademicResult`.`term`, `main`.`AcademicResult`.`subject`, `main`.`AcademicResult`.`result`, `main`.`AcademicResult`.`createdAt`, `main`.`AcademicResult`.`updatedAt` FROM `main`.`AcademicResult` WHERE `main`.`AcademicResult`.`userId` = ? ORDER BY `main`.`AcademicResult`.`year` DESC, `main`.`AcademicResult`.`term` DESC LIMIT ? OFFSET ?
2026-04-09T11:49:41: prisma:query SELECT 1
2026-04-09T11:49:41: prisma:query SELECT `main`.`AcademicResult`.`id`, `main`.`AcademicResult`.`userId`, `main`.`AcademicResult`.`year`, `main`.`AcademicResult`.`term`, `main`.`AcademicResult`.`subject`, `main`.`AcademicResult`.`result`, `main`.`AcademicResult`.`createdAt`, `main`.`AcademicResult`.`updatedAt` FROM `main`.`AcademicResult` WHERE `main`.`AcademicResult`.`userId` = ? ORDER BY `main`.`AcademicResult`.`year` DESC, `main`.`AcademicResult`.`term` DESC LIMIT ? OFFSET ?
2026-04-09T11:50:05: prisma:query SELECT 1
2026-04-09T11:50:05: prisma:query SELECT `main`.`Competition`.`id`, `main`.`Competition`.`title`, `main`.`Competition`.`slug`, `main`.`Competition`.`description`, `main`.`Competition`.`sponsorId`, `main`.`Competition`.`industry`, `main`.`Competition`.`startDate`, `main`.`Competition`.`endDate`, `main`.`Competition`.`prizePool`, `main`.`Competition`.`maxEntries`, `main`.`Competition`.`currentEntries`, `main`.`Competition`.`eligibilityGrades`, `main`.`Competition`.`rules`, `main`.`Competition`.`judgingCriteria`, `main`.`Competition`.`prizes`, `main`.`Competition`.`entryCode`, `main`.`Competition`.`pointsRequired`, `main`.`Competition`.`status`, `main`.`Competition`.`createdAt` FROM `main`.`Competition` WHERE 1=1 ORDER BY `main`.`Competition`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-09T11:50:14: prisma:query SELECT `main`.`BursaryListing`.`id`, `main`.`BursaryListing`.`title`, `main`.`BursaryListing`.`provider`, `main`.`BursaryListing`.`description`, `main`.`BursaryListing`.`closingDate`, `main`.`BursaryListing`.`eligibilityCriteria`, `main`.`BursaryListing`.`value`, `main`.`BursaryListing`.`province`, `main`.`BursaryListing`.`fieldOfStudy`, `main`.`BursaryListing`.`level`, `main`.`BursaryListing`.`sourceUrl`, `main`.`BursaryListing`.`isVerified`, `main`.`BursaryListing`.`aiGenerated`, `main`.`BursaryListing`.`category`, `main`.`BursaryListing`.`applicationInstructions`, `main`.`BursaryListing`.`requiredDocuments`, `main`.`BursaryListing`.`createdAt`, `main`.`BursaryListing`.`updatedAt` FROM `main`.`BursaryListing` WHERE 1=1 ORDER BY `main`.`BursaryListing`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-09T16:26:17: prisma:query SELECT 1
2026-04-09T16:26:17: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-09T16:26:18: prisma:query UPDATE `main`.`AdminUser` SET `lastLogin` = ? WHERE (`main`.`AdminUser`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `name` AS `name`, `email` AS `email`, `password` AS `password`, `role` AS `role`, `permissions` AS `permissions`, `isActive` AS `isActive`, `profilePic` AS `profilePic`, `lastLogin` AS `lastLogin`, `createdAt` AS `createdAt`
2026-04-09T16:38:03: prisma:query SELECT 1
2026-04-09T16:38:03: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-09T16:38:03: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-09T16:41:13: prisma:query SELECT 1
2026-04-09T16:41:13: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-09T16:41:13: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-09T16:41:13: prisma:query UPDATE `main`.`User` SET `lastLogin` = ?, `loginCount` = (`main`.`User`.`loginCount` + ?), `updatedAt` = ? WHERE (`main`.`User`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `email` AS `email`, `password` AS `password`, `firstName` AS `firstName`, `lastName` AS `lastName`, `phone` AS `phone`, `idNumber` AS `idNumber`, `gender` AS `gender`, `dateOfBirth` AS `dateOfBirth`, `homeLanguage` AS `homeLanguage`, `grade` AS `grade`, `province` AS `province`, `city` AS `city`, `suburb` AS `suburb`, `schoolName` AS `schoolName`, `schoolId` AS `schoolId`, `careerInterests` AS `careerInterests`, `subjectsStruggling` AS `subjectsStruggling`, `preferredUniversities` AS `preferredUniversities`, `assessmentCompleted` AS `assessmentCompleted`, `parentEmail` AS `parentEmail`, `parentPhone` AS `parentPhone`, `parentName` AS `parentName`, `parentRelationship` AS `parentRelationship`, `points` AS `points`, `nationalRank` AS `nationalRank`, `role` AS `role`, `subscriptionType` AS `subscriptionType`, `subscriptionExpires` AS `subscriptionExpires`, `isPremium` AS `isPremium`, `premiumExpires` AS `premiumExpires`, `isGrantRecipient` AS `isGrantRecipient`, `howHeard` AS `howHeard`, `lastLogin` AS `lastLogin`, `loginCount` AS `loginCount`, `profilePic` AS `profilePic`, `status` AS `status`, `createdAt` AS `createdAt`, `updatedAt` AS `updatedAt`
2026-04-09T16:41:25: prisma:query SELECT `main`.`BursaryListing`.`id`, `main`.`BursaryListing`.`title`, `main`.`BursaryListing`.`provider`, `main`.`BursaryListing`.`description`, `main`.`BursaryListing`.`closingDate`, `main`.`BursaryListing`.`eligibilityCriteria`, `main`.`BursaryListing`.`value`, `main`.`BursaryListing`.`province`, `main`.`BursaryListing`.`fieldOfStudy`, `main`.`BursaryListing`.`level`, `main`.`BursaryListing`.`sourceUrl`, `main`.`BursaryListing`.`isVerified`, `main`.`BursaryListing`.`aiGenerated`, `main`.`BursaryListing`.`category`, `main`.`BursaryListing`.`applicationInstructions`, `main`.`BursaryListing`.`requiredDocuments`, `main`.`BursaryListing`.`createdAt`, `main`.`BursaryListing`.`updatedAt` FROM `main`.`BursaryListing` WHERE 1=1 ORDER BY `main`.`BursaryListing`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-09T16:41:26: prisma:query SELECT `main`.`Competition`.`id`, `main`.`Competition`.`title`, `main`.`Competition`.`slug`, `main`.`Competition`.`description`, `main`.`Competition`.`sponsorId`, `main`.`Competition`.`industry`, `main`.`Competition`.`startDate`, `main`.`Competition`.`endDate`, `main`.`Competition`.`prizePool`, `main`.`Competition`.`maxEntries`, `main`.`Competition`.`currentEntries`, `main`.`Competition`.`eligibilityGrades`, `main`.`Competition`.`rules`, `main`.`Competition`.`judgingCriteria`, `main`.`Competition`.`prizes`, `main`.`Competition`.`entryCode`, `main`.`Competition`.`pointsRequired`, `main`.`Competition`.`status`, `main`.`Competition`.`createdAt` FROM `main`.`Competition` WHERE 1=1 ORDER BY `main`.`Competition`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-09T16:41:27: prisma:query SELECT `main`.`TutorProfile`.`id`, `main`.`TutorProfile`.`userId`, `main`.`TutorProfile`.`bio`, `main`.`TutorProfile`.`subjects`, `main`.`TutorProfile`.`grades`, `main`.`TutorProfile`.`hourlyRate`, `main`.`TutorProfile`.`rating`, `main`.`TutorProfile`.`totalReviews`, `main`.`TutorProfile`.`totalSessions`, `main`.`TutorProfile`.`province`, `main`.`TutorProfile`.`city`, `main`.`TutorProfile`.`suburbsServed`, `main`.`TutorProfile`.`offersOnline`, `main`.`TutorProfile`.`offersInPerson`, `main`.`TutorProfile`.`serviceType`, `main`.`TutorProfile`.`subscriptionStatus`, `main`.`TutorProfile`.`subscriptionExpires`, `main`.`TutorProfile`.`qualifications`, `main`.`TutorProfile`.`experienceYears`, `main`.`TutorProfile`.`expertiseLevel`, `main`.`TutorProfile`.`availability`, `main`.`TutorProfile`.`responseTimeHours`, `main`.`TutorProfile`.`status`, `main`.`TutorProfile`.`idNumber`, `main`.`TutorProfile`.`proofOfQualification`, `main`.`TutorProfile`.`profilePhoto`, `main`.`TutorProfile`.`createdAt`, `main`.`TutorProfile`.`updatedAt` FROM `main`.`TutorProfile` WHERE 1=1 ORDER BY `main`.`TutorProfile`.`rating` DESC LIMIT ? OFFSET ?
2026-04-09T16:41:27: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`profilePic`, `main`.`User`.`province`, `main`.`User`.`city` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?) LIMIT ? OFFSET ?
2026-04-09T16:41:28: prisma:query SELECT 1
2026-04-09T16:41:28: prisma:query SELECT `main`.`AcademicResult`.`id`, `main`.`AcademicResult`.`userId`, `main`.`AcademicResult`.`year`, `main`.`AcademicResult`.`term`, `main`.`AcademicResult`.`subject`, `main`.`AcademicResult`.`result`, `main`.`AcademicResult`.`createdAt`, `main`.`AcademicResult`.`updatedAt` FROM `main`.`AcademicResult` WHERE `main`.`AcademicResult`.`userId` = ? ORDER BY `main`.`AcademicResult`.`year` DESC, `main`.`AcademicResult`.`term` DESC LIMIT ? OFFSET ?
2026-04-09T16:41:30: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`grade`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`role`, `main`.`User`.`status`, `main`.`User`.`points`, `main`.`User`.`profilePic`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`howHeard`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`createdAt`, COALESCE(`aggr_selection_0_AcademicResult`.`_aggr_count_academicResults`, 0) AS `_aggr_count_academicResults`, COALESCE(`aggr_selection_1_ChatMessage`.`_aggr_count_chatMessages`, 0) AS `_aggr_count_chatMessages`, COALESCE(`aggr_selection_2_TutorSession`.`_aggr_count_tutorSessionsLearner`, 0) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`User` LEFT JOIN (SELECT `main`.`AcademicResult`.`userId`, COUNT(*) AS `_aggr_count_academicResults` FROM `main`.`AcademicResult` WHERE 1=1 GROUP BY `main`.`AcademicResult`.`userId`) AS `aggr_selection_0_AcademicResult` ON (`main`.`User`.`id` = `aggr_selection_0_AcademicResult`.`userId`) LEFT JOIN (SELECT `main`.`ChatMessage`.`userId`, COUNT(*) AS `_aggr_count_chatMessages` FROM `main`.`ChatMessage` WHERE 1=1 GROUP BY `main`.`ChatMessage`.`userId`) AS `aggr_selection_1_ChatMessage` ON (`main`.`User`.`id` = `aggr_selection_1_ChatMessage`.`userId`) LEFT JOIN (SELECT `main`.`TutorSession`.`learnerId`, COUNT(*) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`TutorSession` WHERE 1=1 GROUP BY `main`.`TutorSession`.`learnerId`) AS `aggr_selection_2_TutorSession` ON (`main`.`User`.`id` = `aggr_selection_2_TutorSession`.`learnerId`) WHERE (`main`.`User`.`id` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-09T16:41:30: prisma:query SELECT `main`.`UserPremium`.`id`, `main`.`UserPremium`.`plan`, `main`.`UserPremium`.`startDate`, `main`.`UserPremium`.`expiryDate`, `main`.`UserPremium`.`userId` FROM `main`.`UserPremium` WHERE `main`.`UserPremium`.`userId` IN (?) LIMIT ? OFFSET ?
2026-04-09T16:41:41: prisma:query SELECT `main`.`AcademicResult`.`id`, `main`.`AcademicResult`.`userId`, `main`.`AcademicResult`.`year`, `main`.`AcademicResult`.`term`, `main`.`AcademicResult`.`subject`, `main`.`AcademicResult`.`result`, `main`.`AcademicResult`.`createdAt`, `main`.`AcademicResult`.`updatedAt` FROM `main`.`AcademicResult` WHERE `main`.`AcademicResult`.`userId` = ? ORDER BY `main`.`AcademicResult`.`year` DESC, `main`.`AcademicResult`.`term` DESC LIMIT ? OFFSET ?
2026-04-09T16:41:42: prisma:query SELECT `main`.`TutorProfile`.`id`, `main`.`TutorProfile`.`userId`, `main`.`TutorProfile`.`bio`, `main`.`TutorProfile`.`subjects`, `main`.`TutorProfile`.`grades`, `main`.`TutorProfile`.`hourlyRate`, `main`.`TutorProfile`.`rating`, `main`.`TutorProfile`.`totalReviews`, `main`.`TutorProfile`.`totalSessions`, `main`.`TutorProfile`.`province`, `main`.`TutorProfile`.`city`, `main`.`TutorProfile`.`suburbsServed`, `main`.`TutorProfile`.`offersOnline`, `main`.`TutorProfile`.`offersInPerson`, `main`.`TutorProfile`.`serviceType`, `main`.`TutorProfile`.`subscriptionStatus`, `main`.`TutorProfile`.`subscriptionExpires`, `main`.`TutorProfile`.`qualifications`, `main`.`TutorProfile`.`experienceYears`, `main`.`TutorProfile`.`expertiseLevel`, `main`.`TutorProfile`.`availability`, `main`.`TutorProfile`.`responseTimeHours`, `main`.`TutorProfile`.`status`, `main`.`TutorProfile`.`idNumber`, `main`.`TutorProfile`.`proofOfQualification`, `main`.`TutorProfile`.`profilePhoto`, `main`.`TutorProfile`.`createdAt`, `main`.`TutorProfile`.`updatedAt` FROM `main`.`TutorProfile` WHERE 1=1 ORDER BY `main`.`TutorProfile`.`rating` DESC LIMIT ? OFFSET ?
2026-04-09T16:41:42: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`profilePic`, `main`.`User`.`province`, `main`.`User`.`city` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?) LIMIT ? OFFSET ?
2026-04-09T16:41:44: prisma:query SELECT 1
2026-04-09T16:41:44: prisma:query SELECT `main`.`Competition`.`id`, `main`.`Competition`.`title`, `main`.`Competition`.`slug`, `main`.`Competition`.`description`, `main`.`Competition`.`sponsorId`, `main`.`Competition`.`industry`, `main`.`Competition`.`startDate`, `main`.`Competition`.`endDate`, `main`.`Competition`.`prizePool`, `main`.`Competition`.`maxEntries`, `main`.`Competition`.`currentEntries`, `main`.`Competition`.`eligibilityGrades`, `main`.`Competition`.`rules`, `main`.`Competition`.`judgingCriteria`, `main`.`Competition`.`prizes`, `main`.`Competition`.`entryCode`, `main`.`Competition`.`pointsRequired`, `main`.`Competition`.`status`, `main`.`Competition`.`createdAt` FROM `main`.`Competition` WHERE 1=1 ORDER BY `main`.`Competition`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-09T16:41:53: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`grade`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`role`, `main`.`User`.`status`, `main`.`User`.`points`, `main`.`User`.`profilePic`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`howHeard`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`createdAt`, COALESCE(`aggr_selection_0_AcademicResult`.`_aggr_count_academicResults`, 0) AS `_aggr_count_academicResults`, COALESCE(`aggr_selection_1_ChatMessage`.`_aggr_count_chatMessages`, 0) AS `_aggr_count_chatMessages`, COALESCE(`aggr_selection_2_TutorSession`.`_aggr_count_tutorSessionsLearner`, 0) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`User` LEFT JOIN (SELECT `main`.`AcademicResult`.`userId`, COUNT(*) AS `_aggr_count_academicResults` FROM `main`.`AcademicResult` WHERE 1=1 GROUP BY `main`.`AcademicResult`.`userId`) AS `aggr_selection_0_AcademicResult` ON (`main`.`User`.`id` = `aggr_selection_0_AcademicResult`.`userId`) LEFT JOIN (SELECT `main`.`ChatMessage`.`userId`, COUNT(*) AS `_aggr_count_chatMessages` FROM `main`.`ChatMessage` WHERE 1=1 GROUP BY `main`.`ChatMessage`.`userId`) AS `aggr_selection_1_ChatMessage` ON (`main`.`User`.`id` = `aggr_selection_1_ChatMessage`.`userId`) LEFT JOIN (SELECT `main`.`TutorSession`.`learnerId`, COUNT(*) AS `_aggr_count_tutorSessionsLearner` FROM `main`.`TutorSession` WHERE 1=1 GROUP BY `main`.`TutorSession`.`learnerId`) AS `aggr_selection_2_TutorSession` ON (`main`.`User`.`id` = `aggr_selection_2_TutorSession`.`learnerId`) WHERE (`main`.`User`.`id` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-09T16:41:53: prisma:query SELECT `main`.`UserPremium`.`id`, `main`.`UserPremium`.`plan`, `main`.`UserPremium`.`startDate`, `main`.`UserPremium`.`expiryDate`, `main`.`UserPremium`.`userId` FROM `main`.`UserPremium` WHERE `main`.`UserPremium`.`userId` IN (?) LIMIT ? OFFSET ?
2026-04-09T16:41:57: prisma:query SELECT `main`.`TutorProfile`.`id`, `main`.`TutorProfile`.`userId`, `main`.`TutorProfile`.`bio`, `main`.`TutorProfile`.`subjects`, `main`.`TutorProfile`.`grades`, `main`.`TutorProfile`.`hourlyRate`, `main`.`TutorProfile`.`rating`, `main`.`TutorProfile`.`totalReviews`, `main`.`TutorProfile`.`totalSessions`, `main`.`TutorProfile`.`province`, `main`.`TutorProfile`.`city`, `main`.`TutorProfile`.`suburbsServed`, `main`.`TutorProfile`.`offersOnline`, `main`.`TutorProfile`.`offersInPerson`, `main`.`TutorProfile`.`serviceType`, `main`.`TutorProfile`.`subscriptionStatus`, `main`.`TutorProfile`.`subscriptionExpires`, `main`.`TutorProfile`.`qualifications`, `main`.`TutorProfile`.`experienceYears`, `main`.`TutorProfile`.`expertiseLevel`, `main`.`TutorProfile`.`availability`, `main`.`TutorProfile`.`responseTimeHours`, `main`.`TutorProfile`.`status`, `main`.`TutorProfile`.`idNumber`, `main`.`TutorProfile`.`proofOfQualification`, `main`.`TutorProfile`.`profilePhoto`, `main`.`TutorProfile`.`createdAt`, `main`.`TutorProfile`.`updatedAt` FROM `main`.`TutorProfile` WHERE 1=1 ORDER BY `main`.`TutorProfile`.`rating` DESC LIMIT ? OFFSET ?
2026-04-09T16:41:57: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`email`, `main`.`User`.`profilePic`, `main`.`User`.`province`, `main`.`User`.`city` FROM `main`.`User` WHERE `main`.`User`.`id` IN (?) LIMIT ? OFFSET ?
2026-04-09T16:41:59: prisma:query SELECT `main`.`Competition`.`id`, `main`.`Competition`.`title`, `main`.`Competition`.`slug`, `main`.`Competition`.`description`, `main`.`Competition`.`sponsorId`, `main`.`Competition`.`industry`, `main`.`Competition`.`startDate`, `main`.`Competition`.`endDate`, `main`.`Competition`.`prizePool`, `main`.`Competition`.`maxEntries`, `main`.`Competition`.`currentEntries`, `main`.`Competition`.`eligibilityGrades`, `main`.`Competition`.`rules`, `main`.`Competition`.`judgingCriteria`, `main`.`Competition`.`prizes`, `main`.`Competition`.`entryCode`, `main`.`Competition`.`pointsRequired`, `main`.`Competition`.`status`, `main`.`Competition`.`createdAt` FROM `main`.`Competition` WHERE 1=1 ORDER BY `main`.`Competition`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-09T16:49:58: prisma:query SELECT 1
2026-04-09T16:49:58: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-09T16:49:58: prisma:query UPDATE `main`.`AdminUser` SET `lastLogin` = ? WHERE (`main`.`AdminUser`.`id` = ? AND 1=1) RETURNING `id` AS `id`, `name` AS `name`, `email` AS `email`, `password` AS `password`, `role` AS `role`, `permissions` AS `permissions`, `isActive` AS `isActive`, `profilePic` AS `profilePic`, `lastLogin` AS `lastLogin`, `createdAt` AS `createdAt`
2026-04-09T16:50:04: prisma:query SELECT `main`.`PaymentTransaction`.`id`, `main`.`PaymentTransaction`.`userId`, `main`.`PaymentTransaction`.`reference`, `main`.`PaymentTransaction`.`type`, `main`.`PaymentTransaction`.`amount`, `main`.`PaymentTransaction`.`months`, `main`.`PaymentTransaction`.`paymentMethod`, `main`.`PaymentTransaction`.`paymentStatus`, `main`.`PaymentTransaction`.`completedAt`, `main`.`PaymentTransaction`.`createdAt` FROM `main`.`PaymentTransaction` WHERE 1=1 ORDER BY `main`.`PaymentTransaction`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-09T22:16:44: prisma:query SELECT 1
2026-04-09T22:16:44: prisma:query SELECT `main`.`PaymentTransaction`.`id`, `main`.`PaymentTransaction`.`userId`, `main`.`PaymentTransaction`.`reference`, `main`.`PaymentTransaction`.`type`, `main`.`PaymentTransaction`.`amount`, `main`.`PaymentTransaction`.`months`, `main`.`PaymentTransaction`.`paymentMethod`, `main`.`PaymentTransaction`.`paymentStatus`, `main`.`PaymentTransaction`.`completedAt`, `main`.`PaymentTransaction`.`createdAt` FROM `main`.`PaymentTransaction` WHERE 1=1 ORDER BY `main`.`PaymentTransaction`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-09T22:16:51: prisma:query SELECT `main`.`PaymentTransaction`.`id`, `main`.`PaymentTransaction`.`userId`, `main`.`PaymentTransaction`.`reference`, `main`.`PaymentTransaction`.`type`, `main`.`PaymentTransaction`.`amount`, `main`.`PaymentTransaction`.`months`, `main`.`PaymentTransaction`.`paymentMethod`, `main`.`PaymentTransaction`.`paymentStatus`, `main`.`PaymentTransaction`.`completedAt`, `main`.`PaymentTransaction`.`createdAt` FROM `main`.`PaymentTransaction` WHERE 1=1 ORDER BY `main`.`PaymentTransaction`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-09T22:29:26: ▲ Next.js 16.2.2
2026-04-09T22:29:26: - Local:         http://host.cloudprime.co.za:3003
2026-04-09T22:29:26: - Network:       http://host.cloudprime.co.za:3003
2026-04-09T22:29:26: ✓ Ready in 0ms
2026-04-09T22:30:03: prisma:query SELECT `main`.`PaymentTransaction`.`id`, `main`.`PaymentTransaction`.`userId`, `main`.`PaymentTransaction`.`reference`, `main`.`PaymentTransaction`.`type`, `main`.`PaymentTransaction`.`amount`, `main`.`PaymentTransaction`.`months`, `main`.`PaymentTransaction`.`paymentMethod`, `main`.`PaymentTransaction`.`paymentStatus`, `main`.`PaymentTransaction`.`completedAt`, `main`.`PaymentTransaction`.`createdAt` FROM `main`.`PaymentTransaction` WHERE 1=1 ORDER BY `main`.`PaymentTransaction`.`createdAt` DESC LIMIT ? OFFSET ?
2026-04-09T22:32:02: prisma:query SELECT 1
2026-04-09T22:32:02: prisma:query SELECT `main`.`AdminUser`.`id`, `main`.`AdminUser`.`name`, `main`.`AdminUser`.`email`, `main`.`AdminUser`.`password`, `main`.`AdminUser`.`role`, `main`.`AdminUser`.`permissions`, `main`.`AdminUser`.`isActive`, `main`.`AdminUser`.`profilePic`, `main`.`AdminUser`.`lastLogin`, `main`.`AdminUser`.`createdAt` FROM `main`.`AdminUser` WHERE (`main`.`AdminUser`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
2026-04-09T22:32:02: prisma:query SELECT `main`.`User`.`id`, `main`.`User`.`email`, `main`.`User`.`password`, `main`.`User`.`firstName`, `main`.`User`.`lastName`, `main`.`User`.`phone`, `main`.`User`.`idNumber`, `main`.`User`.`gender`, `main`.`User`.`dateOfBirth`, `main`.`User`.`homeLanguage`, `main`.`User`.`grade`, `main`.`User`.`province`, `main`.`User`.`city`, `main`.`User`.`suburb`, `main`.`User`.`schoolName`, `main`.`User`.`schoolId`, `main`.`User`.`careerInterests`, `main`.`User`.`subjectsStruggling`, `main`.`User`.`preferredUniversities`, `main`.`User`.`assessmentCompleted`, `main`.`User`.`parentEmail`, `main`.`User`.`parentPhone`, `main`.`User`.`parentName`, `main`.`User`.`parentRelationship`, `main`.`User`.`points`, `main`.`User`.`nationalRank`, `main`.`User`.`role`, `main`.`User`.`subscriptionType`, `main`.`User`.`subscriptionExpires`, `main`.`User`.`isPremium`, `main`.`User`.`premiumExpires`, `main`.`User`.`isGrantRecipient`, `main`.`User`.`howHeard`, `main`.`User`.`lastLogin`, `main`.`User`.`loginCount`, `main`.`User`.`profilePic`, `main`.`User`.`status`, `main`.`User`.`createdAt`, `main`.`User`.`updatedAt` FROM `main`.`User` WHERE (`main`.`User`.`email` = ? AND 1=1) LIMIT ? OFFSET ?
