From f200cf2431edb88cde238c09a187f7c78eb855ac Mon Sep 17 00:00:00 2001 From: Michael Olund Date: Wed, 7 Oct 2020 14:13:07 -0700 Subject: [PATCH 1/2] Updated NGINX file size limit for uploads --- openshift/templates/nginx-proxy/conf.d/server.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/openshift/templates/nginx-proxy/conf.d/server.conf b/openshift/templates/nginx-proxy/conf.d/server.conf index cd76a7ab..341054c8 100644 --- a/openshift/templates/nginx-proxy/conf.d/server.conf +++ b/openshift/templates/nginx-proxy/conf.d/server.conf @@ -16,6 +16,8 @@ server { gzip_proxied any; gzip_vary on; + client_max_body_size 12M; + # default path location / { proxy_pass http://edivorce-django:8080; From d2916dceb5fc783f00cb858478ef2e0052134840 Mon Sep 17 00:00:00 2001 From: Michael Olund Date: Wed, 7 Oct 2020 16:54:27 -0700 Subject: [PATCH 2/2] DIV-1001 - Hook up virus scanner to file upload --- edivorce/apps/core/serializer.py | 4 +++- vue/src/components/Uploader/Uploader.vue | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/edivorce/apps/core/serializer.py b/edivorce/apps/core/serializer.py index c756d1f3..2b9f048f 100644 --- a/edivorce/apps/core/serializer.py +++ b/edivorce/apps/core/serializer.py @@ -3,6 +3,7 @@ from rest_framework import serializers from rest_framework.exceptions import ValidationError from .models import Document, UserResponse +from .validators import file_scan_validation class UserResponseSerializer(serializers.ModelSerializer): @@ -38,7 +39,8 @@ def valid_doc_type(value): class CreateDocumentSerializer(serializers.ModelSerializer): doc_type = serializers.CharField(required=True, validators=[valid_doc_type]) party_code = serializers.IntegerField(min_value=0, max_value=2, required=True) - file = serializers.FileField(required=True, validators=[valid_file_extension]) + file = serializers.FileField(required=True, + validators=[valid_file_extension, file_scan_validation]) filename = serializers.CharField(read_only=True) size = serializers.IntegerField(read_only=True) rotation = serializers.IntegerField(read_only=True) diff --git a/vue/src/components/Uploader/Uploader.vue b/vue/src/components/Uploader/Uploader.vue index c1a54d8c..8eccd742 100644 --- a/vue/src/components/Uploader/Uploader.vue +++ b/vue/src/components/Uploader/Uploader.vue @@ -194,7 +194,11 @@ const statusCode = newFile.xhr.status; if (statusCode === 400) { // 400 validation error: show the message returned by the server - const message = JSON.parse(newFile.xhr.responseText)[0]; + let message = newFile.xhr.responseText; + const response = JSON.parse(message); + if (response.file) { + message = response.file[0]; + } this.showError(message); this.$refs.upload.remove(newFile); } else if (statusCode === 403) {