def delete(self, id): try: phones = PhoneModel.get_by_user_id(id) user = UserModel.get_by_id(id) if user: if user.type_user == "insured": response = delete_insured(user.id) elif user.type_user == "provider": response = delete_provider(user.id) else: response = delete_collaborator(user.id) if response["success"]: for phone in phones: phone.delete() user.delete() else: return 'User no deleted', 500 else: return 'User not found', 404 return 'No Content', 204 except Exception as e: return f"{e}", 500
def update_phone(item, user): try: if item: phone = PhoneModel.get_by_phone(item['phone_original']['phone']) if 'phone' in item['phone_edited']: phone.phone = item['phone_edited']['phone'] if 'webphone' in item['phone_edited']: phone.webphone = item['phone_edited']['webphone'] if 'branch_line' in item['phone_edited']: phone.branch_line = item['phone_edited']['branch_line'] if 'status' in item['phone_edited']: phone.status = item['phone_edited']['status'] if 'user_id' in item['phone_edited']: phone.user_id = item['phone_edited']['user_id'] phone.save() return {"success": True, "message": 'Phone edited'} else: return { "success": False, "message": 'Not edited phone, invalid payload' } except Exception as e: return { "success": False, "message": f'{e} invalid payload', 'type_error': 'phone/utils' }
def put(self, id): item = request.get_json() if request.get_json() else request.form try: if item: model = PhoneModel.get_by_id(id) if 'phone' in item: model.phone = item['phone'] if 'webphone' in item: model.webphone = item['webphone'] if 'branch_line' in item: model.branch_line = item['branch_line'] if 'status' in item: model.status = item['status'] if 'user_id' in item: model.user_id = item['user_id'] model.save() return 'edited', 200 else: return 'unedited, invalid payload', 400 except Exception as e: return f"{e}", 500
def delete(self, id): try: phone = PhoneModel.get_by_id(id) phone.delete() return 'No Content', 204 except Exception as e: return f"{e}", 500
def insert_into_phone(item, user_inserted): try: model = PhoneModel() model.phone = item['phone'] model.webphone = item['webphone'] model.branch_line = item['branch_line'] model.status = item['status'] model.user_id = user_inserted.id model.created_date = date.today() model.save() return 201, 'created' except Exception as e: return { "succes": False, "message": f'{e} invalid payload', 'type_error': 'phone/utils' }
def post(self): item = request.get_json() if request.get_json() else request.form try: if item: model = PhoneModel() model.phone = item['phone'] model.webphone = item['webphone'] model.branch_line = item['branch_line'] model.status = item['status'] model.user_id = item['user_id'] model.created_date = date.today() model.save() return 'created', 201 else: return 'not created, invalid payload', 400 except Exception as e: return f"{e}", 500
def _list_phone(self): phone = PhoneModel.list_all() return list( map( lambda phone: { 'id': phone.id, 'phone': phone.phone, 'webphone': phone.webphone, 'branch_line': phone.branch_line, 'status': phone.status, 'owner': select_user_by_id(phone.user_id) }, phone))
def select_phone_by_id(id): phone = PhoneModel.get_by_id(id) if phone is None: return {'message': 'Phone not found'}, 404 return { 'id': phone.id, 'phone': phone.phone, 'webphone': phone.webphone, 'branch_line': phone.branch_line, 'status': phone.status, 'user_id': phone.user_id, 'created_date': phone.created_date.strftime("%d/%m/%Y") }
def select_phone_by_user_id(id): phone = PhoneModel.get_by_user_id(id) if phone is None: return {'message': 'Phone not found'}, 404 return list( map( lambda phone: { 'id': phone.id, 'phone': phone.phone, 'webphone': phone.webphone, 'branch_line': phone.branch_line, 'status': phone.status, # 'owner':select_user_by_id(phone.user_id) }, phone))
def select_insured_by_policy_id(policy_id): try: phone = PhoneModel.get_by_user_id(user_id) insured = InsuredModel.get_by_policy_id(policy_id) if insured is None: return {'success': False, 'message': 'Insured not found'} else: return { 'id': insured.id, 'first_name': insured.first_name, 'last_name': insured.last_name, 'cpf': insured.cpf, 'phone': phone } except Exception as e: return {"succes": False, "message": f'{e} invalid payload'}