feat: Implement agent verification system with a new status enum, admin update functionality, and document retrieval.

This commit is contained in:
pradeepkumar
2026-01-28 13:48:14 +05:30
parent dfd8bc38a5
commit eece0f7401
5 changed files with 208 additions and 12 deletions

View File

@@ -28,7 +28,7 @@ import { RolesGuard } from '../auth/guards/roles.guard';
import { Roles } from '../auth/decorators/roles.decorator';
import { Public } from '../auth/decorators/public.decorator';
import { CurrentUser } from '../auth/decorators/current-user.decorator';
import { UserRole } from '@prisma/client';
import { UserRole, VerificationStatus } from '@prisma/client';
@ApiTags('agents')
@Controller('agents')
@@ -193,14 +193,19 @@ export class AgentsController {
@UseGuards(JwtAuthGuard, RolesGuard)
@Roles(UserRole.ADMIN)
@ApiBearerAuth()
@ApiOperation({ summary: 'Admin: Verify/unverify agent' })
@ApiOperation({ summary: 'Admin: Update agent verification status' })
@ApiResponse({ status: 200, description: 'Verification status updated' })
@ApiResponse({ status: 404, description: 'Profile not found' })
async adminVerifyAgent(
@Param('id', ParseUUIDPipe) id: string,
@Body('isVerified') isVerified: boolean,
@Body() data: { status: VerificationStatus; note?: string },
@CurrentUser() admin: { id: string },
) {
return this.agentsService.adminVerifyAgent(id, isVerified);
return this.agentsService.adminVerifyAgent(id, {
status: data.status,
note: data.note,
adminId: admin.id,
});
}
@Put('admin/:id/featured')