def delete(self,id): try: proposal = ProposalModel.get_by_id(id) proposal.delete() return 'No Content', 204 except Exception as e: return f"{e}", 500
def _get_proposal(self, id): proposal = ProposalModel.get_by_id(id) if proposal is None: return {'message': 'Proposal not found'}, 404 return { 'id':proposal.id, 'number':proposal.number, 'status':proposal.status, 'created_date':proposal.created_date.strftime("%d/%m/%Y"), 'pet':select_pet_by_proposal_id(id)['pet'], 'plan_proposal':select_pet_by_proposal_id(id)['proposal_details']['plan_proposal'] }
def delete_insured(id): try: insured = InsuredModel.get_by_user_id(id) policy = PolicyModel.get_by_id(insured.policy_id) pet = PetModel.get_by_insured(insured.insured_id) proposal = ProposalModel.get_by_id(pet.proposal_id) pet_schedule = PetScheduleModel.get_by_pet(pet.id) if pet_schedule: pet_schedule.delete() proposal.delete() pet.delete() policy.delete() insured.delete() return {"success": True, "message": 'insured deleted'} except Exception as e: return {"success": False, "message": f"{e}"}
def select_pet_by_proposal_id(proposal_id): try: pet = PetModel.get_by_proposal(proposal_id) proposal = ProposalModel.get_by_id(proposal_id) plan = PlanProposalModel.get_by_id(proposal.plan_proposal_id) insured = InsuredModel.get_by_id(pet.insured_id) if pet is None: return {'success': False, 'message': 'Insured not found'} else: return { 'pet': { 'id': pet.id, 'name': pet.name, 'species': pet.species, 'breed': pet.breed, 'size': pet.size, 'weight': pet.weight }, 'proposal_details': { 'id': proposal.id, 'number': proposal.number, 'status': proposal.status, 'created_date': proposal.created_date.strftime("%d/%m/%Y"), 'plan_proposal': { 'id': plan.id, 'name': plan.name, 'desc': plan.desc, 'status': plan.status, 'created_date': plan.created_date.strftime("%d/%m/%Y") } }, 'owner': { 'name': f'{insured.first_name} {insured.last_name}', 'details': f'http://127.0.0.1:8080/api/user/{insured.user_id}' } } except Exception as e: return {"succes": False, "message": f'{e} invalid payload'}
def put(self, id): item = request.get_json() if request.get_json() else request.form try: if item: model = ProposalModel.get_by_id(id) if 'number' in item: model.number = item['number'] if 'plan_proposal_id' in item: model.plan_proposal_id = item['plan_proposal_id'] if 'status' in item: model.status = item['status'] model.save() return 'edited', 200 else: return 'unedited, invalid payload', 400 except Exception as e: return f"{e}",500