def deleteResource(self, resourceid): dao = ResourcesDAO() if not dao.getResourceById(resourceid): return jsonify(Error="Resource not found."), 404 else: dao.delete(resourceid) return jsonify(DeleteStatus="OK"), 200
def getResourceById(self, rid): dao = ResourcesDAO() row = dao.getResourceById(rid) if not row: return jsonify(Error="Resource Not Found"), 404 else: resource = Resource().build_dict_from_row(row) return jsonify(resource)
def getResourceById(self, resID): dao = ResourcesDAO() row = dao.getResourceById(resID) if not row: return jsonify(Error="User not found"), 404 else: resource = self.build_resource_dict(row) return jsonify(Resource=resource)
def getResourceByID(self, resourceid): dao = ResourcesDAO() row = dao.getResourceById(resourceid) if not row: return jsonify(Error="Resource Not Found "), 404 else: resource = self.build_resource_dict(row) return jsonify(Resource=resource)
def getResourceById(self,r_id): dao = ResourcesDAO() row = dao.getResourceById(r_id) if not row: return jsonify(Eror = 'Resource Not Found'),404 else: r = self.build_resource_dict(row) return jsonify(Resource=r)
def getResourceById(self, resourceID): dao = ResourcesDAO() resources_list = dao.getResourceById(resourceID) result_list = [] for row in resources_list: result = self.build_resourceInfoByID_dict(row) result_list.append(result) return jsonify(Resource=result_list)
def updateResource(self, rid, form): dao = ResourcesDAO() if not dao.getResourceById(rid): return jsonify(Error="User not found."), 404 else: if len(form) != 2: return jsonify(Error="Malformed update request"), 400 else: rname = form['rname'] catid = form['catid'] if rname and catid: rid = dao.update(rid, rname, catid) result = Resource().build_dict_from_row( dao.getResourceById(rid)) return jsonify(result), 201 else: return jsonify( Error="Unexpected attributes in put request"), 400
def insertRequest(self, form, nid): # New Resource if len(form) == 3: rname = form['rname'] catid = form['catid'] qty = form['qty'] if rname and catid and qty: dao = ResourcesDAO() resource = dao.getResourcesByRname(rname) if not resource: dao2 = CategoriesDAO() if not dao2.getCategoryById(catid): return jsonify(Error="Category Not Found"), 404 rid = dao.insert(rname, catid) else: rid = (resource[0])[0] dao = ResourceRequestsDAO() req_id = dao.insertRequest(nid) dao3 = ResourceRequestDetailsDAO() dao3.insertRequestDetails(req_id, rid, qty) table = dao.getRequestByIdWithDetails(req_id) if not table: return jsonify(Error="Request Not Found"), 404 else: print(table) result = ResourceRequest().build_dict_from_table_details( table) return jsonify(result) elif len(form) != 2: return jsonify(Error="Malformed post request"), 400 else: # Existing Resource rid = form['rid'] qty = form['qty'] if rid and qty: dao = ResourcesDAO() if not dao.getResourceById(rid): return jsonify(Error="Resource Not Found"), 404 dao2 = ResourceRequestsDAO() reqid = dao2.insertRequest(nid) dao3 = ResourceRequestDetailsDAO() dao3.insertRequestDetails(reqid, rid, qty) result = ResourceRequest().build_dict_from_row_resource( dao2.getRequestByIdWithDetails2(reqid)) return jsonify(result), 201 else: return jsonify( Error="Unexpected attributes in post request"), 400
def updateResourcePrice(self, form): market_price = form['market_price'] resourceid = form['resourceID'] if form and len(form) < 2: return jsonify(Error="Malformed post request"), 400 dao = ResourcesDAO() if not dao.getResourceById(resourceid): return jsonify(Error="Resource not found."), 404 else: dao.updateResourcePrice(resourceid, market_price) return self.getAllResourcesInfo()
def getSuppliersByResourceId(self,r_id): dao = ResourcesDAO() resource = dao.getResourceById(r_id) if not resource: return jsonify(Error="Resource Not Found"), 404 result_list = [] supplier_list = dao.getSupplierByResourceId(r_id) for row in supplier_list: result = self.build_supplier_dict(row) result_list.append(result) return jsonify(SupplierByResourcesID=result_list)
def updateResource(self, resourceid, form): dao = ResourcesDAO() if not dao.getResourceById(resourceid): return jsonify(Error="Resource not found."), 404 else: if len(form) != 4: return jsonify(Error="Malformed update request") else: resourcename = form['resourcename'] resourceprice = form['resourceprice'] resourcequantity = form['resourcequantity'] supplierid = form['supplierid'] if resourcename and resourceprice and resourcequantity and supplierid: dao.update(resourceid, resourcename, resourceprice, resourcequantity, supplierid) result = self.build_resource_attributes(resourceid, resourcename, resourceprice, resourcequantity, supplierid) return jsonify(Resource=result), 400 else: return jsonify(Error="Unexpected attributes in update request"), 400
def insertResource(self, form): if len(form) != 2: return jsonify(Error="Malformed post request"), 400 else: rname = form['rname'] catid = form['catId'] if rname and catid: dao = ResourcesDAO() catDao = CategoriesDAO() category = catDao.getCategoryById(catid) if not category: return jsonify(Error="Category not found!"), 400 rid = dao.insert(rname, catid) result = Resource().build_dict_from_row( dao.getResourceById(rid)) return jsonify(Resource=result), 201 else: return jsonify( Error="Unepected attributes in post request"), 400
def updateRequestDetailsByReqId(self, form, req_id): if len(form) == 2: rid = form['rid'] qty = form['qty'] if rid and qty: rdao = ResourcesDAO() if not rdao.getResourceById(rid): return jsonify(Error="Resource Not Found"), 404 rrdao = ResourceRequestsDAO() if not rrdao.getRequestByIdWithDetails(req_id): return jsonify(Error="Request Not Found"), 404 rrddao = ResourceRequestDetailsDAO() if not rrddao.getRequestDetailsById(req_id, rid): return jsonify(Error="Request Detail Not Found"), 404 if rrddao.getRequestDetailsById(req_id, rid)[3]: return jsonify(Error="Request Detail was Fulfilled"), 400 rrddao.update(req_id, rid, qty, None) #FIX HEREEEE result = ResourceRequest().build_dict_from_table_no_nid( rrdao.getRequestByIdWithDetailsNoReq(req_id)) return jsonify(result), 201 else: return jsonify( Error="Unexpected Attributes in Put Request"), 400 elif len(form) != 3: return jsonify("Malformed Put Request"), 400 else: rid = form['rid'] qty = form['qty'] date = form['f_date'] if rid and qty and date: rdao = ResourcesDAO() if not rdao.getResourceById(rid): return jsonify(Error="Resource Not Found"), 404 rrdao = ResourceRequestsDAO() if not rrdao.getRequestByIdWithDetails2(req_id): return jsonify(Error="Request Not Found"), 404 rrddao = ResourceRequestDetailsDAO() if not rrddao.getRequestDetailsById(req_id, rid): return jsonify(Error="Request Detail Not Found"), 404 if rrddao.getRequestDetailsById(req_id, rid)[3]: return jsonify(Error="Request Detail was Fulfilled"), 400 rrddao.update(req_id, rid, qty, date) result_list = rrdao.getRequestByIdWithDetails2(req_id) table = [] #FIX HEREEEEE result = ResourceRequest().build_dict_from_table_no_nid( rrdao.getRequestByIdWithDetails(req_id)) return jsonify(result), 201 else: return jsonify( Error="Unexpected Attributes in Put Request"), 400
def searchResources(self, args): rid = args.get('rid') rname = args.get('rname') rtype = args.get('rtype') buy_free = args.get('buy_free') ccid = args.get('ccid') marketprice = args.get('marketprice') qty = args.get('qty') dao = ResourcesDAO() if (len(args) == 1) and rid: resources_list = dao.getResourceById(rid) result_list = [] for row in resources_list: result = self.build_resourcesInf_dict(row) result_list.append(result) return jsonify(Resource=result_list) elif (len(args) == 1) and rname: resources_list = dao.getResourceInfoByName(rname) result_list = [] for row in resources_list: result = self.build_resourcesInf_dict(row) result_list.append(result) return jsonify(Resource=result_list) elif (len(args) == 1) and rtype: resources_list = dao.getResourceInfoByType(rtype) result_list = [] for row in resources_list: result = self.build_resourcesInf_dict(row) result_list.append(result) return jsonify(Resource=result_list) elif (len(args) == 1) and buy_free: resources_list = dao.getResourceInfoByBF(buy_free) result_list = [] for row in resources_list: result = self.build_resourcesInf_dict(row) result_list.append(result) return jsonify(Resource=result_list) elif (len(args) == 1) and ccid: resources_list = dao.getResourceByCollectionCenterID(ccid) result_list = [] for row in resources_list: result = self.build_resourcesInf_dict(row) result_list.append(result) return jsonify(Resource=result_list) elif (len(args) == 1) and marketprice: resources_list = dao.getResourceByMarketPrice(marketprice) result_list = [] for row in resources_list: result = self.build_resourcesInf_dict(row) result_list.append(result) return jsonify(Resource=result_list) elif (len(args) == 1) and qty: resources_list = dao.getResourceByQty(qty) result_list = [] for row in resources_list: result = self.build_resourcesInf_dict(row) result_list.append(result) return jsonify(Resource=result_list) else: return jsonify(Error="Malformed query string"), 400 result_list = [] for row in resources_list: result = self.build_resources_dict(row) result_list.append(result) return jsonify(Resource=result_list)
def insertAvailabilityAnnouncementbySID( self, form, sid): #added by herbert for post announcements by supplier print(len(form)) if len(form) == 3: rid = form['rid'] qty = form['qty'] priceattime = form['priceattime'] #rm['date'] #DATE has yet to be added to documentation if rid and qty and priceattime: dao = ResourcesDAO() if not dao.getResourceById(rid): return jsonify(Error="Resource not found"), 404 dao = AvailabilityAnnouncementsDAO() ann_id = dao.insertAvailabilityAnnouncement(sid) dao = StocksDAO() if not dao.getStockById(rid, sid): #add t # o stock if doesnt exist dao.insertStock(rid, sid, qty, priceattime) else: astock = dao.getStockById(rid, sid) newqty = astock[11] + qty dao.updateStock(rid, sid, newqty, priceattime) #increase number of items in stock by qty. of each damn item. shit. #dao = SuppliersDAO() # do I even need this one? #dao2 = AvailabilityAnnouncementsDAO() dao = AvailabilityAnnoucementDetailsDAO() dao.insertAvailabilityAnnouncementDetails( ann_id, rid, qty, priceattime) #do a loop to add all the fields dao = AvailabilityAnnouncementsDAO() table = dao.getAnnouncementByIdWithDetails(ann_id) if not table: return jsonify( Error="Availability Announcement Not Found"), 404 else: result = AvailabilityAnnouncement( ).build_dict_from_table_details(table) return jsonify(result) else: return jsonify( Error="Unexpected attributes in post request"), 400 elif len(form) != 4: return jsonify(Error="Malformed post request"), 400 else: rname = form['rname'] catid = form['catid'] qty = form['qty'] priceattime = form['priceattime'] rid = None if rname and catid and qty and priceattime: dao2 = CategoriesDAO() dao = ResourcesDAO() resource = dao.getResourcesByRname(rname) if not resource: if not dao2.getCategoryById(catid): return jsonify(Error="Category not found") rid = dao.insert(rname, catid) else: rid = (resource[0])[0] print(rid) dao = AvailabilityAnnouncementsDAO() ann_id = dao.insertAvailabilityAnnouncement(sid) dao = StocksDAO() if not dao.getStockById(rid, sid): # add t # o stock if doesnt exist dao.insertStock(rid, sid, qty, priceattime) else: astock = dao.getStockById(rid, sid) newqty = astock[11] + qty dao.updateStock(rid, sid, newqty, priceattime) # increase number of items in stock by qty. of each damn item. shit. # dao = SuppliersDAO() # do I even need this one? # dao2 = AvailabilityAnnouncementsDAO() dao = AvailabilityAnnoucementDetailsDAO() dao.insertAvailabilityAnnouncementDetails( ann_id, rid, qty, priceattime) # do a loop to add all the fields dao = AvailabilityAnnouncementsDAO() table = dao.getAnnouncementByIdWithDetails(ann_id) if not table: return jsonify( Error="Availability Announcement Not Found"), 404 else: result = AvailabilityAnnouncement( ).build_dict_from_table_details(table) return jsonify(result) else: return jsonify( Error="Unexpected attributes in post request"), 400
def insertRequestDetailsByReqId(self, form, req_id): # Existing Resource if 2 == len(form): rid = form['rid'] qty = form['qty'] if rid and qty: dao = ResourcesDAO() if not dao.getResourceById(rid): return jsonify(Error="Resource Not Found"), 404 dao2 = ResourceRequestsDAO() request = dao2.getRequestByIdWithDetails(req_id) if not request: return jsonify(Error="Request Not Found"), 404 else: nid = request[0] dao3 = ResourceRequestDetailsDAO() if not dao3.getRequestDetailsById(req_id, rid): dao3.insertRequestDetails(req_id, rid, qty) else: return jsonify(Error="Duplicate Primary Key"), 400 table = dao2.getRequestByIdWithDetails2(req_id) if not table: return jsonify(Error="Resource Request Not Found"), 404 else: result = ResourceRequest().build_dict_from_row_resource( table) return jsonify(result) elif len(form) != 3: return jsonify(Error="Malformed Post Request"), 400 # New Resource else: rname = form['rname'] catid = form['catid'] qty = form['qty'] if rname and catid and qty: dao = ResourcesDAO() dao2 = CategoriesDAO() # Check if resource exists resource = dao.getResourcesByRname(rname) if not resource: # Create new resource if not dao2.getCategoryById(catid): return jsonify(Error="Category Not Found"), 404 rid = dao.insert(rname, catid) else: rid = (resource[0])[0] dao3 = ResourceRequestsDAO() request = dao3.getRequestByIdWithDetails(req_id) if not request or not request[0]: return jsonify(Error="Request Not Found"), 404 else: nid = request[0][2] dao4 = ResourceRequestDetailsDAO() if not dao4.getRequestDetailsById(req_id, rid): dao4.insertRequestDetails(req_id, rid, qty) else: return jsonify(Error="Duplicate Primary Key"), 400 table = dao3.getRequestByIdWithDetails(req_id) if not table: return jsonify(Error="Request Not Found"), 404 else: result = ResourceRequest().build_dict_from_table_details( table) return jsonify(result) else: return jsonify(Error="Malformed Post Request"), 400
def updateResource(self, r_id, form): dao = ResourcesDAO() if not dao.getResourceById(r_id): return jsonify(Error="Resource not found."), 404 else: if len(form) < 5 or len(form) > 8: return jsonify(Error="Malformed pst Request"), 400 else: r_type = form['r_type'] r_quantity = form['r_quantity'] r_location = form['r_location'] r_price = form['r_price'] r_availability = form['r_availability'] if r_type and r_quantity and r_location and r_price and r_availability: if 'water' in r_type: water_type = form['water_type'] measurement_unit = form['measurement_unit'] dao.updateResource(r_id, r_type, r_quantity, r_location, r_price,r_availability) dao.updateWater(water_type, measurement_unit, r_id) result={} result['r_id'] = r_id result['r_type'] = r_type result['r_quantity'] = r_quantity result['r_location'] = r_location result['r_price'] = r_price result['r_availability'] = r_availability result['water_type'] = water_type result['measurement_unit'] = measurement_unit return jsonify(Water=result), 200 if 'fuel' in r_type: fuel_type = form['fuel_type'] fuel_octane_rating = form['fuel_octane_rating'] dao.updateResource(r_id, r_type, r_quantity, r_location, r_price,r_availability) dao.updateFuel( fuel_type, fuel_octane_rating, r_id) result = {} result['r_id'] = r_id result['r_type'] = r_type result['r_quantity'] = r_quantity result['r_location'] = r_location result['r_price'] = r_price result['r_availability'] = r_availability result['fuel_type'] = fuel_type result['fuel_octane_rating'] = fuel_octane_rating return jsonify(Fuel=result), 200 if 'food' in r_type: food_type = form['food_type'] dao.updateResource(r_id, r_type, r_quantity, r_location, r_price,r_availability) dao.updateFood(food_type, r_id) result = {} result['r_id'] = r_id result['r_type'] = r_type result['r_quantity'] = r_quantity result['r_location'] = r_location result['r_price'] = r_price result['r_availability'] = r_availability result['food_type'] = food_type return jsonify(Food=result), 200 if 'battery' in r_type: batt_type = form['batt_type'] batt_volts = form['batt_volts'] dao.updateResource(r_id, r_type, r_quantity, r_location, r_price,r_availability) dao.updateBattery(batt_type, batt_volts, r_id) result = {} result['r_id'] = r_id result['r_type'] = r_type result['r_quantity'] = r_quantity result['r_location'] = r_location result['r_price'] = r_price result['r_availability'] = r_availability result['batt_type'] = batt_type result['batt_volts'] = batt_volts return jsonify(Battery=result), 200 if 'generator' in r_type: g_brand = form['g_brand'] g_fuel_type = form['g_fuel_type'] g_power = form['g_power'] dao.updateResource(r_id, r_type, r_quantity, r_location, r_price,r_availability) dao.updateGenerator(g_brand,g_fuel_type, g_power, r_id) result = {} result['r_id'] = r_id result['r_type'] = r_type result['r_quantity'] = r_quantity result['r_location'] = r_location result['r_price'] = r_price result['r_availability'] = r_availability result['g_brand'] = g_brand result['g_fuel_type'] = g_fuel_type result['g_power'] = g_power return jsonify(Generator=result), 200 else: dao.updateResource(r_id,r_type, r_quantity, r_location, r_price, r_availability) result = {} result['r_id'] = r_id result['r_type'] = r_type result['r_quantity'] = r_quantity result['r_location'] = r_location result['r_price'] = r_price result['r_availability'] = r_availability return jsonify(Resource=result), 200 else: return jsonify(Error="Unexpected attributes in update request"), 400