IOS-7 Added takenat to documents and uploads.

This commit is contained in:
Patrick Fic
2021-05-19 17:52:24 -07:00
parent a7878243ee
commit fddf75b40b
11 changed files with 221 additions and 4 deletions

View File

@@ -20,6 +20,7 @@
"dinero.js": "^1.8.1",
"dotenv": "^9.0.2",
"env-cmd": "^10.1.0",
"exifr": "^7.0.0",
"firebase": "^8.6.0",
"graphql": "^15.5.0",
"i18next": "^20.2.2",

View File

@@ -5,6 +5,8 @@ import { logImEXEvent } from "../../firebase/firebase.utils";
import { INSERT_NEW_DOCUMENT } from "../../graphql/documents.queries";
import { axiosAuthInterceptorId } from "../../utils/CleanAxios";
import client from "../../utils/GraphQLClient";
import exifr from "exifr";
//Context: currentUserEmail, bodyshop, jobid, invoiceid
//Required to prevent headers from getting set and rejected from Cloudinary.
@@ -85,6 +87,7 @@ export const uploadToCloudinary = async (
if (!!onProgress) onProgress({ percent: (e.loaded / e.total) * 100 });
},
};
const formData = new FormData();
formData.append("file", file);
@@ -122,6 +125,12 @@ export const uploadToCloudinary = async (
}
//Insert the document with the matching key.
let takenat;
if (fileType.includes("image")) {
const exif = await exifr.parse(file);
console.log(`exif`, exif);
takenat = exif && exif.DateTimeOriginal;
}
const documentInsert = await client.mutate({
mutation: INSERT_NEW_DOCUMENT,
variables: {
@@ -135,6 +144,7 @@ export const uploadToCloudinary = async (
extension: extension,
bodyshopid: bodyshop.id,
size: cloudinaryUploadResponse.data.bytes || file.size,
takenat,
},
],
},

View File

@@ -9,15 +9,13 @@ export const GET_DOCUMENTS_BY_JOB = gql`
}
}
}
documents(
order_by: { updated_at: desc }
where: { jobid: { _eq: $jobId } }
) {
documents(order_by: { takenat: desc }, where: { jobid: { _eq: $jobId } }) {
id
name
key
type
size
takenat
bill {
id
invoice_number
@@ -51,6 +49,7 @@ export const INSERT_NEW_DOCUMENT = gql`
name
key
size
takenat
}
}
}
@@ -78,6 +77,7 @@ export const QUERY_TEMPORARY_DOCS = gql`
type
extension
size
takenat
}
}
`;
@@ -94,6 +94,7 @@ export const UPDATE_DOCUMENT = gql`
type
key
size
takenat
}
}
`;

View File

@@ -5696,6 +5696,11 @@ exenv@^1.2.2:
resolved "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz"
integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=
exifr@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/exifr/-/exifr-7.0.0.tgz#065d54639f2999ac901dd8475db99b4d3f31f11e"
integrity sha512-5JRtopcolAfsX4YGcvTkldXyFDC+VPV40DxhSdRvrDr4OJQHtyccNoYl4aRzYBnVVpNueMmenS0KhzLiyNSfEQ==
exit@^0.1.2:
version "0.1.2"
resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"

View File

@@ -0,0 +1,5 @@
- args:
cascade: false
read_only: false
sql: ALTER TABLE "public"."documents" DROP COLUMN "takenat";
type: run_sql

View File

@@ -0,0 +1,5 @@
- args:
cascade: false
read_only: false
sql: ALTER TABLE "public"."documents" ADD COLUMN "takenat" timestamptz NULL;
type: run_sql

View File

@@ -0,0 +1,46 @@
- args:
role: user
table:
name: documents
schema: public
type: drop_insert_permission
- args:
permission:
check:
_or:
- job:
bodyshop:
associations:
_and:
- user:
authid:
_eq: X-Hasura-User-Id
- active:
_eq: true
- bodyshop:
associations:
_and:
- user:
authid:
_eq: X-Hasura-User-Id
- active:
_eq: true
columns:
- billid
- bodyshopid
- created_at
- extension
- id
- jobid
- key
- name
- size
- type
- updated_at
- uploaded_by
set: {}
role: user
table:
name: documents
schema: public
type: create_insert_permission

View File

@@ -0,0 +1,47 @@
- args:
role: user
table:
name: documents
schema: public
type: drop_insert_permission
- args:
permission:
check:
_or:
- job:
bodyshop:
associations:
_and:
- user:
authid:
_eq: X-Hasura-User-Id
- active:
_eq: true
- bodyshop:
associations:
_and:
- user:
authid:
_eq: X-Hasura-User-Id
- active:
_eq: true
columns:
- billid
- bodyshopid
- created_at
- extension
- id
- jobid
- key
- name
- size
- takenat
- type
- updated_at
- uploaded_by
set: {}
role: user
table:
name: documents
schema: public
type: create_insert_permission

View File

@@ -0,0 +1,47 @@
- args:
role: user
table:
name: documents
schema: public
type: drop_select_permission
- args:
permission:
allow_aggregations: true
columns:
- billid
- bodyshopid
- created_at
- extension
- id
- jobid
- key
- name
- size
- type
- updated_at
- uploaded_by
computed_fields: []
filter:
_or:
- job:
bodyshop:
associations:
_and:
- user:
authid:
_eq: X-Hasura-User-Id
- active:
_eq: true
- bodyshop:
associations:
_and:
- user:
authid:
_eq: X-Hasura-User-Id
- active:
_eq: true
role: user
table:
name: documents
schema: public
type: create_select_permission

View File

@@ -0,0 +1,48 @@
- args:
role: user
table:
name: documents
schema: public
type: drop_select_permission
- args:
permission:
allow_aggregations: true
columns:
- billid
- bodyshopid
- created_at
- extension
- id
- jobid
- key
- name
- size
- takenat
- type
- updated_at
- uploaded_by
computed_fields: []
filter:
_or:
- job:
bodyshop:
associations:
_and:
- user:
authid:
_eq: X-Hasura-User-Id
- active:
_eq: true
- bodyshop:
associations:
_and:
- user:
authid:
_eq: X-Hasura-User-Id
- active:
_eq: true
role: user
table:
name: documents
schema: public
type: create_select_permission

View File

@@ -1520,6 +1520,7 @@ tables:
- key
- name
- size
- takenat
- type
- updated_at
- uploaded_by
@@ -1536,6 +1537,7 @@ tables:
- key
- name
- size
- takenat
- type
- updated_at
- uploaded_by