Eliminacion-usuarios-espacios
Funcionamiento
Cuando se elimina a un usuario de un espacio se debe decidir qué hacer con sus datos y esto depende de si el mismo es interno o externo.
usuario interno
Para los usuarios internos se debe definir un usuario receptor al cual se migrarán los datos del eliminado. Este usuario debe ser distinto al usuario eliminado y debe pertenecer al mismo espacio.
En el momento que se elimina, se migrán los datos al receptor.
usuario externo
En caso de los usuarios externos, el mismo se elimina del espacio inmediatamente, pero se dispara un flujo de migración que involucra sólo al usuario eliminado.
El flujo consiste en enviar un email al usuario eliminado con un link de migración. El usuario deberá ingresar al link en un plazo de 7 días para realizar la migración.
Cuando ingresa:
- se verifica que esté dentro del plazo de los 7 días
- se verifica que no hay sido utilziada anteriormente
- se verifica que la cuenta (email) tenga usuario personal en auravant.com
Si estas condiciones se cumplen, se realiza la migracion del usuario eliminado al usuario personal en auravant.com.
En caso que no haya un usuario personal en auravant.com, la migración se mantiene como pendiente y el usuario debe crearse un usuario personal en auravant.com antes de volver a ingresar al link. Para esto en el mail de migración se provee el link a accounts para que lo haga.
Por otro lado, en el mismo email se provee la opción de eliminar los datos, la cual no hace nada. Es decir, los datos de por si ya se encuentran inaccesibles y los lotes se eliminarán automaticamente a los 30 días. Si se ingresa el link de eliminar, el link de migración queda inutilizable.
Funcionamiento técnico
Notar que interno o externo se define por como está marcado en la table de
login_usuarios_escritorios.
Cuando se elimina un usuario se genera una instancia de migración (WorkspaceUserDeletionMigration). La misma se almacena en la tabla escritorios_usuarios_eliminados:
- migration_id: id de la migracion
- expires_at: fecha fijada en el momento de eliminacion +7dias
- deleted_user_id: usuario eliminado
- deleted_user_is_internal: indica si era interno o no en el momento de eliminacion
- receiver_email: email del usuario receptor
- receiver_user_id: id del usuario receptor
- deleted_at: fecha en la que se cancela (inhabilita) la migracion
- migrated_at: fecha en la que se realizo la migracion de datos
En el caso de los usuarios internos, la instancia de migración pasa a ser solo un registro de la migración, ya que se ejecuta inmediatamente. El receptor es indicado en el endpoint de eliminar usuario.
En el caso de los usuarios externos, se crea la instancia de migracion con:
- expires_at: fecha fijada en el momento de eliminacion +7dias
- deleted_user_id: usuario eliminado
- deleted_user_is_internal: indica si era interno o no en el momento de eliminacion
- receiver_email: email del login del usuario eliminado
- receiver_user_id: id del usuario personal en auravant.com del usuario eliminado. Será nula en caso que no tenga.
- deleted_at: toma valor si el usuario ingresa al link de eliminar datos del email
- migrated_at: fecha en la que se realizo la migracion de datos
La migracion de datos se realiza utilizando la herramienta de migracion de campos de CCSS ()