예제 #1
0
def login():
    utils = Utils()
    data = request.args
    if "cpf" in data:
        if not utils.validaCpf(data['cpf']):
            return http_response.bad_request(
                ["O campo 'cpf' não possui um valor válido"])
    else:
        return http_response.bad_request(["O campo 'cpf' não foi enviado."])

    if "celular" in data:
        if not utils.validaCelular(data['celular']):
            return http_response.bad_request(
                ["O campo 'celular' não possui um valor válido"])
    else:
        return http_response.bad_request(
            ["O campo 'celular' não foi enviado."])

    cpf = utils.cpfViewToData(data['cpf'])
    celular = utils.celularViewToData(data['celular'])

    user = UserModel.objects(cpf=cpf, celular=celular).first()
    if not user:
        return http_response.forbidden()

    return http_response.success_200(user.to_dict())
예제 #2
0
def deleta():
    utils = Utils()
    data = json.loads(request.data)

    if "cpf" in data:
        if not utils.validaCpf(data['cpf'], True):
            return http_response.bad_request(
                ["O campo 'cpf' não possui um valor válido"])
    else:
        return http_response.bad_request(["O campo 'cpf' não foi enviado."])

    if "celular" in data:
        if not utils.validaCelular(data['celular']):
            return http_response.bad_request(
                ["O campo 'celular' não possui um valor válido"])
    else:
        return http_response.bad_request(
            ["O campo 'celular' não foi enviado."])

    cpf = utils.cpfViewToData(data['cpf'])
    celular = utils.celularViewToData(data['celular'])

    user = UserModel.objects(cpf=cpf, celular=celular).first()
    if not user:
        return http_response.forbidden()

    user.delete()
    return http_response.success_200("Registro deletado com sucesso")
예제 #3
0
def cadastra():
    utils = Utils()
    data = json.loads(request.data)
    #confere o campo cpf
    if "cpf" in data:
        if not utils.validaCpf(data['cpf'], True):
            return http_response.bad_request(
                ["O campo 'cpf' não possui um valor válido"])
    else:
        return http_response.bad_request(["O campo 'cpf' não foi enviado."])

    #confere o campo celular
    if "celular" in data:
        if not utils.validaCelular(data['celular']):
            return http_response.bad_request(
                ["O campo 'celular' não possui um valor válido"])
    else:
        return http_response.bad_request(
            ["O campo 'celular' não foi enviado."])

    #confere o campo nome
    if "nome" in data:
        if len(data['nome']) < 4:
            return http_response.bad_request(
                ["O campo 'nome' não possui um valor válido"])
    else:
        return http_response.bad_request(["O campo 'nome' não foi enviado."])

    #confere o campo score
    if "score" in data:
        if not utils.validaScore(data['score']):
            return http_response.bad_request(
                ["O campo 'score' não possui um valor válido"])
    else:
        return http_response.bad_request(["O campo 'score' não foi enviado."])

    #confere o campo negativado
    if "negativado" in data:
        if not isinstance(data['negativado'], bool):
            return http_response.bad_request(
                ["O campo 'negativado' não possui um valor válido"])
    else:
        return http_response.bad_request(
            ["O campo 'negativado' não foi enviado."])

    newUser = UserModel(nome=data['nome'],
                        cpf=utils.cpfViewToData(data['cpf']),
                        celular=utils.celularViewToData(data['celular']),
                        negativado=data['negativado'],
                        score=data['score'])

    newUser.save()
    return http_response.success_201()
예제 #4
0
def deletar():
    dataObj = json.loads(request.data)
    if "cpf" not in dataObj:
        return http_response.bad_request(["O campo 'cpf' não foi enviado."])
    if "celular" not in dataObj:
        return http_response.bad_request(["O campo 'celular' não foi enviado."])
    rt = http.delete(url=API_IDENTIFICACAO+"/deleta", data=json.dumps(dataObj))
    userObj = json.loads(rt.content)
    if rt.status_code == 400:
        return http_response.bad_request(userObj['result']['error']['errors'])
    if rt.status_code == 403:
            return http_response.forbidden()
    return http_response.success_200(userObj['result'])
예제 #5
0
def login():
    dataObj = json.loads(request.data)
    if "cpf" not in dataObj:
        return http_response.bad_request(["O campo 'cpf' não foi enviado."])
    if "celular" not in dataObj:
        return http_response.bad_request(["O campo 'celular' não foi enviado."])

    r = http.get(API_IDENTIFICACAO+"/get-user", params={"cpf": dataObj['cpf'],"celular":dataObj['celular'] })
    userObj = json.loads(r.content)
    if r.status_code == 400:
        return http_response.bad_request(userObj['result']['error']['errors'])
    if r.status_code == 403:
            return http_response.forbidden()
    
    return http_response.success_200(userObj['result'])
예제 #6
0
def cadastrar():
    dataObj = json.loads(request.data)
    rt = http.post(url=API_IDENTIFICACAO+"/cadastra", data=json.dumps(dataObj))
    userObj = json.loads(rt.content)
    if rt.status_code == 400:
        return http_response.bad_request(userObj['result']['error']['errors'])
    return http_response.success_200(userObj['result'])
