예제 #1
0
파일: user.py 프로젝트: pirogoeth/keydom
    def user_list():
        """ GET /users

            Returns a JSON list of all the users registered
            in the database.
        """

        users = []
        for user in User.select():
            users.append(user.username)

        resp = routing.base.generate_bare_response()
        resp.update({"users": users})

        yield json.dumps(resp) + "\n"
예제 #2
0
파일: user.py 프로젝트: pirogoeth/keydom
    def user_list():
        """ GET /users

            Returns a JSON list of all the users registered
            in the database.
        """

        users = []
        for user in User.select():
            users.append(user.username)

        resp = routing.base.generate_bare_response()
        resp.update({"users": users})

        yield json.dumps(resp) + "\n"
예제 #3
0
파일: user.py 프로젝트: pirogoeth/keydom
    def user_register():
        """ POST /register

            Attempts to register a username for use. Returns
            `status: 200` if success, or these values on failure:
                `status: 409` - if username is taken
        """

        username = request.forms.get("username")
        password = request.forms.get("password")
        email = request.forms.get("email")

        res = (User.select().where((User.username == username)
                                   | (User.email == email)))

        if res.count() > 0:
            resp = routing.base.generate_error_response(code=409)
            resp["message"] = "Username taken."
            return json.dumps(resp) + "\n"

        if not validate_email(email):
            resp = routing.base.generate_error_response(code=409)
            resp["message"] = "Invalid email address."
            return json.dumps(resp) + "\n"

        password = hashlib.sha512(password).hexdigest()

        new_user = User.create(username=username,
                               password=password,
                               email=email)
        new_user.save()

        resp = routing.base.generate_bare_response()
        resp["account"] = {
            "registered": True,
            "username": username,
            "email": email
        }

        return json.dumps(resp) + "\n"