Usa el contrato de perfil revisado
El perfil de Driver App combina datos de usuario de la sesión actual, campos de validación configurables, cambios en la biblioteca de fotos, disponibilidad, horario, sesiones, idioma, cierre de sesión y eliminación de cuenta. Son lecturas, mutaciones y transferencias a proveedores independientes, no una única transacción atómica de perfil.
Los datos del perfil pueden estar desactualizados, y los cambios de foto, perfil, disponibilidad, eliminación y sesión pueden tener resultados independientes.
Disponibilidad
Profile es una pestaña autenticada y puede actualizar la información del usuario actual ante un evento de estado de navegación. Para editar los campos de Driver se requiere configuración explícita de actualización. La disponibilidad se muestra salvo que la configuración la oculte explícitamente. La eliminación depende de la configuración/función. Sesiones, horario, idioma y cierre de sesión tienen contratos independientes.
Requisitos previos
- Ámbito propio autenticado y configuración actual de campos de validación.
- Acceso mínimo a PII y autorización explícita para campos/fotos/eliminación.
- Pruebas sintéticas de fotos/proveedores; no supongas el uso de la cámara.
- Recibos independientes de API y protección ante resultados tardíos para cada mutación.
- Plan de limpieza de sesión/cuenta antes de eliminar o cerrar sesión.
Límites de responsabilidad
| Límite | Responsabilidad | Límite |
|---|---|---|
| Envoltorio de Profile | Proporcionar usuario de sesión, actualización al enfocar, configuración y navegación. | Actualizar/navegar no demuestra vigencia. |
| Interfaz de Profile | Mostrar campos configurados, foto, disponibilidad y entradas de cuenta. | La visibilidad no implica elegibilidad para mutar. |
| Campos de validación | Definir los campos de formulario visibles/obligatorios/editables. | La configuración del cliente no es autorización del servidor. |
| Biblioteca de fotos | Seleccionar un recurso fotográfico y devolver metadatos URI/base64. | No hay una ruta de cámara revisada; seleccionar no implica persistir. |
| Controlador/API de usuario | Leer/actualizar campos/foto/disponibilidad/eliminación con reglas propio/manager y acciones posteriores. | Las mutaciones pueden resolverse de forma independiente. |
| Sesión/almacenamiento | Reemplazar el usuario local o limpiar estado tras los resultados. | El estado local no demuestra finalización del servidor. |
| Horario/sesiones/idioma/cierre | Flujos de cuenta independientes. | La composición de Profile no combina sus contratos. |
Entradas y resultados
| Entrada/acción | Resultado del cliente | Límite |
|---|---|---|
| Foco/sesión actual | Actualizar usuario/modo de lectura. | La vigencia de PII no está demostrada. |
| Campos de validación | Leer/editar formulario y validación local. | Que falte un campo no autoriza eludirlo. |
| Editar campos/contraseña/teléfono | Solicitud de cambio parcial. | Validación del servidor, historial, trabajos y socket son independientes. |
| Pulsar avatar | Biblioteca de fotos; el recurso seleccionado puede solicitar guardado inmediatamente. | Independiente de la configuración de edición; no hay confirmación de vista previa. |
| Alternar disponibilidad | Solicitud/localización de disponibilidad del usuario. | Elegibilidad, emisión y vigencia del pedido son independientes. |
| Eliminar cuenta | Confirmación seguida de solicitud destructiva/intención de limpieza local. | Eliminación en servidor, sesión, almacenamiento, trabajos/socket/proveedores se resuelven por separado. |
| Sesiones/horario/idioma/cierre | Navegar o invocar el flujo correspondiente. | Cada uno requiere su propia aceptación. |
Seguridad y privacidad
- Nunca registres ni expongas nombres, correo, teléfono, contraseña, foto/base64, horario, sesión, disponibilidad ni cargas de eliminación.
- Aplica en el servidor la autorización propio/manager/campo/foto/eliminación.
- Exige vista previa/confirmación explícita antes de subir una foto y confirmación destructiva completa antes de eliminar.
- Vincula los resultados tardíos de actualización/mutación/selector a la generación de cuenta actual.
Límites y estados de fallo
| Estado | Significado | Respuesta de mantenimiento |
|---|---|---|
| Perfil cargando/con error | La lectura del usuario/campos de validación no se ha resuelto. | No mutar. |
| Edición oculta | La configuración no admite editar campos. | No la eludas. |
| El avatar sigue siendo pulsable | La ruta de foto es independiente de la configuración de edición. | Trátalo como una brecha de autorización/confirmación. |
| Selector cancelado/con error | El proveedor no devolvió un recurso utilizable. | No reintentes ni recurras a la cámara. |
| Resultado de disponibilidad | Una mutación/resultado local. | No se demuestran el pedido, la emisión ni acciones posteriores. |
| Eliminación aceptada localmente | La solicitud/limpieza puede estar en curso. | No se demuestra que se completó la eliminación destructiva. |
| Divergencia de sesión/perfil | Resultado tardío o limpieza parcial. | Detente y concilia la propiedad de la cuenta. |
Diagnóstico
Usa campos, usuarios y recursos sintéticos, con adaptadores interceptados de API/sesión/almacenamiento/selector. Nunca introduzcas PII real, alternes disponibilidad real, elimines una cuenta, inspecciones sesiones en vivo ni abras el selector real para diagnosticar.
Vuelve a revisar cuando cambien la actualización de Profile, los campos de validación, autorización de edición, selector/guardado de fotos, disponibilidad, eliminación, reemplazo de sesión local o entradas de cuenta relacionadas.
Guías relacionadas: Ver perfil · Editar perfil · Disponibilidad · Horario · Sesiones · Cerrar sesión · Eliminar cuenta