Esempio n. 1
0
    def post(self):
        item = request.get_json() if request.get_json() else request.form

        try:
            if item:

                insert_into_proposal(item['proposal'])
                proposal = ProposalModel.get_by_number(
                    item['proposal']['number'])

                model = PetModel()
                model.name = item['name']
                model.species = item['species']
                model.breed = item['breed']
                model.size = item['size']
                model.weight = item['weight']
                model.insured_id = item['insured_id']
                model.proposal_id = proposal.id
                model.created_date = date.today()
                model.save()

                return 'created', 201
            else:
                proposal.delete()
                return 'not created, invalid payload', 400
        except Exception as e:
            return f"{e}", 500
Esempio n. 2
0
def select_emergency_pet_by_proposal(proposal_number):
    proposal = ProposalModel.get_by_number(proposal_number)
    emergency = EmergencyPetModel.get_by_proposal(proposal.id)
    pet = PetModel.get_by_proposal(emergency.proposal_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': pet.id,
        'name': pet.name,
        'species': pet.species,
        'breed': pet.breed,
        'size': pet.size,
        'weight': pet.weight,
        'proposal': {
            'id': proposal.id,
            'number': proposal.number,
            'status': proposal.status,
            'created_date': proposal.created_date.strftime("%d/%m/%Y"),
            'plan': select_plan_proposal_by_id(proposal.plan_proposal_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
    }