P2JN / doit

Doit es una aplicación web que permite la gestión y el seguimiento de objetivos personales y grupales de forma sencilla, humana y amigable.
http://doit-app.azurewebsites.net/
3 stars 0 forks source link

BUG: registro #82

Closed JSnow11 closed 2 years ago

JSnow11 commented 2 years ago

descripcion

después de estar logueado con varios usuarios, si se intenta crear un nuevo usuario desde el formulario de registro, cuando el frontend pide el usuario logueado se obtiene el siguiente error:

MultipleObjectsReturned at /api/auth/user/
2 or more items returned, instead of 1

Parece estar relacionado con la obtención del MongoUser aquí:

    def get_mongoUser(self, obj):
        user = MongoUser.objects.get(user_id=obj.id)
        return UserSerializer(user).data

story relacionada

pasos para reproducir

  1. logueate con un usuario
  2. deslogueate
  3. trata de registrarte
  4. comprueba la consola

comportamiento esperado

el usuario debería ser redirigido a la pagina de home

aceptación

pedalopon commented 2 years ago

Causa

Este bug se debe a una desincronización en las bases de datos de postgress y mongo. Debido a que poseen una relación entre sus modelos de usuario basadas en el id de postgress si la base de datos de postgress es borrada pero la de mongo no, la secuencia de id de la base de datos se reiniciara provocando que haya ids repetidas en la base de mongo.

Resolución

Las bases de datos serán borradas las dos al mismo tiempo, si da problemas en algún futuro se aplicaran otras medidas pero al ser un problema que solo puede causar un administrador se desestima por ahora.