def deleteResource(self, rid): dao = resourcesDAO() if not dao.getResourcesByRid(rid): return jsonify(Error="Part not found."), 404 else: dao.delete(rid) return jsonify(DeleteStatus="OK"), 200
def searchResources(self, args): category = args.get("category") qty = args.get("qty") price = args.get("price") region = args.get("region") city =args.get("city") dao = resourcesDAO() resources_list = [] if (len(args) == 1) and city: resources_list = dao.getResourcesBySupplierCity(city) elif (len(args) == 2) and category and qty: resources_list = dao.getResourcesByCategoryandQty(category,qty) elif (len(args) == 2) and category and region: resources_list = dao.getResourcesByCategoryandRegion(category,region) elif (len(args) == 1) and category: resources_list = dao.getResourcesByCategory(category) elif (len(args) == 1) and qty: resources_list = dao.getResourcesByQty(qty) elif (len(args) == 1) and price: resources_list = dao.getResourcesByPrice(price) elif (len(args) == 1) and region: resources_list = dao.getResourcesByRegion(region) 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(Resources=result_list)
def getResourcesInNeed(self): dao = resourcesDAO() resources = dao.getResourcesInNeed() result_list = [] for row in resources: result = self.build_resources_dict(row) result_list.append(result) return jsonify(Resources = result_list)
def getAllOrderBySupplierSearch(self): dao = resourcesDAO() resources_list = dao.getAllOrderBySupplier() results_list = [] for row in resources_list: result = self.build_supplier_order_dict(row) results_list.append(result) return jsonify(Resources=results_list)
def getAllResourcesRequested(self): dao = resourcesDAO() resources_list = dao.getAllResourcesRequested() results_list = [] for row in resources_list: result = self.build_resources_dict(row) results_list.append(result) return jsonify(Resources=results_list)
def getAllResourcesOrderedByName(self): dao = resourcesDAO() resources_list = dao.getAllResourcesOrderByName() results_list = [] for row in resources_list: result = self.build_resources_dict(row) results_list.append(result) return jsonify(Resources=results_list)
def getResourcesByrid(self, rid): dao = resourcesDAO() row = dao.getResourcesByRid(rid) if not row: return jsonify(Error="User Not Found"), 404 else: resource = self.build_resources_dict(row) return jsonify(Resource=resource)
def getResourcesById(self, res_ID): dao = resourcesDAO() row = dao.getResourceById(res_ID) if not row: return jsonify(Error = "Part Not Found"), 404 else: resource = self.build_resources_dict(row) return jsonify(Resource = resource)
def getSupplierByResourceId(self, rid): dao = resourcesDAO() if not dao.getResourcesByRid(rid): return jsonify(Error="Resource Not Found"), 404 suppliers_list = dao.getSuplierByResourceId(rid) result_list = [] for row in suppliers_list: result = self.build_user_dict(row) result_list.append(result) return jsonify(Suppliers=result_list)
def getSuppliersByResourceId(self, res_ID): dao = resourcesDAO() suppliers = dao.getSuppliersByResourcesId(res_ID) if not suppliers: return jsonify(Error="Part Not Found"), 404 suppliers_list = suppliers result_list = [] for row in suppliers_list: result = self.build_suppliers_dict(row) result_list.append(result) return jsonify(Suppliers=result_list)
def getResourcesRequestedByApplicantID(self, apl_ID): dao = resourcesDAO() requests = dao.getResourcesRequestedByApplicantID(apl_ID) if not requests: return jsonify(Error="Part Not Found"), 404 requests_list = requests result_list = [] for row in requests_list: result = self.build_resources_dict(row) result_list.append(result) return jsonify(Requests=result_list)
def getRequestedResources(self): dao = resourcesDAO() requests = dao.getRequestedResources() if not requests: return jsonify(Error="No request at the moment"), 404 requests_list = requests result_list = [] for row in requests: result = self.build_resourcesrequested_dict(row) result_list.append(result) return jsonify(Requests = result_list)
def insertRequest(self, form): if len(form) != 2: return jsonify(Error="Malform post request"), 400 else: apl_ID = form['apl_ID'] res_ID = form['res_ID'] if apl_ID and res_ID: dao = resourcesDAO() req_ID =dao.insertRequest(apl_ID, res_ID) result = self.build_request_attributes(req_ID,apl_ID, res_ID) return jsonify(Request=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400
def searchResourcesAvailable(self, args): category = args.get("category") dao = resourcesDAO() resources_list = [] if (len(args) == 1) and category: resources_list = dao.getResourcesAvailableByCategoryKeyword(category) 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(Resources=result_list)
def getOrderBySupplierSearch(self, args): ufirstname = args.get("ufirstname") ulastname = args.get("ulastname") dao = resourcesDAO() user_list = [] if (len(args) == 2) and (ufirstname or ulastname): user_list = dao.getOrderBySupplierFirstNameAndLastName(ufirstname, ulastname) elif (len(args) == 1) and ufirstname: user_list = dao.getOrderBySupplierFirstName(ufirstname) elif (len(args) == 1) and ulastname: user_list = dao.getOrderBySupplierLastName(ulastname) else: return jsonify(Error="Malformed query string"), 400 results_list = [] for row in user_list: result = self.build_supplier_order_dict(row) results_list.append(result) return jsonify(User=results_list)
def updateResource(self,res_ID,form): dao = resourcesDAO() if not dao.getResourceById(res_ID): return jsonify(Error="Resource not found"), 404 else: if len(form) != 4: return jsonify(Error="Malform update request"), 400 else: res_ID = form['res_ID'] category = form['category'] price = form['price'] qty = form['qty'] if price and qty: dao.updateResource(price, qty, res_ID) result = self.build_resources_attributes(res_ID,category,price,qty) return jsonify(Resource=result), 200 else: return jsonify(Error="Unexpected attributes in updates request"), 400
def searchResourcesOrderedByName(self, args): rid = args.get("rid") rName = args.get("rName") rqty = args.get("rqty") uid = args.get("uid") rprice = args.get("rprice") rdid = args.get("rdid") dao = resourcesDAO() resource_list = [] if (len(args) == 5) and (rid or rName or rprice or uid or rdid): resource_list = dao.getResourceByRidAndRnameAndrPriceAnduidAndrdidOrderByName(rid, rName, rprice, uid, rdid) elif (len(args) == 4) and (rid or rName or rprice or uid): resource_list = dao.getResourceByRidAndRnameAndrPriceAnduidOrderByName(rid, rName, rprice, uid) elif (len(args) == 4) and (rid or rName or rprice or rdid): resource_list = dao.getResourceByRnameAndRdidAndrpriceAnduidOrderByName(rid, rName, rprice, rdid) elif (len(args) == 3) and (rid or rName or rprice): resource_list = dao.getResourceByRidAndRNameAndRpriceOrderByRname(rid, rName, rprice) elif (len(args) == 3) and (rid or rName or rprice): resource_list = dao.getResourceByRidAndRNameAndRpriceOrderByRdid(rid, rName, rdid) elif (len(args) == 3) and (rid or rName or rprice): resource_list = dao.getResourceByRidAndRNameAndRpriceOrderByUid(rid, rName, uid) elif (len(args) == 2) and (rName or uid): resource_list = dao.getResourceByRnameAnduidOrderByName(rName, uid) elif (len(args) == 2) and (rName or rprice): resource_list = dao.getResourceByRnameAndrpriceOrderByName(rName, rprice) elif (len(args) == 2) and (rName or rdid): resource_list = dao.getResourceByRnameAndrdidOrderByName(rName, rdid) elif (len(args) == 1) and rName: resource_list = dao.getResourceByRnameOrderByName(rName) elif (len(args) == 1) and uid: resource_list = dao.getResourceByuidOrderByName(uid) elif (len(args) == 1) and rprice: resource_list = dao.getResourceByrpriceOrderByName(rprice) elif (len(args) == 1) and rdid: resource_list = dao.getResourceByrdidOrderByName(rdid) elif (len(args) == 1) and rid: resource_list = dao.getResourcesByRidOrderByName(rid) else: return jsonify(Error = "Malformed query string"), 400 result_list = [] for row in resource_list: result = self.build_resources_dict(row) result_list.append(result) return jsonify(Resources=result_list)
def insertFreeResource(self, form): if len(form) != 8: return jsonify(Error = "Malformed post request"), 400 else: user_name = form['user_name'] user_password = form['user_password'] rname = form['rname'] rqty = form['rqty'] cname = form['cname'] cdescription = form['cdescription'] rcity = form['rcity'] rregion = form['rregion'] if user_name and user_password and rname and rqty and cname and cdescription and rcity and rregion: dao = resourcesDAO() rid = dao.insertFreeResource(user_name, user_password, rname, rqty, cname, cdescription, rcity, rregion) if not rid: return jsonify(Error="Unexpected Error"), 400 else: result = self.build_free_free_resource_attributes(user_name, user_password, rname, rqty, cname, cdescription, rid, rcity, rregion) return jsonify(Resource=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400
def searchResourceInserted(self, args): rid = args.get("rid") rName = args.get("rName") rqty = args.get("rqty") uid = args.get("uid") rprice = args.get("rprice") rdid = args.get("rdid") dao = resourcesDAO() resource_list = [] if (len(args) == 5) and (rid or rName or rqty or rprice or uid): resource_list = dao.getResourceRequestedByRidAndRnameAndrqtyAndrpriceAnduid(rid, rName, rqty, rprice, uid) elif (len(args) == 5) and (rid or rName or rqty or rprice or rdid): resource_list = dao.getResourceRequestedByRidAndRnameAndRqtyAndrPriceAndrid(rid, rName, rqty, rprice, rdid) elif (len(args) == 5) and (rid or rName or rqty or uid or rdid): resource_list = dao.getResourceRequestedByRidAndRnameAndRqtyAnduidAndrdid(rid, rName, rqty, uid, rdid) elif (len(args) == 5) and (rid or rName or rprice or uid or rdid): resource_list = dao.getResourceRequestedByRidAndRnameAndrPriceAnduidAndrdid(rid, rName, rprice, uid, rdid) elif (len(args) == 5) and (rid or rqty or rprice or uid or rdid): resource_list = dao.getResourceRequestedByRidAndRqtyAndrPriceAnduidAndrdid(rid, rqty, rprice, uid, rdid) elif (len(args) == 4) and (rid or rqty or rprice or uid): resource_list = dao.getResourceRequestedByRidAndRnameAndRqtyAndrPriceAnduidAndrdid(rid, rqty, rprice, uid) elif (len(args) == 4) and (rid or rName or rprice or uid): resource_list = dao.getResourceRequestedByRidAndRnameAndrPriceAnduid(rid, rName, rprice, uid) elif (len(args) == 4) and (rid or rName or rqty or uid): resource_list = dao.getResourceRequestedByRidAndRnameAndRqtyAnduid(rid, rName, rqty, uid) elif (len(args) == 4) and (rid or rName or rqty or rprice): resource_list = dao.getResourceRequestedByRidAndRnameAndRqtyAndrPrice(rid, rName, rqty, rprice) elif (len(args) == 1) and rid: resource_list = dao.getResourcesRequestedByRid(rid) else: return jsonify(Error="Malformed query string"), 400 result_list = [] for row in resource_list: result = self.build_resources_dict(row) result_list.append(result) return jsonify(Resources=result_list)
def insertResource(self, form): if len(form) != 9: return jsonify(Error="Malformed post request"), 400 else: rname = form['rname'] rprice = form['rprice'] rqty = form['rqty'] rdid = form['rdid'] uid = form['uid'] rcity = form['rcity'] rregion = form['rregion'] cname = form['cname'] cdescription = form['cdescription'] if rname and rprice and rqty and uid and rcity and rregion and cname and cdescription: dao = resourcesDAO() rid = dao.insert(rname, rqty, rprice, rdid, uid) rlid = resourceLocationDAO().insert(rcity, rregion, rid) cid = categoryDAO().insert(cname, cdescription, rid) result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid) res1 = self.build_resources_cat_attributes(cid, cname, cdescription, rid) res2 = self.build_resources_location_attributes(rlid, rcity, rregion, rid) return jsonify(Resource=result, Category=res1, ResourceLocation=res2), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400
def updateResource(self, rid, form): dao = resourcesDAO() if not dao.getResourcesByRid(rid): return jsonify(Error="Resource not found."), 404 else: if len(form) > 5: return jsonify(Error="Malformed update request"), 400 else: if (len(form) == 5): rname = form['rname'] rprice = form['rprice'] rqty = form['rqty'] rdid = form['rdid'] uid = form['uid'] if rname and rprice and rqty and rdid and uid: dao = resourcesDAO() dao.updateall(rid, rname, rprice, rqty, rdid, uid) result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid) return jsonify(Resource=result), 200 else: return jsonify(Error="Unexpected attributes in update request"), 400 elif len(form) == 2: if ('rprice' in form) and ('rqty' in form): rprice = form['rprice'] rqty = form['rqty'] if rprice and rqty: dao = resourcesDAO() attlist = dao.updaterpriceAndrqty(rid, rprice, rqty) res = attlist.pop(0) rname = res[0] uid = res[1] rdid = res[2] result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid) return jsonify(Resource=result), 200 else: return jsonify(Error="Unexpected attributes in update request"), 400 elif len(form) == 1: if 'rprice' in form: rprice = form['rprice'] if rprice: dao = resourcesDAO() attlist = dao.updaterprice(rid, rprice) res = attlist.pop(0) rname = res[0] uid = res[1] rdid = res[2] rqty = res[3] result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid) return jsonify(Resource=result), 200 elif 'rqty' in form: rqty = form['rqty'] if rqty: dao = resourcesDAO() attlist = dao.updaterqty(rid, rqty) res = attlist.pop(0) rname = res[0] uid = res[1] rdid = res[2] rprice = res[3] result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid) return jsonify(Resource=result), 200 elif 'rdid' in form: rdid = form['rdid'] if rdid: dao = resourcesDAO() attlist = dao.updaterdid(rid, rdid) res = attlist.pop(0) rname = res[0] uid = res[1] rqty = res[2] rprice = res[3] result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid) return jsonify(Resource=result), 200 elif 'rname' in form: rname = form['rname'] if rname: dao = resourcesDAO() attlist = dao.updatername(rid, rname) res = attlist.pop(0) rdid = res[0] uid = res[1] rqty = res[2] rprice = res[3] result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid) return jsonify(Resource=result), 200 elif 'uid' in form: uid = form['uid'] if uid: dao = resourcesDAO() attlist = dao.updateuid(rid, uid) res = attlist.pop(0) rdid = res[0] rname = res[1] rqty = res[2] rprice = res[3] result = self.build_resources_attributes(rid, rname, rprice, rqty, rdid, uid) return jsonify(Resource=result), 200 else: return jsonify(Error="Unexpected attributes in update request"), 400
def insertResources(self, form): if len(form) == 4 and form['category']=="food": supp_ID=form['supp_ID'] category = form['category'] price = form['price'] qty = form['qty'] kind = form['kind'] if supp_ID and category and price and qty and kind: dao = resourcesDAO() res_ID = dao.insert(category, price, qty) dao.insertSupplies(res_ID,supp_ID) dao.insertFood(res_ID, kind) result = self.build_food_attributes(res_ID, category, price, qty, kind) return jsonify(Food=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400 elif len(form) == 6 and form['category'] == 'clothing': supp_ID = form['supp_ID'] category = form['category'] price = form['price'] qty = form['qty'] size = form['size'] gender = form['gender'] if supp_ID and category and price and qty and size and gender: dao = resourcesDAO() res_ID = dao.insert(category,price,qty) dao.insertSupplies(res_ID, supp_ID) dao.insertClothing(res_ID,size,gender) result = self.build_clothing_attributes(res_ID,category,price,qty,size,gender) return jsonify(Cloth = result),201 else: return jsonify(Error="Unexpected attributes in post request"), 400 elif len(form) ==5 and form['category']=='pgenerator': supp_ID = form['supp_ID'] category = form['category'] price = form['price'] qty = form['qty'] watts = form['watts'] if supp_ID and category and price and qty and watts: dao = resourcesDAO() res_ID = dao.insert(category, price, qty) dao.insertSupplies(res_ID, supp_ID) dao.insertPgenerator(res_ID, watts) result = self.build_pgenerator_attributes(res_ID, category, price, qty, watts) return jsonify(Power_Generators=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400 elif len(form)== 5 and form['category']=='batteries': supp_ID = form['supp_ID'] category = form['category'] price = form['price'] qty = form['qty'] kind = form['kind'] if supp_ID and category and price and qty and kind: dao = resourcesDAO() res_ID = dao.insert(category, price, qty) dao.insertSupplies(res_ID, supp_ID) dao.insertBatteries(res_ID, kind) result = self.build_batteries_attributes(res_ID, category, price, qty, kind) return jsonify(Batteries=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400 elif len(form)==5 and form['category']=='medication': supp_ID = form['supp_ID'] category = form['category'] price = form['price'] qty = form['qty'] dosis = form['dosis'] if supp_ID and category and price and qty and dosis: dao = resourcesDAO() res_ID = dao.insert(category, price, qty) dao.insertSupplies(res_ID, supp_ID) dao.insertMedication(res_ID, dosis) result = self.build_medication_attributes(res_ID, category, price, qty, dosis) return jsonify(Medication=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400 elif len(form)==5 and form['category']=='ice': supp_ID = form['supp_ID'] category = form['category'] price = form['price'] qty = form['qty'] size = form['size'] if supp_ID and category and price and qty and size: dao = resourcesDAO() res_ID = dao.insert(category, price, qty) dao.insertSupplies(res_ID, supp_ID) dao.insertIce(res_ID, size) result = self.build_ice_attributes(res_ID, category, price, qty, size) return jsonify(Ice=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400 elif len(form)==6 and form['category']=='fuel': supp_ID = form['supp_ID'] category = form['category'] price = form['price'] qty = form['qty'] kind = form['kind'] size = form['size'] if supp_ID and category and price and qty and kind and size: dao = resourcesDAO() res_ID = dao.insert(category, price, qty) dao.insertSupplies(res_ID, supp_ID) dao.insertFuel(res_ID, kind, size) result = self.build_fuel_attributes(res_ID, category, price, qty, kind,size) return jsonify(Fuel=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400 elif len(form)==5 and form['category']=='water': supp_ID = form['supp_ID'] category = form['category'] price = form['price'] qty = form['qty'] size = form['size'] if supp_ID and category and price and qty and size: dao = resourcesDAO() res_ID = dao.insert(category, price, qty) dao.insertSupplies(res_ID, supp_ID) dao.insertWater(res_ID, size) result = self.build_water_attributes(res_ID, category, price, qty, size) return jsonify(Water=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400 else: return jsonify(Error="Malform post request"), 400