Browse Source

Merge pull request #112 from bcgov/DIV-1146

DIV-1146 & DIV-1120 - Hooked up removeFile and saveMetadata APIs
pull/170/head
Michael Olund 5 years ago
committed by GitHub
parent
commit
c45871566e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 64 additions and 5 deletions
  1. +1
    -1
      edivorce/apps/core/urls.py
  2. +13
    -1
      edivorce/apps/core/views/api.py
  3. +0
    -0
      edivorce/apps/poc/models.py
  4. +3
    -2
      edivorce/urls.py
  5. +27
    -0
      vue/package-lock.json
  6. +1
    -0
      vue/package.json
  7. +19
    -1
      vue/src/components/Uploader/Uploader.vue

+ 1
- 1
edivorce/apps/core/urls.py View File

@ -8,7 +8,7 @@ urlpatterns = [
url(r'^api/response$', api.UserResponseHandler.as_view()), url(r'^api/response$', api.UserResponseHandler.as_view()),
url(r'^api/documents/$', api.DocumentCreateView.as_view(), name='documents'), url(r'^api/documents/$', api.DocumentCreateView.as_view(), name='documents'),
path('api/documents/<doc_type>/<int:party_code>/', api.DocumentMetaDataView.as_view(), name='documents-meta'), path('api/documents/<doc_type>/<int:party_code>/', api.DocumentMetaDataView.as_view(), name='documents-meta'),
path('api/documents/<doc_type>/<int:party_code>/<filename>/<int:size>/', api.DocumentView.as_view(), name='document'),
path('api/documents/<doc_type>/<int:party_code>/<int:size>/<filename>', api.DocumentView.as_view(), name='document'),
# url(r'^login/headers$', system.headers), # url(r'^login/headers$', system.headers),


+ 13
- 1
edivorce/apps/core/views/api.py View File

@ -6,6 +6,7 @@ from rest_framework import permissions, status
from rest_framework.generics import CreateAPIView, ListAPIView, RetrieveUpdateDestroyAPIView from rest_framework.generics import CreateAPIView, ListAPIView, RetrieveUpdateDestroyAPIView
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework.response import Response from rest_framework.response import Response
from os.path import splitext
from ..models import Document, Question from ..models import Document, Question
from ..serializer import CreateDocumentSerializer, DocumentMetadataSerializer, UserResponseSerializer from ..serializer import CreateDocumentSerializer, DocumentMetadataSerializer, UserResponseSerializer
@ -80,7 +81,18 @@ class DocumentView(RetrieveUpdateDestroyAPIView):
def retrieve(self, request, *args, **kwargs): def retrieve(self, request, *args, **kwargs):
""" Return the file instead of meta data """ """ Return the file instead of meta data """
doc = self.get_object() doc = self.get_object()
content_type = 'application/pdf' if 'pdf' in doc.filename else 'image/jpeg'
# Get the content-type based on the file extension
content_types = {
".pdf": "application/pdf",
".gif": "image/gif",
".png": "image/png",
".jpe": "image/jpeg",
".jpg": "image/jpeg",
".jpeg": "image/jpeg"
}
_, extension = splitext(doc.filename.lower())
content_type = content_types[extension]
# If file doesn't exist anymore, delete it # If file doesn't exist anymore, delete it
try: try:


+ 0
- 0
edivorce/apps/poc/models.py View File


+ 3
- 2
edivorce/urls.py View File

@ -2,6 +2,7 @@ from django.conf import settings
from django.conf.urls import include, url from django.conf.urls import include, url
from django.contrib import admin from django.contrib import admin
from django.urls import path from django.urls import path
from django.views.decorators.csrf import csrf_exempt
from graphene_django.views import GraphQLView from graphene_django.views import GraphQLView
from .apps.core.views import main from .apps.core.views import main
@ -12,9 +13,9 @@ if settings.ENVIRONMENT in ['localdev', 'dev', 'test', 'minishift']:
import debug_toolbar import debug_toolbar
urlpatterns.append(url(r'^__debug__/', include(debug_toolbar.urls)),) urlpatterns.append(url(r'^__debug__/', include(debug_toolbar.urls)),)
urlpatterns.append(url(r'^poc/', include('edivorce.apps.poc.urls'))) urlpatterns.append(url(r'^poc/', include('edivorce.apps.poc.urls')))
urlpatterns.append(path('api/graphql/', GraphQLView.as_view(graphiql=True))),
urlpatterns.append(path('api/graphql/', csrf_exempt(GraphQLView.as_view(graphiql=True))))
else: else:
urlpatterns.append(path('api/graphql/', GraphQLView.as_view(graphiql=False))),
urlpatterns.append(path('api/graphql/', csrf_exempt(GraphQLView.as_view(graphiql=False))))
if settings.ENVIRONMENT in ['localdev', 'minishift']: if settings.ENVIRONMENT in ['localdev', 'minishift']:
urlpatterns.append(url(r'^admin/', admin.site.urls)) urlpatterns.append(url(r'^admin/', admin.site.urls))


+ 27
- 0
vue/package-lock.json View File

@ -5376,6 +5376,11 @@
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true "dev": true
}, },
"get-own-enumerable-property-symbols": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
"integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g=="
},
"get-stdin": { "get-stdin": {
"version": "4.0.1", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
@ -6319,6 +6324,11 @@
"has-symbols": "^1.0.1" "has-symbols": "^1.0.1"
} }
}, },
"is-regexp": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
"integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk="
},
"is-resolvable": { "is-resolvable": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
@ -10150,6 +10160,23 @@
"safe-buffer": "~5.1.0" "safe-buffer": "~5.1.0"
} }
}, },
"stringify-object": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
"integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
"requires": {
"get-own-enumerable-property-symbols": "^3.0.0",
"is-obj": "^1.0.1",
"is-regexp": "^1.0.0"
},
"dependencies": {
"is-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
}
}
},
"strip-ansi": { "strip-ansi": {
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",


+ 1
- 0
vue/package.json View File

@ -9,6 +9,7 @@
"dependencies": { "dependencies": {
"axios": "^0.20.0", "axios": "^0.20.0",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"stringify-object": "^3.3.0",
"uiv": "^0.36.1", "uiv": "^0.36.1",
"vue": "^2.6.11", "vue": "^2.6.11",
"vue-upload-component": "^2.8.20" "vue-upload-component": "^2.8.20"


+ 19
- 1
vue/src/components/Uploader/Uploader.vue View File

@ -90,6 +90,7 @@ import ItemTile from './ItemTile'
import FormDefinitions from "../../utils/forms"; import FormDefinitions from "../../utils/forms";
import rotateFix from '../../utils/rotation'; import rotateFix from '../../utils/rotation';
import axios from 'axios'; import axios from 'axios';
import graphQLStringify from 'stringify-object';
export default { export default {
props: { props: {
@ -310,7 +311,24 @@ export default {
partyCode: this.party, partyCode: this.party,
files: allFiles files: allFiles
}; };
console.log('Call API', data);
const graphQLData = graphQLStringify(data,{singleQuotes: false, inlineCharacterLimit: 99999});
console.log('Call API', graphQLData);
const url = `${this.$parent.proxyRootPath}api/graphql/`;
axios.post(url, {
query: `
mutation updateMetadata {
updateMetadata(input:${graphQLData}){
documents{filename size rotation}
}
}
`})
.then(response => {
console.log('response', response);
})
.catch((error) => {
this.showError('Error saving metadata');
console.log('error', error);
});
} }
}, },
created() { created() {


Loading…
Cancel
Save