Exemplo n.º 1
0
def change_pin():
    data = request.body.readline()

    if not data:
        response.status = 400
        return {"error": "no data found"}

    entity = json.loads(data)

    if not set(("code", "pin", "new_pin")) <= set(entity):
        response.status = 400
        return {"error": "missing required keys"}

    try:
        wbsession = WebPACSession(CATALOG_URL)
        wbsession.login(entity["code"], entity["pin"])
        wbsession.change_pin(entity["pin"], entity["new_pin"])

    except Exception as e:
        if str(e) == "login failed":
            response.status = 401
        else:
            response.status = 400
        return {"error": str(e)}