refactor( iam ): remove prisma.user references from passenger-side services

This commit is contained in:
Abubeker Yasin
2026-06-09 10:31:49 +03:00
parent 32f2f4b917
commit 1d35453338
9 changed files with 99 additions and 107 deletions

View File

@@ -52,25 +52,17 @@ export class PassengersController {
})
@ApiResponse({ status: 401, description: 'Unauthorized - Invalid or missing token' })
async getMe(@Request() req: any) {
if (!req.user || !req.user.userId) {
if (!req.user || !req.user.id) {
throw new UnauthorizedException('User not authenticated');
}
try {
const user = await this.prisma.user.findUnique({
where: { id: req.user.userId },
include: {
passenger: true,
},
const passenger = await this.prisma.passenger.findUnique({
where: { iamUserId: req.user.id },
});
if (!user || !user.passenger) {
return null;
}
return this.service.getProfile(user.passenger.id);
if (!passenger) return null;
return this.service.getProfile(passenger.id);
} catch (error) {
// If profile lookup fails for any reason, return null to allow app to continue
return null;
}
}

View File

@@ -92,6 +92,9 @@ export class PassengersService {
}
async getProfile(passengerId: string) {
console.log("here");
const p = await this.prisma.passenger.findUnique({
where: { id: passengerId },
include: {
@@ -230,36 +233,18 @@ export class PassengersService {
email: dto.email,
};
// If logged in, update user profile and link passenger
// If logged in, link passenger
if (isLoggedIn) {
// dto.userId is the IAM user UUID — resolve via Passenger.iamUserId
const linkedPassenger = await this.prisma.passenger.findUnique({
where: { iamUserId: dto.userId },
include: { user: true },
});
const user = linkedPassenger?.user ?? null;
if (!user) {
throw new BadRequestException('User not found');
}
// Update user record if not already verified
if (!user.faydaVerified && verifiedData) {
await this.prisma.user.update({
where: { id: user.id },
data: {
fullName: finalData.passengerName,
nationality: finalData.nationality,
nationalId: dto.nationalId,
passportNumber: dto.passportNumber,
faydaVerified: !!verifiedData,
faydaVerifiedAt: verifiedData ? new Date() : null,
},
});
if (!linkedPassenger) {
throw new BadRequestException('Passenger not found');
}
return {
id: linkedPassenger?.id || user.id,
id: linkedPassenger.id,
passengerName: finalData.passengerName,
dateOfBirth: finalData.dateOfBirth,
nationality: finalData.nationality,