예제 #7
0
def simulacao():
    try:
        dataObj = json.loads(request.data)
        
        if "valor" in dataObj:
            if not (isinstance(dataObj['valor'], int) or isinstance(dataObj['valor'], float)):
                return http_response.bad_request(["O campo 'valor' não e um numero (Natural / Real)."])
            if float(dataObj['valor']) < 1.0:
                return http_response.bad_request(["O campo 'valor' não possui um valor válido"])
        else:
            return http_response.bad_request(["O campo 'valor' não foi enviado."])
        
        if "numeroParcelas" not in dataObj:
            return http_response.bad_request(["O campo 'numeroParcelas' não foi enviado."])
        ut = Utils()
        if "user" in dataObj:
            r = http.get(
                API_SIMULACAO+"/get-taxa",
                params={
                    "tipo": ut.getPerfilScore(
                        dataObj['user']['score'],
                        dataObj['user']['negativado']
                    ),
                    "numeroParcelas":dataObj['numeroParcelas'] 
                }
            )
        else:
            r = http.get(API_SIMULACAO+"/get-taxa", params={"tipo": ut.getPerfilScore(0, False),"numeroParcelas":dataObj['numeroParcelas'] })
        
        taxaObj = json.loads(r.content)
        if r.status_code == 400:
            return http_response.bad_request(taxaObj['result']['error']['errors'])
        if r.status_code == 403:
            return http_response.forbidden()

        rt = http.post(url=API_SIMULACAO+"/calculo", data=json.dumps({'valor' : dataObj['valor'], "numeroParcelas" : dataObj['numeroParcelas'], "taxaJuros": taxaObj['result'] }))
        calcObj = json.loads(rt.content)
        if rt.status_code != 200:
            return http_response.internalError()
        
        calcObj['result']['taxa'] = taxaObj['result']
        calcObj['result']['v_inicial'] = dataObj['valor']
        calcObj['result']['qtd_parcelas'] = dataObj['numeroParcelas']
        return http_response.success_200(calcObj['result'])

    except:
        return http_response.internalError()
예제 #8
0
def update_rangevote(rangevote_id):
    if commands.RangeVoteCommandValidator(flask.request.json).is_valid():
        command = commands.UpdateRangeVoteCommand(
            rangevote_id, flask.request.json['question'],
            flask.request.json['choices'], flask.request.json['votes'])
        result = app.bus.execute(command)
        if result.ok:
            return http.jsonify()
    return http.bad_request()
예제 #9
0
def create_vote(rangevote_id):
    if commands.VoteCommandValidator(flask.request.json).is_valid():
        command = commands.CreateVoteCommand(rangevote_id,
                                             flask.request.json['elector'],
                                             flask.request.json['opinions'])
        result = app.bus.execute(command)
        if result.ok:
            return http.jsonify(
                {'id': rangevote_id}, 201,
                {'Location': '/rangevotes/{0}'.format(rangevote_id)})
    return http.bad_request()
예제 #10
0
def create_rangevote():
    if commands.RangeVoteCommandValidator(flask.request.json).is_valid():
        command = commands.CreateRangeVoteCommand(
            uuid.uuid4(), flask.request.json['question'],
            flask.request.json['choices'])
        result = app.bus.execute(command)
        if result.ok:
            rangevote_id = str(command.uuid)
            return http.jsonify(
                {'id': rangevote_id}, 201,
                {'Location': '/rangevotes/{0}'.format(rangevote_id)})
    return http.bad_request()
예제 #11
0
def edita():
    utils = Utils()
    data = json.loads(request.data)

    if "cpf" in data:
        if not utils.validaCpf(data['cpf'], True):
            return http_response.bad_request(
                ["O campo 'cpf' não possui um valor válido"])
    else:
        return http_response.bad_request(["O campo 'cpf' não foi enviado."])

    if "celular" in data:
        if not utils.validaCelular(data['celular']):
            return http_response.bad_request(
                ["O campo 'celular' não possui um valor válido"])
    else:
        return http_response.bad_request(
            ["O campo 'celular' não foi enviado."])

    cpf = utils.cpfViewToData(data['cpf'])
    celular = utils.celularViewToData(data['celular'])

    user = UserModel.objects(cpf=cpf, celular=celular).first()
    if not user:
        return http_response.forbidden()

    if "nome" in data:
        if len(data['nome']) < 4:
            return http_response.bad_request(
                ["O campo 'nome' não possui um valor válido"])
        else:
            user.setNome(data['nome'])

    if "score" in data:
        if not utils.validaScore(data['score']):
            return http_response.bad_request(
                ["O campo 'score' não possui um valor válido"])
        else:
            user.setScore(data['score'])

    if "negativado" in data:
        if not isinstance(data['negativado'], bool):
            return http_response.bad_request(
                ["O campo 'negativado' não possui um valor válido"])
        else:
            user.setNegativado(data['negativado'])

    user.save()
    return http_response.success_200("Registro atualizado com sucesso")
예제 #12
0
def get_rangevote_results(rangevote_id):
    query = queries.GetRangeVoteResultsQuery(rangevote_id)
    results = app.query_dispatcher.execute(query)
    if results:
        return http.jsonify(results)
    return http.bad_request()