예제 #1
0
def new_user():
    data = request.get_json()

    if 'nome' not in data or 'email' not in data or 'senha' not in data or 'tag_id' not in data:
        return bad_request(403, 'Precisa passar nome, email,senha e tag')
    if Usuario.query.filter_by(nome=data['nome']).first():
        return bad_request(403, 'Use um outro nome')
    if Usuario.query.filter_by(email=data['email']).first():
        return bad_request(403, 'Use um outro email')

    data['ativo'] = 'S'

    usuario = Usuario()
    usuario.from_dict(data)

    cadastro = Cadastro()
    cadastro.passwd(data['senha'])

    usuario.cadastro_usuario = [cadastro]

    db.session.add(usuario)
    db.session.add(cadastro)
    db.session.commit()

    message = {'message': 'usuario criado'}

    return jsonify(message), 200
예제 #2
0
def cadastrar():
    data = request.get_json()

    if data['email'] and data['senha']:
        try:
            user = Usuario.query.filter_by(email=data['email']).first()
        except Exception as e:
            print(e)
            return bad_request(403, 'Não possui usuario com esse email')
        check_senha = Cadastro(senha=user.cadastro_usuario[0].senha)
        if user is None or not check_senha.check(data['senha']):

            return bad_request(403, 'usuario e/ou senha errado')

        token = generate_token(user)
        return jsonify({
            'message':
            'usuario {} autenticado com sucesso '.format(str(user.nome)),
            'user':
            str(user.nome),
            'success':
            1,
            'token':
            token
        })
    return bad_request(403, 'não foi informado credenciais para login')
예제 #3
0
def reset_pass():
    token = request.headers.get('x-access-token')
    data = request.get_json()

    if int(data.get('nova_senha')):
        verify_token = decode_token(token)
        user_id = verify_token['id_user']
    else:
        user_id = data['id_usuario']

    try:
        user = Usuario.query.filter_by(id_usuario=user_id).first()
    except Exception as e:
        return bad_request(403, 'Não possui usuario com esse email')

    if int(data.get('nova_senha')):
        try:
            check_senha = Cadastro(senha=user.cadastro_usuario[0].senha)
            if user is None or not check_senha.check(data['senha']):
                return jsonify({
                    'message': 'usuario e/ou senha errado',
                    'succes': 0
                }), 403
        except Exception as identifier:
            return bad_request(403, 'Senhas não coincidem')

    if data.get('senha_nova') and data.get('senha_confirma'):
        if data['senha_nova'] != data['senha_confirma']:
            return bad_request(403, 'Senhas não conferem')

    try:
        new_cadastro = user.cadastro_usuario[0].to_dict()

        cadastro = Cadastro()
        cadastro.from_dict(new_cadastro)

        cadastro.passwd(data['senha_nova'])

        user.cadastro_usuario[0].senha = cadastro.senha
        db.session.commit()
    except Exception as identifier:
        return bad_request(403, 'Não foi possivel alterar a sennha')

    return jsonify({'message': 'senha alterada com sucesso'}), 200