Beispiel #1
0
    def delete(room_id):
        query_room = RoomModel.get_room(room_id)
        error_does_not_exist(query_room, f'Room {room_id}')

        room_filter = SchedulingModel.filter_room_id(room_id)
        if room_filter:
            return error_room_linked_to_schedule(f'{room_id}')
        query_room.delete()
        return resp_delete_successfully('Room')
Beispiel #2
0
    def put(self, room_id):
        room_number = self.args['room_number']
        filter_room = RoomModel.filter_room(room_number)

        if not filter_room:
            query_room = RoomModel.get_room(room_id)
            error_does_not_exist(query_room, f'Room {room_id}')
            RoomModel.update(query_room, room_number)
            return resp_update_successfully('Room')

        if filter_room.room_number == room_number:
            return error_already_exists('Room')
Beispiel #3
0
def validate_room(room_number):
    """
    Checks if room exists.

    :param room_number: int number.
    :return: json response {'message': 'Room does not exist.'}
    """
    query_filter_room = RoomModel.filter_room(room_number)
    if not query_filter_room:
        return error_does_not_exist(None, 'Room')
    def put(self, scheduling_id):
        title = self.args['title']
        date = self.args['date']
        room_number = self.args['room_number']

        query_scheduling = SchedulingModel.get_scheduling(scheduling_id)
        if not query_scheduling:
            return error_does_not_exist(None, f'Scheduling {scheduling_id}')

        filter_room = RoomModel.filter_room(room_number)
        if not filter_room:
            error_does_not_exist(filter_room, f'Room {room_number}')

        if SchedulingModel.filter_schedules(date, room_number):
            return error_unavailable()

        data = {
            'title': title,
            'date': date,
            'room_number': room_number,
            'room_id': filter_room.id
        }
        SchedulingModel.update(query_scheduling, data)
        return resp_update_successfully('Scheduling')
    def post(self):
        title = self.args['title']
        date = self.args['date']
        room_number = self.args['room_number']

        query_room = RoomModel.filter_room(room_number)
        if not query_room:
            return error_does_not_exist(query_room, 'Room')

        if SchedulingModel.filter_schedules(date, room_number):
            return error_unavailable()

        schedule = SchedulingModel(
            title=title,
            date=date,
            room_number=room_number,
            room_id=query_room.id
        )
        schedule.save()
        return resp_created_successfully('scheduling')
Beispiel #6
0
    def get(self):
        date = self.args['date']
        room_number = self.args['room_number']

        if not date and not room_number:
            query_schedules = SchedulingModel.get_schedules()
            if not query_schedules:
                return error_does_not_exist(None, 'Data')
            serialized = schedule_serializer(query_schedules)
            return resp_successful(serialized)

        if not date:
            query_filter_room_number = SchedulingModel.filter_room_number(
                room_number)
            if not query_filter_room_number:
                validate_room(room_number)
                return resp_not_meeting('room')
            serialized = schedule_serializer(query_filter_room_number)
            return resp_successful(serialized)

        if not room_number:
            query_filter_date = SchedulingModel.filter_date(date)
            if not query_filter_date:
                return resp_not_meeting('date')
            serialized = schedule_serializer(query_filter_date)
            return resp_successful(serialized)

        validate_room(room_number)

        query_schedules = SchedulingModel.filter_schedules(date, room_number)
        if not query_schedules:
            validate_room(room_number)
            return resp_not_meeting('meeting')

        serialized = schedule_serializer(query_schedules)
        return resp_successful(serialized)
 def delete(scheduling_id):
     query_scheduling = SchedulingModel.get_scheduling(scheduling_id)
     error_does_not_exist(query_scheduling, f'Scheduling {scheduling_id}')
     query_scheduling.delete()
     return resp_delete_successfully('Scheduling')