Пример #1
0
def user(uid=None):
    key = request.headers.get('x-key')
    user = KeyStore.search(key)

    if uid:
        if not user:
            abort(401)

        if uid=="me":
            uid = user["_id"]

        res = model.users.get(uid)
        return jsonify(status="ok", message="", data=res)

    if request.method == 'GET':
        if not user:
            abort(401)

        search = request.args.get("search", "")
        skip = request.args.get("skip", 0)
        limit = request.args.get("limit", 10)

        res = model.users.search(search, skip=skip, limit=limit)

        return jsonify(status="ok", message="", data=res)

    elif request.method == 'POST':
        token = request.form["token"]
        user = model.users.login(token)

        if user:
            key = GenerateKey()
            KeyStore.save(key, user)
            user["key"] = key

            return jsonify(status="ok", message="", data=user)
        else:
            model.users.add(token)
            return jsonify(status="ok", message="news", data={})

    elif request.method == 'PUT':
        token = request.form["token"]
        name = request.form["name"]
        fullname = request.form["fullname"]
        image = request.form["image"]

        if model.users.update(token, name, fullname, image):
            return jsonify(status="ok", message="", data={})
        else:
            abort(404)

    elif request.method == 'DELETE':
        key = request.headers.get('x-key')
        user = KeyStore.search(key)

        if not user:
            abort(401)

        KeyStore.delete(key)
        return jsonify(status="ok", message="", data={})
Пример #2
0
def logout():
    key = request.headers.get('key')
    user = KeyStore.search(key)
    if user:
        KeyStore.delete(key)
        return jsonify(status="ok", message="See ya :D", data={})
    return jsonify(status="fail", message="not authenticated", data={})