async def delete(self, request, id): with db_session: if not Lab.exists(id=id): return self.response_status(404) try: Lab.get_for_update(id=id) Lab[id].set(modified=datetime.now(), active=False) except Exception as e: return self.response_status(500) else: return self.response_status(200, Lab[id])
async def patch(self, request, id): req = request.form with db_session: if not Lab.exists(id=id): return self.response_status(404) if req.get('email') and Lab.exists(email=req.get('email')): return self.response_status(409) try: Lab.get_for_update(id=id) changes = self.not_null_data( name=req.get('name'), email=req.get('email'), web=req.get('web'), phone=req.get('phone'), department=req.get('department'), city=req.get('city'), address=req.get('address'), active=req.get('active'), ) Lab[id].set(**changes) return self.response_status(200, changes) except Exception as e: return self.response_status(202)