def _create_dummy_signature():
    serializer = SignatureSerializer(
            data={
                'given_name': 'John', 'paternal_name': 'Doe',
                'maternal_name': 'Doe', 'birth_date': '1982-01-01',
                'paternal_maternal_name': 'Foe', 'loan_amount': '1000',
                'contract_number': 'N18391', 'request_date': '2015-06-06',
                'contract': 'http://domain.com/contract'
            }
        )
    serializer.is_valid()
    return serializer.save()
def sign_contract(request):
    serializer = SignatureSerializer(
        data=request.data, context={'request': request}
    )
    if not serializer.is_valid():
        return Response(
            data=serializer.errors, status=status.HTTP_400_BAD_REQUEST
        )

    serializer.save()
    return Response(
        status=status.HTTP_201_CREATED
    )
def verify_signature(request):
    serializer = SignatureSerializer(
        data=request.data, context={'request': request}
    )
    if not serializer.is_valid():
        return Response(
            data=serializer.errors, status=status.HTTP_400_BAD_REQUEST
        )

    instance = Signature.objects.filter(
        contract_number=request.data['contract_number']
    ).latest('created')
    serializer = SignatureSerializer(data=request.data)
    if not serializer.is_valid():
        return Response(
            data=serializer.errors, status=status.HTTP_400_BAD_REQUEST
        )
    valid = instance.verify_signature(**serializer.validated_data)
    return Response(
        status=status.HTTP_200_OK,
        data={'passed-verification': valid}
    )