Ejemplo n.º 1
0
def update_room(room_id, room_number, size, capacity):
    """
    Obtains the Room corresponding to the given ID and updates its properties
    with the provided values
    """
    assert all(
        [
            isinstance(room_id, int),
            isinstance(room_number, (int, str)),
            isinstance(size, models.RoomSize),
            isinstance(capacity, int),
        ]
    )

    existing_room = (
        DB.session.query(models.Room).filter(models.Room.id == room_id).first()
    )

    if not existing_room:
        # TODO: jlh29, possibly create a room if one does not exist?
        DB.session.commit()
        return None

    existing_room.room_number = str(room_number)
    existing_room.size = size.value
    existing_room.capacity = capacity
    DB.session.commit()
    return models.BreakoutRoom(
        id=room_id,
        room_number=str(room_number),
        size=size,
        capacity=capacity,
    )
Ejemplo n.º 2
0
def get_all_room_objs(as_dicts=False):
    """
    Returns all Rooms as RoomInfo objects or dictionaries
    """
    rooms = DB.session.query(models.Room).order_by(models.Room.id).all()
    room_objs = [
        models.BreakoutRoom(
            id=room.id,
            room_number=room.room_number,
            size=room.size,
            capacity=room.capacity,
        )
        for room in rooms
    ]
    DB.session.commit()
    if as_dicts:
        return [room._asdict() for room in room_objs]
    return room_objs
Ejemplo n.º 3
0
def get_room_obj_by_id(room_id, as_dict=False):
    """
    Returns the Room corresponding to the given ID as a RoomInfo object or
    dictionary
    """
    room = DB.session.query(models.Room).filter(models.Room.id == room_id).first()
    if room is None:
        DB.session.commit()
        return None
    room_obj = models.BreakoutRoom(
        id=room.id,
        room_number=room.room_number,
        size=room.size,
        capacity=room.capacity,
    )
    DB.session.commit()
    if as_dict:
        return room_obj._asdict()
    return room_obj