def login():

    data = request.get_json()

    h = hashlib.md5()
    h.update(data["password"].encode('utf-8'))
    h = h.hexdigest()

    sqlFormula = "SELECT password, token, idusers FROM users WHERE email = " + "\"" + data[
        "email"] + "\""

    user = myDB.sqlQuery(sqlFormula)

    if user[0][0] == h:

        sqlFormula = "UPDATE users SET loginStatus = %s WHERE email = " + "\"" + data[
            "email"] + "\""
        sqlTuple = (1, )
        myDB.sqlChange(sqlFormula, sqlTuple)

        response = {"token": user[0][1], "idusers": user[0][2]}

        res = make_response("token")
        res.set_cookie(key="tokenPL",
                       value=str(response["token"]),
                       max_age=60 * 60 * 24 * 30)
        res.set_cookie(key="idusersPL",
                       value=str(response["idusers"]),
                       max_age=60 * 60 * 24 * 30)

        return res

    return
def logout():
    data = request.get_json()
    sqlFormula = "UPDATE users SET loginStatus = %s, token = %s WHERE idusers = %s"
    sqlTuple = (0, random.randint(0, 999), data["idusers"])
    noError = myDB.sqlChange(sqlFormula, sqlTuple)

    return jsonify(noError)
def editEmail():

    data = request.get_json()
    sqlFormula = "UPDATE users SET email = %s WHERE idusers = %s"
    sqlTuple = (data["email"], data["idusers"])
    noError = myDB.sqlChange(sqlFormula, sqlTuple)
    return jsonify(noError)
def editDelete():

    idusersPL = request.cookies.get('idusersPL')

    sqlFormula = "DELETE FROM users WHERE idusers = %s"
    sqlTuple = (idusersPL, )
    noError = myDB.sqlChange(sqlFormula, sqlTuple)

    return jsonify(noError)
def signUp():

    data = request.get_json()

    h = hashlib.md5()
    h.update(data["password"].encode('utf-8'))
    h = h.hexdigest()

    sqlFormula = "INSERT INTO users (email, username, password, loginStatus, token, isActive, admin) VALUES (%s, %s, %s, %s, %s, %s, %s)"

    sqlTuple = (data["email"], data["username"], h, False,
                random.randint(0, 999), True, False)
    noError = myDB.sqlChange(sqlFormula, sqlTuple)

    return jsonify(noError)
def setPost():

    try:
        tokenPL = request.cookies.get('tokenPL')
        idusersPL = request.cookies.get('idusersPL')
    except AttributeError as error:
        print(error)
        raise InvalidUsage("Erro na autenticação. Tente novamente.",
                           status_code=401)

    if tokenCheck(idusersPL, tokenPL):

        data = request.get_json()
        sqlFormula = "INSERT INTO posts (idusers, title, text, time) VALUES (%s, %s, %s, %s)"
        sqlTuple = (idusersPL, data["title"], data["text"], data["time"])
        noError = myDB.sqlChange(sqlFormula, sqlTuple)

        if noError:
            return "Post salvo com sucesso."

    raise InvalidUsage("Erro ao salvar o post. Tente novamente.",
                       status_code=410)