Skip to content

Enviar el email de «crea tu contraseña» a los perfiles de donante creados sin contraseña #204

Description

@vgpastor

Contexto

En #168 (PR #201) el pre-registro de un donante sin cuenta que deja un email crea un perfil sin contraseña (EnsureDonorAccount) y enlaza la donación, para que la vea en «Mis donaciones» cuando active su cuenta. El envío del email de «crea tu contraseña» se dejó como hueco (no implementado en esa PR).

Estado actual (verificado en código)

  • Puerto apps/api/src/contexts/identity/domain/ports/set-password-inviter.ts (SetPasswordInviter.invite({ userId, email, name })).
  • Adaptador no-op apps/api/src/contexts/identity/infrastructure/noop-set-password-inviter.ts (solo loguea; registrado como SET_PASSWORD_INVITER en identity.module.ts).
  • EnsureDonorAccount llama al inviter al crear un perfil passwordless (passwordHash = null).

Diseño / alcance

  • Implementar un notificador real que envíe el correo con un enlace de set-password (token de un solo uso, con caducidad).
  • Endpoint para establecer la contraseña con ese token (p. ej. POST /auth/set-password) y dejar la cuenta utilizable; reenvío y expiración del enlace; rate-limit.
  • Plantilla de email ES/EN vía el provider de email / contexto notifications.
  • Sustituir NoopSetPasswordInviter por la implementación real en identity.module.ts.

Aceptación

  • Un donante que pre-registra sin cuenta recibe un email para crear su contraseña; al hacerlo, accede y ve sus donaciones en /panel/mis-donaciones.
  • pnpm gen:api (si cambia el contrato) + TDD + gate.

Área: identity / notifications. Esfuerzo: M. Parte de #168.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions