Exemple #1
0
def regi_edit_role(cn, nextc):
    role = cn.rt["role"] if "role" in cn.rt else None
    err = check.contain(cn.pr, ["actions"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    err = cn.private["reg"].edit_role(role, cn.pr["actions"])
    return cn.call_next(nextc, err)
Exemple #2
0
def user_tmp_spoof(cn, nextc):
    err = check.contain(cn.pr, ["email"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    cn.private["user"] = user(email=cn.pr["email"])
    err = [True, {}, None]
    return cn.call_next(nextc, err)
Exemple #3
0
def user_login(cn, nextc):
    err = check.contain(cn.pr, ["login", "password"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    cn.private["user"] = user()
    err = cn.private["user"].login(cn.pr["login"], cn.pr["password"])
    return cn.call_next(nextc, err)
Exemple #4
0
def user_wait_token(cn, nextc):
    key = cn.rt["key"] if "key" in cn.rt else None
    err = check.contain(cn.pr, ["secret"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    err = user().wait_token(key, cn.pr["secret"])
    return cn.call_next(nextc, err)
Exemple #5
0
def user_register(cn, nextc):
    err = check.contain(cn.pr, ["email", "pass1", "pass2"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    cn.private["user"] = user()
    err = cn.private["user"].register(cn.pr["email"], cn.pr["pass1"],
                                      cn.pr["pass2"])
    return cn.call_next(nextc, err)
Exemple #6
0
def user_verify_token(cn, nextc):
    reenable = True if "reenable" in cn.get else False
    err = check.contain(cn.hd, ["usrtoken"], "HEAD")
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    cn.private["user"] = user()
    err = cn.private["user"].verify(cn.hd["usrtoken"], reenable)
    return cn.call_next(nextc, err)
Exemple #7
0
def user_set_role(cn, nextc):
    # err = cn.private["user"].has_role("creator")
    # if not err[0]:
    #     err = cn.private["user"].has_role("admin")
    # if not err[0]:
    #     return cn.toret.add_error(err[1], err[2])
    err = check.contain(cn.pr, ["role", "active"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    err = check.contain(cn.rt, ["user"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    err = cn.private["user"].set_role(cn.rt["user"], cn.pr["role"],
                                      cn.pr["active"])
    if err is not True:
        err = [False, "Invalid role", 404]
    else:
        err = [True, {}, None]
    return cn.call_next(nextc, err)
Exemple #8
0
def regi_invite(cn, nextc):
    err = check.contain(cn.pr, ["email", "roles"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    cn.private["reg_user"] = user_registery(cn.private["user"],
                                            cn.private["reg"])
    err = cn.private["reg_user"].add_user(None,
                                          roles=cn.pr["roles"],
                                          email=cn.pr["email"])
    if err[0] is True:
        err = [True, {"registry_id": cn.private["reg"].id}, None]
    return cn.call_next(nextc, err)
Exemple #9
0
def regi_create(cn, nextc):
    err = check.contain(cn.pr, ["name", "actions", "roles"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    cn.private["reg"] = registery()
    err = cn.private["reg"].create(cn.pr["name"], cn.private["user"].id,
                                   cn.pr["actions"], cn.pr["roles"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    cn.private["reg_user"] = user_registery(cn.private["user"],
                                            cn.private["reg"])
    err = cn.private["reg_user"].add_user(cn.private["user"].id, ["creator"],
                                          force=True)
    if err[0] is True:
        err = [True, {"registry_id": cn.private["reg"].id}, None]
    return cn.call_next(nextc, err)
Exemple #10
0
def regi_add_role(cn, nextc):
    err = check.contain(cn.pr, ["roles"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    err = cn.private["reg"].add_role(cn.pr["roles"], )
    return cn.call_next(nextc, err)
Exemple #11
0
def regi_set_open(cn, nextc):
    err = check.contain(cn.pr, ["open"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    err = cn.private["reg"].set_open(cn.pr["open"])
    return cn.call_next(nextc, err)
Exemple #12
0
def regi_check_key(cn, nextc):
    err = check.contain(cn.hd, ["apitoken"], "HEAD")
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    err = cn.private["reg_user"].check_key(cn.hd["apitoken"], "ip")
    return cn.call_next(nextc, err)
Exemple #13
0
def regi_add_key(cn, nextc):
    err = check.contain(cn.pr, ["name"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    err = cn.private["reg_user"].add_key(cn.pr["name"])
    return cn.call_next(nextc, err)
Exemple #14
0
def user_password_change(cn, nextc):
    err = check.contain(cn.pr, ["key", "password"])
    if not err[0]:
        return cn.toret.add_error(err[1], err[2])
    err = cn.private["user"].verify_reset_key(cn.pr["key"], cn.pr["password"])
    return cn.call_next(nextc, err)