コード例 #1
0
ファイル: insured.py プロジェクト: andersonOSilva/secureDisk
def insert_into_insured(item, user):
    try:

        if item:
            # cria a apolice no banco e busca seu id
            insert_into_policy(item['policy'])
            policy = PolicyModel.get_by_number(item['policy']['number'])

            insured_validate(item)
            insured = InsuredModel()
            insured.first_name = item['first_name']
            insured.last_name = item['last_name']
            insured.cpf = item['cpf']
            insured.password = item['password']
            insured.user_id = user.id
            insured.policy_id = policy.id
            insured.save()

            return {"succes": True, "message": 'Insured created'}
        else:
            user.delete()
            policy.delete()
            return {
                "succes": False,
                "message": 'Not created insured, invalid payload'
            }

    except Exception as e:
        user.delete()
        return {
            "succes": False,
            "message": f'{e} invalid payload',
            'type_error': 'insured/utils'
        }
コード例 #2
0
ファイル: insured.py プロジェクト: andersonOSilva/secureDisk
def select_insured_by_user_id(user_id):
    try:
        # phone = PhoneModel.get_by_user_id(user_id)
        insured = InsuredModel.get_by_user_id(user_id)
        insured_policy = PolicyModel.get_by_id(insured.policy_id)

        policy = {
            'id': insured_policy.id,
            'number': insured_policy.number,
            'status': insured_policy.status,
            'created_date': insured_policy.created_date.strftime("%d/%m/%Y"),
            'plan': select_plan_policy_by_id(insured_policy.plan_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': select_phone_by_user_id(user_id),
                'policy': policy
            }

    except Exception as e:
        return {"succes": False, "message": f'{e} invalid payload'}
コード例 #3
0
ファイル: policy.py プロジェクト: andersonOSilva/secureDisk
 def delete(self,id):
     try:
         policy = PolicyModel.get_by_id(id)
         policy.delete()
         return 'No Content', 204
     except Exception as e:
         return f"{e}", 500
コード例 #4
0
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument('policy_name',
                            type=str,
                            required=True,
                            help='policy name required')
        parser.add_argument('customer_id',
                            type=str,
                            required=True,
                            help='customer id required')
        parser.add_argument('expiry_date',
                            type=str,
                            required=True,
                            help='expiry date required')
        parser.add_argument('payment_status',
                            type=str,
                            required=True,
                            help='payment status required')
        parser.add_argument('payment_due_date',
                            type=str,
                            required=True,
                            help='payment due date required')
        parser.add_argument('due_amount',
                            type=str,
                            required=True,
                            help='due amount required')
        parser.add_argument('policy_value',
                            type=str,
                            required=True,
                            help='policy value required')
        data = parser.parse_args()
        d, m, y = data['payment_due_date'].split('-')
        payment_due_date = datetime(int(y), int(m), int(d))
        dd, mm, yy = data['expiry_date'].split('-')
        print('d', d, m, y, payment_due_date)
        expiry_date = datetime(int(yy), int(mm), int(dd))
        print('dd', dd, mm, yy, expiry_date)

        policy = PolicyModel(policy_name=data['policy_name'],
                             customer_id=data['customer_id'],
                             expiry_date=expiry_date,
                             payment_status=data['payment_status'],
                             payment_due_date=payment_due_date,
                             due_amount=data['due_amount'],
                             policy_value=data['policy_value'])
        policy.save_to_db()
        return {'policy': policy.json()}, 201
コード例 #5
0
ファイル: policy.py プロジェクト: andersonOSilva/secureDisk
    def _list_policy(self):
        policy = PolicyModel.list_all()
        return list(map(lambda policy:{
            'id':policy.id,
            'number':policy.number,
            'status':policy.status
            

        },policy))
コード例 #6
0
ファイル: policy.py プロジェクト: andersonOSilva/secureDisk
    def _get_policy(self, id):
        
        policy = PolicyModel.get_by_id(id)
        
        if policy is None:
            return {'message': 'Policy not found'}, 404

        return {
            'id':policy.id,
            'number':policy.number,
            'status':policy.status,
            'created_date':policy.created_date.strftime("%d/%m/%Y"),
            'owner':select_insured_by_policy_id(id),
            'plan_policy':select_plan_policy_by_id(policy.plan_policy_id)
        }
コード例 #7
0
ファイル: policy.py プロジェクト: andersonOSilva/secureDisk
def insert_into_policy(item):
    try:
        if item:
            model = PolicyModel()
            model.number = item['number']
            model.plan_policy_id = item['plan_policy_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
コード例 #8
0
def select_emergency_insured_by_policy(policy_number):
    policy = PolicyModel.get_by_number(policy_number)
    emergency = EmergencyInsuredModel.get_by_policy(policy.id)

    insured = InsuredModel.get_by_policy_id(emergency.policy_id)
    if emergency.provider_id != 0:

        provider = ProviderModel.get_by_id(emergency.provider_id)
        provider_associated = {
            'id':
            provider.id,
            'fantasy_name':
            provider.fantasy_name,
            'provider_details':
            f'http://127.0.0.1:8080/api/user/{provider.user_id}'
        }
    else:
        provider_associated = ''

    insured_pacient = {
        'id': insured.id,
        'first_name': insured.first_name,
        'last_name': insured.last_name,
        'cpf': insured.cpf,
        'policy': {
            'id': policy.id,
            'number': policy.number,
            'status': policy.status,
            'created_date': policy.created_date.strftime("%d/%m/%Y"),
            'plan': select_plan_policy_by_id(policy.plan_policy_id)
        }
    }

    return {
        'id': emergency.id,
        'label': emergency.label,
        'call_type': emergency.call_type,
        'call': emergency.call,
        'latitude': emergency.latitude,
        'longitude': emergency.longitude,
        'status_emergency': emergency.status,
        'created_date': emergency.created_date.strftime("%d/%m/%Y"),
        'provider': provider_associated,
        'insured_pacient': insured_pacient
    }
コード例 #9
0
ファイル: policy.py プロジェクト: andersonOSilva/secureDisk
    def post(self):
        item = request.get_json() if request.get_json() else request.form

        try:
            if item:
                model = PolicyModel()
                model.number = item['number'] 
                model.plan_policy_id = item['plan_policy_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
コード例 #10
0
ファイル: insured.py プロジェクト: andersonOSilva/secureDisk
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}"}
コード例 #11
0
ファイル: policy.py プロジェクト: andersonOSilva/secureDisk
    def put(self, id):
        item = request.get_json() if request.get_json() else request.form

        try:

            if item:
                model = PolicyModel.get_by_id(id)
                
                if 'number' in item:
                    model.number = item['number']
                if 'plan_policy_id' in item:
                    model.plan_policy_id = item['plan_policy_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
コード例 #12
0
def select_emergency_insured_by_id(id_emergency):
    emergency = EmergencyInsuredModel.get_by_id(id_emergency)
    provider = ProviderModel.get_by_id(emergency.provider_id)
    insured = InsuredModel.get_by_proposal(emergency.policy_id)
    policy = PolicyModel.get_by_id(emergency.policy_id)

    insured_pacient = {
        'id': insured.id,
        'first_name': insured.first_name,
        'last_name': insured.last_name,
        'cpf': insured.cpf,
        'policy': {
            'id': policy.id,
            'number': policy.number,
            'status': policy.status,
            'created_date': policy.created_date.strftime("%d/%m/%Y"),
            'plan': select_plan_policy_by_id(policy.plan_policy_id)
        }
    }
    provider_associated = {
        'id': provider.id,
        'fantasy_name': provider.fantasy_name,
        'provider_details':
        f'http://127.0.0.1:8080/api/user/{provider.user_id}'
    }

    return {
        'id': emergency.id,
        'name': emergency.name,
        'date': emergency.date,
        'time': emergency.time,
        'email': emergency.email,
        'status_emergency': emergency.status,
        'created_date': emergency.created_date.strftime("%d/%m/%Y"),
        'provider': provider_associated,
        'insured_pacient': insured_pacient
    }
コード例 #13
0
ファイル: app.py プロジェクト: Madhupreethajkp/updatedMC1
def delete_policy(policy_name):
    policy = PolicyModel.find_by_policy_name(policy_name)
    if policy:
        policy.delete_to_db()
        return {'message': 'policy deleted.'}
    return {'message': 'policy not found.'}, 404
コード例 #14
0
 def get_years(self, duration_in_years):
     policy = PolicyModel.find_by_years(duration_in_years)
     if policy:
         return policy.json()
     return {'message': 'policy not found'}, 404
コード例 #15
0
 def get_type(self, policy_id):
     policy = PolicyModel.find_by_policy_id(policy_id)
     if policy:
         return policy.json()
     return {'message': 'policy not found'}, 404
コード例 #16
0
 def get(self, company_name):
     policy = PolicyModel.find_by_company_name(company_name)
     if policy:
         return policy.json()
     return {'message': 'policy not found'}, 404