feat: restrict access to inactive user profiles and update deactivation error messages

This commit is contained in:
pradeepkumar
2026-03-31 23:42:15 +05:30
parent f30894dd79
commit fbe04b31e7
2 changed files with 10 additions and 3 deletions

View File

@@ -130,6 +130,7 @@ export class AgentsService {
id: true,
email: true,
avatar: true,
status: true,
privacyPreferences: true,
},
},
@@ -141,6 +142,11 @@ export class AgentsService {
throw new NotFoundException('Agent profile not found');
}
// Block access to inactive user profiles (unless viewing own profile)
if (profile.user.status !== 'ACTIVE' && profile.userId !== requestingUserId) {
throw new NotFoundException('Agent profile not found');
}
const visibility = this.getProfileVisibility(profile.user.privacyPreferences);
// Own profile — always visible
@@ -299,9 +305,10 @@ export class AgentsService {
const skip = (page - 1) * limit;
// Build where clause — only show admin-approved profiles in search
// Build where clause — only show active, admin-approved profiles in search
const where: Prisma.AgentProfileWhereInput = {
verificationStatus: 'APPROVED',
user: { status: 'ACTIVE' },
};
if (search) {

View File

@@ -151,7 +151,7 @@ export class AuthService {
}
if (user.status !== UserStatus.ACTIVE) {
throw new UnauthorizedException('Account is not active');
throw new UnauthorizedException('Your account has been deactivated. Please contact support.');
}
// Check if email is verified
@@ -334,7 +334,7 @@ export class AuthService {
}
if (user.status !== UserStatus.ACTIVE) {
throw new UnauthorizedException('Account is not active');
throw new UnauthorizedException('Your account has been deactivated. Please contact support.');
}
// Generate tokens