Esempio n. 1
0
def get_rooms(obj):
    """get list of all rooms"""

    email = obj.get("email")
    pager = obj.get("pager")
    if not pager:
        pager = 0

    qry = "where _id>?"
    val = [pager]

    if email:
        qry += " and u_email=?"
        val.append(email)

    res = [{
        "rid":
        rm["_id"],
        "name":
        rm["name"],
        "email":
        rm["u_email"],
        "range":
        rm["weekRange"],
        "avail":
        rm["numAvailable"],
        "imgs": [
            img["link"]
            for img in dbase.select("images", "where r_id=?", [rm["_id"]])
        ]
    } for rm in dbase.select("rooms", qry, val)]

    return res
Esempio n. 2
0
def room_edit():
    """authenticated user can edit details of room"""

    usr = verify_user()
    if not usr:
        raise EXCEPTION_UNAUTHORIZED

    r_id = get_req("rm")
    name = get_req("name")
    vacy = get_req("vacancy")
    aval = get_req("weekRange")
    if not r_id:
        raise EXCEPTION_MALFORMED

    qry = "where _id=? and u_email=?"
    res = dbase.select("rooms", qry, [r_id, usr["email"]])
    if not res:
        raise EXCEPTION_UNAUTHORIZED

    return room.update_room({
        "rmId": r_id,
        "name": name,
        "vacy": vacy,
        "aval": aval
    })
Esempio n. 3
0
def get_room(rm_id):
    """get room by the id"""

    res = dbase.select("rooms", "where _id=?", [rm_id])
    if not res:
        raise EXCEPTION_ROOM_NOT_EXIST

    return res[0]
Esempio n. 4
0
def del_img(obj):
    """remove image from room"""

    rm_id = obj.get("rm_id")
    img_id = obj.get("imgurId")
    if not rm_id or not get_room(rm_id) or not imgur:
        raise EXCEPTION_MALFORMED

    img = dbase.select("images", "where imgur=? and r_id=?", [img_id, rm_id])
    if not img:
        raise EXCEPTION_IMAGE_NOT_EXIST
    img = img[0]

    return imgur.delete_img(img["dhash"])
Esempio n. 5
0
def room_del_img():
    """authenticated user can remove image from room"""

    usr = verify_user()
    if not usr:
        raise EXCEPTION_UNAUTHORIZED

    r_id = get_req("rm")
    img_id = get_req("imgId")
    if not r_id or not img_id:
        raise EXCEPTION_MALFORMED

    qry = "where _id=? and u_email=?"
    res = dbase.select("rooms", qry, [r_id, usr["email"]])
    if not res:
        raise EXCEPTION_UNAUTHORIZED

    return room.del_img({"rmId": r_id, "imgurId": img_id})
Esempio n. 6
0
def room_new_img():
    """authenticated user can add img to room"""

    usr = verify_user()
    if not usr:
        raise EXCEPTION_UNAUTHORIZED

    r_id = get_req("rm")
    data = dict(bottle.request.files).get("img").file.read()
    if not r_id or not data:
        raise EXCEPTION_MALFORMED

    qry = "where _id=? and u_email=?"
    res = dbase.select("rooms", qry, [r_id, usr["email"]])
    if not res:
        raise EXCEPTION_UNAUTHORIZED

    res = room.add_img({"rmId": r_id, "picData": data})
    return "%s %s" % (res["link"], res["imgur"])
Esempio n. 7
0
def get_template(key):
    """get text template from dbase"""
    return dbase.select("vals", "where key=?", [key])[0].get("val")
Esempio n. 8
0
def is_admin(email):
    """check if an email has admin rights"""

    res = dbase.select("admins", "where email=?", [email])
    return len(res) == 1
Esempio n. 9
0
def get_users():
    """return list of users"""
    return dbase.select("users")
Esempio n. 10
0
def get_user(email):
    """get user object from db"""

    res = dbase.select("users", "where email=?", [email])
    return res[0] if res else None