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')
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')
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')
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')