def Delete(id): try: toDel = Rockets.query.filter_by(id=id).first() if toDel is not None: db_session.delete(toDel) db_session.commit() return 200 else: return 400 except InvalidRequestError: log().error("Unable to delete data") return 400
def Delete(username): try: toDel = Clients.query.filter_by(username=username).first() if toDel is not None: db_session.delete(toDel) db_session.commit() return 200 else: return 400 except InvalidRequestError: log().error("Unable to delete data") return 400
def Delete(id): try: toDel = ClientOrders.query.filter_by(id=id).first() if toDel is not None: delRelate = MissionClientOrderRelate.query.filter_by(clientOrder_id=id) if delRelate.one_or_none() is not None: for data in delRelate.all(): db_session.delete(data) db_session.commit() db_session.delete(toDel) db_session.commit() return 200 else: return 400 except InvalidRequestError: log().error("Unable to delete clientOrder data") return 400
def Patch(content): try: if 'id' not in content: return None, 400 cid = content.pop('id') querydict, isMatch = checkDictKeyMatchArray(modelKey, content) if not isMatch: return None, 400 query = Missions.query.filter_by(id=cid).one_or_none() if query is not None: if "pair_order" in querydict: pair = list(map(int, querydict["pair_order"].split(','))) relate = MissionClientOrderRelate.query.filter_by( mission_id=query.id).all() qPair = [] for data in relate: qPair.append(data.clientOrder_id) for toDel in list(set(qPair) - set(pair)): m = MissionClientOrderRelate.query.filter_by( mission_id=query.id, clientOrder_id=toDel).one() db_session.delete(m) for toAdd in list(set(pair) - set(qPair)): createRelate = MissionClientOrderRelate( mission_id=query.id, clientOrder_id=toAdd) db_session.add(createRelate) try: db_session.commit() except: log().error("Unable to patch mission client order relate ") return 400 for key in querydict: setattr(query, key, querydict[key]) db_session.commit() return querydict, 200 else: return None, 404 except InvalidRequestError: log().error("Unable to patch data") return None, 400