Ejemplo n.º 1
0
 def put_user(user_id):
     user = Users.json_parse(request.json)
     user.id = int(user_id)
     UserService.update_user(user)
     # print("-------Debug Lines controller-----")
     # print (user)
     return user.json(), 200
Ejemplo n.º 2
0
    def setup_class(cls):
        """Create the client and set up a test environment."""
        cls.client = socketio.test_client(app)

        # Check and create a user named jap_creator
        cls.jap_creator = UserService.get_user_by_name("jap_creator")
        if cls.jap_creator is None:
            cls.jap_creator = UserService.create_user(
                "jap_creator", "*****@*****.**", "0678031234", ""
            )
        cls.jap_creator_id = cls.jap_creator.id

        # Check and create a user named TestUser
        cls.user = UserService.get_user_by_name("TestUser")
        if cls.user is None:
            cls.user = UserService.create_user(
                "TestUser", "*****@*****.**", "0678031234", ""
            )
        cls.user_id = cls.user.id

        # Create an icon to be sure there is one
        cls.icon = JapPlaceService.create_icon("")

        # Create an item to be sure there is one
        JapPlaceService.create_item("sushi", 300, cls.icon.id)
        cls.items = Item.query.all()
        cls.dict_item = asdict(cls.items[0])

        # Create a menu to be sure there is one
        cls.menu = JapPlaceService.create_menu(cls.items)

        # Check and Create a jap_place named Oki to be sure there is one
        cls.jap_place = JapPlaceService.get_jap_place_by_name("Oki")
        if cls.jap_place is None:
            cls.jap_place = JapPlaceService.create_jap_place(
                "testJapPlace", "1 rue", "0678031234", "12h", cls.menu.id
            )
        cls.jap_place_id = cls.jap_place.id

        # Create a jap_event named "Jap de promo" to be sure there is one
        date = datetime.datetime.now() + datetime.timedelta(days=10)
        cls.jap_event = JapEventService.create_jap_event(
            "Jap de promo", "blabla", cls.jap_place.id, cls.jap_creator.id, date
        )
        cls.jap_event_id = cls.jap_event.id

        # Save jap_event default table id
        cls.default_table_id = cls.jap_event.tables[0].id
Ejemplo n.º 3
0
    def authorize():
        try:
            token = viarezo.authorize_token()
        except Exception:
            return jsonify({"msg": "error"}), 400
        if token is None:
            return "Access denied: reason=%s error=%s resp=%s" % (
                request.args["error"],
                request.args["error_description"],
                token,
            )
        session["viarezo_token"] = (token, "")
        me = viarezo.get(app.config["VIAREZO_ME_PATH"])
        email = me.data["email"]
        db.connect(reuse_if_open=True)
        users = User.select().where(User.email == email)
        db.close()
        if len(users) > 0:
            user = users[0]
        else:
            first_name = me.data["firstName"]
            last_name = me.data["lastName"]
            user = UserService.create_user(me.data)

        identity = {"id": user.id, "admin": user.admin}
        response = {
            "access_token": create_access_token(identity=identity),
            "refresh_token": create_refresh_token(identity=identity),
        }
        return jsonify(response), 200
Ejemplo n.º 4
0
 def get_user(user_id):
     try:
         user = UserService.get_by_uid(int(user_id))
         return jsonify(user.json()), 200
     except ValueError as e:
         return "Not a valid ID", 400  # Bad Request
     except ResourceNotFound as r:
         return r.message, 404
Ejemplo n.º 5
0
def get_users_stats(user_id: int) -> Response:
    """Display all users.

    Returns :
        list of serialized users
    """
    stats = UserService.get_user_stats(user_id)
    return jsonify({"stats": stats})
Ejemplo n.º 6
0
def get_all_users() -> Response:
    """Display all users.

    Returns :
        list of serialized users
    """
    users = UserService.get_all_users()
    return jsonify({"users": users})
Ejemplo n.º 7
0
def remove_user(user_id: int) -> Response:
    """Delete a user.

    Returns :
        {username, email, phone, calorie}
    """
    user = UserService.remove_user(user_id)
    if not user:
        return json_abort(404, f"User not found")

    return jsonify({"user": user})
Ejemplo n.º 8
0
def get_user(user_id: int) -> Response:
    """
    Find a given user.

    Returns :
        {user : id, username, email, phone, calorie}
    """
    user = UserService.get_user(user_id)

    if not user:
        return json_abort(404, f"No user with id {user_id}")
    return jsonify(user)
Ejemplo n.º 9
0
def get_all_users_not_in_jap_event(jap_event_id: int):
    """Display all users that are not in the related jap event."""
    users = UserService.get_all_users()
    jap_event = JapEventService.get_jap_event(jap_event_id)
    return jsonify(
        {
            "users": [
                user
                for user in users
                if user.id not in [member.id for member in jap_event.members]
            ]
        }
    )
Ejemplo n.º 10
0
def create_user() -> Response:
    """Create a new user.

    Args :
        data = {username, email, phone, ?avatar_url}

    Returns :
        {user : id, username, email, phone, calorie}
    """
    data = request.json
    avatar_url = data["avatar_url"] if "avatar_url" in data else ""

    if not data["username"]:
        return json_abort(400, f"Empty string not allowed as a username")

    user = UserService.create_user(
        data["username"], data["email"], data["phone"], avatar_url
    )

    return jsonify({"user": user})
Ejemplo n.º 11
0
 def get_all_users():
     return jsonify(UserService.all_users()), 200
Ejemplo n.º 12
0
 def del_user(user_id):
     UserService.delete_user(int(user_id))
     return '', 204
Ejemplo n.º 13
0
 def post_user():
     user = Users.json_parse(request.json)
     user = UserService.create_user(user)
     return jsonify(user.json()), 201