Exemplo n.º 1
0
    def post(self):
        data = parserRegistration.parse_args()

        #El resultado que devuelve la clase se analiza y compara con la condicional if, si es true, 
        #retorna un mensaje de un correo existente
        if UserModel.find_by_Email(data['email']):
            return {
                'message': 'The user with the mail {} already exists'.format(data['email'])
            }
        
        #Se crea un objeto de un nuevo usuario
        newUser = UserModel(
            id = UserModel.generate_id(),
            email = data['email'],
            username = data['username'],
            password = UserModel.generate_hash(data['password']),
            name = data['name']
        )

        #Se crean tokens de acceso y de refresh con el email
        accessToken = create_access_token(identity =  data['email'])
        refreshToken = create_refresh_token(identity =  data['email'])

        #El manejador de excepciones mostrará un mensaje de que un usuario ha sido creado, por lo 
        #contrario, mostrará que algo ha salido mal
        try:
            newUser.create_user()
            return {
                'message': 'User {} was created'.format(data['email']),
                'token': accessToken,
                'refreshToken': refreshToken,
            }
        except:
            return {'message': 'Something went wrong'}, 500