Antylogic
Probar demoAcceso app

399 guías operativas

Secciones de Docs
DocsAccesos y usuarios
Dispositivo

Responder invitación de organización

Acepta o rechaza tu propia invitación a Grupo Marea Demo desde Notificaciones. Al aceptar se activa la organización y se aceptan invitaciones pendientes a sus ubicaciones; al rechazar se limpian la invitación y los accesos pendientes relacionados.

En este artículo

Las invitaciones de organización son un flujo personal de acceso: el usuario autenticado decide si entra en la organización, sin que este formulario permita actuar por otra persona.

La acción se resuelve desde Notificaciones: abrir el menú de usuario, revisar la invitación a Grupo Marea Demo y elegir Aceptar o Rechazar. La API responde `204 No Content`; el resultado visible llega al recargar notificaciones, organizaciones y ubicaciones.

Aceptar también acepta invitaciones pendientes a ubicaciones de la misma organización, como Marea Gran Via o Marea Mercado si estaban invitadas. Rechazar elimina esas invitaciones pendientes en lugar de guardar `rejected` como estado de membresía.

Antes de empezar

  • El usuario invitado ha iniciado sesión con una sesión válida o token bearer en `/api/app`.
  • Existe una membresía `user_organizations` para el usuario autenticado y la organización objetivo, normalmente con `status='invited'`.
  • Notificaciones contiene una `user_notifications.type='organization_invite'` asociada a ese usuario y a Grupo Marea Demo.
  • Para documentar la cascada a ubicaciones, el runtime de documentación puede incluir `user_locations` pendientes para Marea Gran Via o Marea Mercado bajo la misma organización.
  • Las capturas deben usar un fixture temporal del runtime ES; no se debe usar un rechazo real sobre el acceso principal del usuario demo.

Instrucciones

  1. 1.

    Abre Notificaciones

    Desde `/profile` o cualquier pantalla con menú de cuenta, abre Notificaciones. El panel carga las notificaciones personales y debe mostrar la invitación de Grupo Marea Demo con las acciones Ver, Aceptar y Rechazar.

  2. 2.

    Revisa la organización invitada

    Comprueba que la tarjeta pertenece a Grupo Marea Demo antes de responder. Ver solo abre el destino de la notificación; no acepta ni rechaza la invitación.

  3. 3.

    Acepta la invitación

    Pulsa Aceptar y confirma el modal Aceptar invitación. La aplicación envía `status='accepted'` a `PUT /api/app/me/organizations/{orgId}`; después refresca notificaciones, organizaciones y ubicaciones para que el acceso aceptado aparezca en la app.

  4. 4.

    Rechaza la invitación

    Pulsa Rechazar y confirma el modal Rechazar invitación cuando el usuario no deba entrar en la organización. Si la membresía seguía invitada, se elimina y también se retiran las invitaciones pendientes de ubicación bajo esa organización.

  5. 5.

    Comprueba el resultado

    Tras aceptar, verifica que Grupo Marea Demo queda disponible y que Marea Gran Via o Marea Mercado aparecen si estaban invitadas. Tras rechazar, confirma que la invitación ya no aparece y que no se añade acceso a la organización.

Validaciones y límites

  • La ruta operativa es `PUT /api/app/me/organizations/{orgId}`; la documentación antigua que habla de `{orgMembershipId}` no refleja el identificador usado por el backend.
  • La acción es personal: el backend toma el usuario autenticado desde el contexto y no acepta `user_id` en el path ni en el body.
  • El body debe ser JSON decodificable con `status`; otros métodos devuelven `405 Method Not Allowed` y JSON inválido devuelve `400`.
  • `status` se recorta, se pasa a minúsculas y solo puede ser `accepted` o `rejected`.
  • Debe existir la membresía `user_organizations` para el par usuario/organización; si falta el usuario, el `orgId` o la membresía, la acción falla como no encontrada.
  • Aceptar cambia la organización a `accepted` cuando estaba `invited` y acepta las `user_locations` pendientes de la misma organización.
  • Rechazar una membresía todavía `invited` elimina la membresía de organización y las ubicaciones pendientes relacionadas; `rejected` no se persiste como estado de membresía.
  • Al aceptar o rechazar se eliminan las notificaciones `organization_invite` y `location_invite` asociadas a la misma organización.
  • La API no devuelve entidad de resultado; la confirmación visual depende de la recarga de consultas del frontend.

Resultado esperado

La invitación de Grupo Marea Demo queda consumida. Aceptar activa la membresía propia y las ubicaciones invitadas de esa organización; rechazar limpia la invitación pendiente sin guardar un estado `rejected` y sin afectar a otros usuarios.

Artículos relacionados