def layout_id(): user_id = get_jwt_identity() mall_id = request.json.get('mall_id') mall_inst = Mall.get_by_id(mall_id) floors = Floor.select().where(Floor.mall_id == mall_inst.id).order_by(Floor.id.asc()) floor_arr = [] amount_arr = [] parking_arr = [] parking_arr1 = [] parking_arr2 = [] for floor in floors: floor_arr.append(floor.floor) amount_arr.append(' ('+str(floor.count_available())+')') # for parking in floor.parking: # parking_arr.append({"id": parking.id, "status": parking.status}) floor1 = Floor.get_or_none(floor = floor_arr[0]) floor2 = Floor.get_or_none(floor = floor_arr[1]) parking1 = Parking.select().where(Parking.floor_id == floor1.id).order_by(Parking.id.asc()) parking2 = Parking.select().where(Parking.floor_id == floor2.id).order_by(Parking.id.asc()) for i in parking1: parking_arr1.append({"id": i.id, "status": i.status}) for i in parking2: parking_arr2.append({"id": i.id, "status": i.status}) if mall_inst: responseObj = { 'status': 'success', 'user': user_id, 'mall': mall_inst.outlet, 'id': mall_inst.id, 'floor': floor_arr, 'parking1': parking_arr1, 'parking2': parking_arr2, 'amount': amount_arr } return jsonify(responseObj), 200 else: responseObj = { 'status': 'failed', 'message': 'Failed to access the mall layout' } return jsonify(responseObj), 400
def count_available(self): from models.parking import Parking return len(Parking.select().where(Parking.floor_id == self.id, Parking.status == False))
def count_total(self): from models.parking import Parking return len(Parking.select().where(Parking.floor_id == self.id))