Fix: Usuarios Admin No Pueden Tener Avisos Propios
This commit is contained in:
@@ -349,10 +349,25 @@ public class AdsV2Controller : ControllerBase
|
||||
{
|
||||
if (request.TargetUserID.HasValue)
|
||||
{
|
||||
// Validación adicional: Asegurar que el ID seleccionado no sea Admin (por seguridad extra)
|
||||
var targetUser = await _context.Users.FindAsync(request.TargetUserID.Value);
|
||||
if (targetUser != null && targetUser.UserType == 3)
|
||||
{
|
||||
return BadRequest("No se puede asignar un aviso a una cuenta de Administrador.");
|
||||
}
|
||||
finalUserId = request.TargetUserID.Value;
|
||||
}
|
||||
else if (!string.IsNullOrEmpty(request.GhostUserEmail))
|
||||
{
|
||||
// Verificamos si el email escrito manualmente pertenece a un Admin existente
|
||||
var existingAdmin = await _context.Users
|
||||
.AnyAsync(u => u.Email == request.GhostUserEmail && u.UserType == 3);
|
||||
|
||||
if (existingAdmin)
|
||||
{
|
||||
return BadRequest($"El correo '{request.GhostUserEmail}' pertenece a un Administrador. No puedes asignar avisos a administradores.");
|
||||
}
|
||||
|
||||
// Pasamos nombre y apellido por separado
|
||||
var ghost = await _identityService.CreateGhostUserAsync(
|
||||
request.GhostUserEmail,
|
||||
|
||||
Reference in New Issue
Block a user