Conversation
…ustom exception handling
…e member for id user
…-en-microservicio-de-members 1 recibir evento de usuario creado en microservicio de members
…-en-microservicio-de-members update entity for recived user for google
|
Caution Review failedThe pull request is closed. WalkthroughSe agregan dependencias de Spring Kafka. Se reorganiza el paquete de auditoría. Se introducen configuración Kafka (consumidor/productor, DLT), eventos, excepciones de reintento, y un handler para registrar usuarios desde Kafka. Se añaden DTOs, especificación JPA, métodos en repositorio/servicio/controlador con paginación, filtros y seguridad. Se actualiza la entidad y se elimina un enum. Cambios en recursos. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Kafka as Kafka Broker
participant Cfg as KafkaConsumerConfig
participant L as @KafkaListener
participant H as RegisterUserEventHandler
participant R as MemberRepository
participant DB as Database
participant DLT as Dead Letter Topic
rect rgba(230,245,255,0.6)
note over Cfg: Configuración de consumidor/prod.<br/>JsonDeserializer + ErrorHandlingDeserializer<br/>BackOff 500ms x3
end
Kafka->>L: CreatedUserEvent
L->>H: handle(event)
H->>R: findById(userId)
alt Ya existe
H-->>L: no-op
else Nuevo
H->>R: save(MemberEntity)
R->>DB: insert
DB-->>R: ok
R-->>H: entidad guardada
H-->>L: ok
end
rect rgba(255,235,230,0.6)
note over L: Falla en procesamiento
L->>L: Reintentos (3)
alt Sigue fallando
L->>DLT: Publica mensaje a DLT
else Excepción no reintetable
L-->>Kafka: NACK sin reintento
end
end
sequenceDiagram
actor U as Usuario
participant Ctrl as MemberController
participant Auth as AuthorizationService
participant S as MemberService
participant R as MemberRepository
participant Map as MemberMapper
U->>Ctrl: GET /members?dni=&page=&size=&sort=
Ctrl->>S: findAllMembers(...)
S->>R: findAll(spec, pageable)
R-->>S: Page<MemberEntity>
S->>Map: toDto(entity)
Map-->>S: MembersResponseDto
S-->>Ctrl: MemberPageResponseDto
Ctrl-->>U: 200 JSON
U->>Ctrl: GET /members/{id}
Ctrl->>Auth: canAccessWithRoleOrOwner(id, auth, "ROLE_ADMIN")
Auth-->>Ctrl: boolean
alt permitido
Ctrl->>S: findMemberById(id)
S-->>Ctrl: MembersResponseDto
Ctrl-->>U: 200 JSON
else denegado
Ctrl-->>U: 403 Forbidden
end
Estimated code review effort🎯 4 (Complejo) | ⏱️ ~60–90 minutes Poem
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (25)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|




Summary by CodeRabbit