From 1915850a09d49f7e7271b85cf83957859368552c Mon Sep 17 00:00:00 2001 From: vicent Date: Thu, 7 Apr 2022 14:12:56 +0200 Subject: [PATCH 01/12] feat(claim_photo): added videos --- back/methods/dms/uploadFile.js | 2 +- loopback/server/datasources.json | 19 +++++++++++++++++-- modules/claim/back/model-config.json | 3 +++ .../claim/back/models/claim-container.json | 10 ++++++++++ modules/claim/front/photos/index.html | 7 ++++++- modules/claim/front/photos/index.js | 9 ++++++++- modules/claim/front/photos/style.scss | 17 +++++++++++++++++ 7 files changed, 62 insertions(+), 5 deletions(-) create mode 100644 modules/claim/back/models/claim-container.json diff --git a/back/methods/dms/uploadFile.js b/back/methods/dms/uploadFile.js index a4212b804..b20ffa868 100644 --- a/back/methods/dms/uploadFile.js +++ b/back/methods/dms/uploadFile.js @@ -49,7 +49,7 @@ module.exports = Self => { Self.uploadFile = async(ctx, options) => { const models = Self.app.models; const TempContainer = models.TempContainer; - const DmsContainer = models.DmsContainer; + const DmsContainer = models.ClaimContainer; const fileOptions = {}; const args = ctx.args; diff --git a/loopback/server/datasources.json b/loopback/server/datasources.json index 0df03882c..78a4e98c3 100644 --- a/loopback/server/datasources.json +++ b/loopback/server/datasources.json @@ -38,7 +38,8 @@ "multipart/x-zip", "image/png", "image/jpeg", - "image/jpg" + "image/jpg", + "video/mp4" ] }, "dmsStorage": { @@ -58,7 +59,8 @@ "multipart/x-zip", "image/png", "image/jpeg", - "image/jpg" + "image/jpg", + "video/mp4" ] }, "imageStorage": { @@ -83,5 +85,18 @@ "application/octet-stream", "application/pdf" ] + }, + "claimStorage": { + "name": "claimStorage", + "connector": "loopback-component-storage", + "provider": "filesystem", + "root": "./storage/claim", + "maxFileSize": "31457280", + "allowedContentTypes": [ + "image/png", + "image/jpeg", + "image/jpg", + "video/mp4" + ] } } \ No newline at end of file diff --git a/modules/claim/back/model-config.json b/modules/claim/back/model-config.json index 16d34543c..d4d772b58 100644 --- a/modules/claim/back/model-config.json +++ b/modules/claim/back/model-config.json @@ -37,5 +37,8 @@ }, "ClaimLog": { "dataSource": "vn" + }, + "ClaimContainer": { + "dataSource": "claimStorage" } } diff --git a/modules/claim/back/models/claim-container.json b/modules/claim/back/models/claim-container.json new file mode 100644 index 000000000..446be77b9 --- /dev/null +++ b/modules/claim/back/models/claim-container.json @@ -0,0 +1,10 @@ +{ + "name": "ClaimContainer", + "base": "Container", + "acls": [{ + "accessType": "READ", + "principalType": "ROLE", + "principalId": "$everyone", + "permission": "ALLOW" + }] +} \ No newline at end of file diff --git a/modules/claim/front/photos/index.html b/modules/claim/front/photos/index.html index 9cc6c649c..a3288f008 100644 --- a/modules/claim/front/photos/index.html +++ b/modules/claim/front/photos/index.html @@ -1,6 +1,7 @@
+ zoom-image="{{$ctrl.getImagePath(photo.dmsFk)}}" + ng-if="photo.dms.contentType == 'image/jpeg'">
+
Date: Fri, 8 Apr 2022 09:34:46 +0200 Subject: [PATCH 02/12] feat(claim_photo): can upload videos --- back/methods/dms/uploadFile.js | 2 +- loopback/server/datasources.json | 3 +- .../claim/back/methods/claim/downloadFile.js | 59 +++++++++++++++++ .../claim/back/methods/claim/uploadFile.js | 63 ++++++++++++++++++- .../claim/back/models/claim-container.json | 10 --- modules/claim/back/models/claim.js | 1 + modules/claim/front/photos/index.html | 2 +- modules/claim/front/photos/index.js | 6 +- modules/claim/front/photos/locale/es.yml | 6 +- 9 files changed, 130 insertions(+), 22 deletions(-) create mode 100644 modules/claim/back/methods/claim/downloadFile.js delete mode 100644 modules/claim/back/models/claim-container.json diff --git a/back/methods/dms/uploadFile.js b/back/methods/dms/uploadFile.js index b20ffa868..a4212b804 100644 --- a/back/methods/dms/uploadFile.js +++ b/back/methods/dms/uploadFile.js @@ -49,7 +49,7 @@ module.exports = Self => { Self.uploadFile = async(ctx, options) => { const models = Self.app.models; const TempContainer = models.TempContainer; - const DmsContainer = models.ClaimContainer; + const DmsContainer = models.DmsContainer; const fileOptions = {}; const args = ctx.args; diff --git a/loopback/server/datasources.json b/loopback/server/datasources.json index 78a4e98c3..f0940dd81 100644 --- a/loopback/server/datasources.json +++ b/loopback/server/datasources.json @@ -59,8 +59,7 @@ "multipart/x-zip", "image/png", "image/jpeg", - "image/jpg", - "video/mp4" + "image/jpg" ] }, "imageStorage": { diff --git a/modules/claim/back/methods/claim/downloadFile.js b/modules/claim/back/methods/claim/downloadFile.js new file mode 100644 index 000000000..b7af03715 --- /dev/null +++ b/modules/claim/back/methods/claim/downloadFile.js @@ -0,0 +1,59 @@ +const UserError = require('vn-loopback/util/user-error'); + +module.exports = Self => { + Self.remoteMethodCtx('downloadFile', { + description: 'Get the user image', + accessType: 'READ', + accepts: [ + { + arg: 'id', + type: 'Number', + description: 'The document id', + http: {source: 'path'} + } + ], + returns: [ + { + arg: 'body', + type: 'file', + root: true + }, + { + arg: 'Content-Type', + type: 'String', + http: {target: 'header'} + }, + { + arg: 'Content-Disposition', + type: 'String', + http: {target: 'header'} + } + ], + http: { + path: `/:id/downloadFile`, + verb: 'GET' + } + }); + + Self.downloadFile = async function(ctx, id) { + const models = Self.app.models; + const ClaimContainer = models.ClaimContainer; + const dms = await models.Dms.findById(id); + const pathHash = ClaimContainer.getHash(dms.id); + try { + await ClaimContainer.getFile(pathHash, dms.file); + } catch (e) { + if (e.code != 'ENOENT') + throw e; + + const error = new UserError(`File doesn't exists`); + error.statusCode = 404; + + throw error; + } + + const stream = ClaimContainer.downloadStream(pathHash, dms.file); + + return [stream, dms.contentType, `filename="${dms.file}"`]; + }; +}; diff --git a/modules/claim/back/methods/claim/uploadFile.js b/modules/claim/back/methods/claim/uploadFile.js index 81ad40219..263ccff80 100644 --- a/modules/claim/back/methods/claim/uploadFile.js +++ b/modules/claim/back/methods/claim/uploadFile.js @@ -1,3 +1,7 @@ +const UserError = require('vn-loopback/util/user-error'); +const fs = require('fs-extra'); +const path = require('path'); + module.exports = Self => { Self.remoteMethodCtx('uploadFile', { description: 'Upload and attach a document', @@ -65,10 +69,42 @@ module.exports = Self => { } const models = Self.app.models; const promises = []; + const TempContainer = models.TempContainer; + const ClaimContainer = models.ClaimContainer; + const fileOptions = {}; + const args = ctx.args; try { - const uploadedFiles = await models.Dms.uploadFile(ctx, myOptions); - uploadedFiles.forEach(dms => { + const hasWriteRole = await models.DmsType.hasWriteRole(ctx, args.dmsTypeId, myOptions); + if (!hasWriteRole) + throw new UserError(`You don't have enough privileges`); + + // Upload file to temporary path + const tempContainer = await TempContainer.container('dms'); + const uploaded = await TempContainer.upload(tempContainer.name, ctx.req, ctx.result, fileOptions); + const files = Object.values(uploaded.files).map(file => { + return file[0]; + }); + + const addedDms = []; + for (const uploadedFile of files) { + const newDms = await createDms(ctx, uploadedFile, myOptions); + const pathHash = ClaimContainer.getHash(newDms.id); + + const file = await TempContainer.getFile(tempContainer.name, uploadedFile.name); + srcFile = path.join(file.client.root, file.container, file.name); + + const claimContainer = await ClaimContainer.container(pathHash); + const dstFile = path.join(claimContainer.client.root, pathHash, newDms.file); + + await fs.move(srcFile, dstFile, { + overwrite: true + }); + + addedDms.push(newDms); + } + + addedDms.forEach(dms => { const newClaimDms = models.ClaimDms.create({ claimFk: id, dmsFk: dms.id @@ -86,4 +122,27 @@ module.exports = Self => { throw e; } }; + + async function createDms(ctx, file, myOptions) { + const models = Self.app.models; + const myUserId = ctx.req.accessToken.userId; + const args = ctx.args; + + const newDms = await models.Dms.create({ + workerFk: myUserId, + dmsTypeFk: args.dmsTypeId, + companyFk: args.companyId, + warehouseFk: args.warehouseId, + reference: args.reference, + description: args.description, + contentType: file.type, + hasFile: args.hasFile + }, myOptions); + + let fileName = file.name; + const extension = models.DmsContainer.getFileExtension(fileName); + fileName = `${newDms.id}.${extension}`; + + return newDms.updateAttribute('file', fileName, myOptions); + } }; diff --git a/modules/claim/back/models/claim-container.json b/modules/claim/back/models/claim-container.json deleted file mode 100644 index 446be77b9..000000000 --- a/modules/claim/back/models/claim-container.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "ClaimContainer", - "base": "Container", - "acls": [{ - "accessType": "READ", - "principalType": "ROLE", - "principalId": "$everyone", - "permission": "ALLOW" - }] -} \ No newline at end of file diff --git a/modules/claim/back/models/claim.js b/modules/claim/back/models/claim.js index fba11cfb6..18b9b3c87 100644 --- a/modules/claim/back/models/claim.js +++ b/modules/claim/back/models/claim.js @@ -7,4 +7,5 @@ module.exports = Self => { require('../methods/claim/uploadFile')(Self); require('../methods/claim/updateClaimAction')(Self); require('../methods/claim/isEditable')(Self); + require('../methods/claim/downloadFile')(Self); }; diff --git a/modules/claim/front/photos/index.html b/modules/claim/front/photos/index.html index a3288f008..907e0852b 100644 --- a/modules/claim/front/photos/index.html +++ b/modules/claim/front/photos/index.html @@ -40,7 +40,7 @@ diff --git a/modules/claim/front/photos/index.js b/modules/claim/front/photos/index.js index b8d8650af..62e439a91 100644 --- a/modules/claim/front/photos/index.js +++ b/modules/claim/front/photos/index.js @@ -20,7 +20,7 @@ class Controller extends Section { return this.$http.post(`ClaimDms/${dmsFk}/removeFile`) .then(() => { this.$.model.remove(index); - this.vnApp.showSuccess(this.$t('Photo deleted')); + this.vnApp.showSuccess(this.$t('File deleted')); }); } @@ -88,13 +88,13 @@ class Controller extends Section { data: this.dms.files }; this.$http(options).then(() => { - this.vnApp.showSuccess(this.$t('Photo uploaded!')); + this.vnApp.showSuccess(this.$t('File uploaded!')); this.$.model.refresh(); }); } getImagePath(dmsId) { - return this.vnFile.getPath(`/api/claim/${dmsId}/downloadFile`); + return this.vnFile.getPath(`/api/Claims/${dmsId}/downloadFile`); } } diff --git a/modules/claim/front/photos/locale/es.yml b/modules/claim/front/photos/locale/es.yml index 8ccc1dba4..d2ee9ffbd 100644 --- a/modules/claim/front/photos/locale/es.yml +++ b/modules/claim/front/photos/locale/es.yml @@ -1,5 +1,5 @@ Are you sure you want to continue?: ¿Seguro que quieres continuar? Drag & Drop photos here...: Arrastra y suelta fotos aquí... -Photo deleted: Foto eliminada -Photo uploaded!: Foto subida! -Select photo: Seleccionar foto \ No newline at end of file +File deleted: Archivo eliminado +File uploaded!: Archivo subido! +Select file: Seleccionar fichero \ No newline at end of file From ea4266ef8ce9f06b68710d4b3bb4c39b3a7895b7 Mon Sep 17 00:00:00 2001 From: vicent Date: Fri, 8 Apr 2022 12:20:39 +0200 Subject: [PATCH 03/12] feat: add deleteOldFiles --- .../back/methods/claim/deleteOldFiles.js | 61 +++++++++++++++++++ .../claim/back/methods/claim/uploadFile.js | 4 ++ .../claim/back/models/claim-container.json | 10 +++ modules/claim/back/models/claim.js | 1 + 4 files changed, 76 insertions(+) create mode 100644 modules/claim/back/methods/claim/deleteOldFiles.js create mode 100644 modules/claim/back/models/claim-container.json diff --git a/modules/claim/back/methods/claim/deleteOldFiles.js b/modules/claim/back/methods/claim/deleteOldFiles.js new file mode 100644 index 000000000..9a789eeb5 --- /dev/null +++ b/modules/claim/back/methods/claim/deleteOldFiles.js @@ -0,0 +1,61 @@ +const fs = require('fs-extra'); +const path = require('path'); + +module.exports = Self => { + Self.remoteMethodCtx('deleteOldFiles', { + description: 'Upload and attach a document', + accessType: 'WRITE', + returns: { + type: 'object', + root: true + }, + http: { + path: `/deleteOldFiles`, + verb: 'POST' + } + }); + + Self.deleteOldFiles = async options => { + let tx; + const myOptions = {}; + + if (typeof options == 'object') + Object.assign(myOptions, options); + + if (!myOptions.transaction) { + tx = await Self.beginTransaction({}); + myOptions.transaction = tx; + } + + try { + const claimContainer = './storage/claim'; + const folders = fs.readdirSync(claimContainer); + let file; + let srcFile; + + for (let i in folders) { + const srcFoulder = path.join(claimContainer, folders[i]); + [file] = fs.readdirSync(srcFoulder); + if (!file) file = ''; + srcFile = path.join(srcFoulder, file); + const {birthtime} = fs.statSync(srcFile); + const sixMonthsAgo = new Date(); + sixMonthsAgo.setMonth(sixMonthsAgo.getMonth() - 6); + + if (birthtime < sixMonthsAgo) + fs.rmdir(srcFoulder, {recursive: true}); + } + + if (tx) await tx.commit(); + + return claimContainer; + } catch (e) { + if (tx) await tx.rollback(); + + if (fs.existsSync(srcFile)) + await fs.unlink(srcFile); + + throw e; + } + }; +}; diff --git a/modules/claim/back/methods/claim/uploadFile.js b/modules/claim/back/methods/claim/uploadFile.js index 263ccff80..a7951b677 100644 --- a/modules/claim/back/methods/claim/uploadFile.js +++ b/modules/claim/back/methods/claim/uploadFile.js @@ -119,6 +119,10 @@ module.exports = Self => { return resolvedPromises; } catch (e) { if (tx) await tx.rollback(); + + if (fs.existsSync(srcFile)) + await fs.unlink(srcFile); + throw e; } }; diff --git a/modules/claim/back/models/claim-container.json b/modules/claim/back/models/claim-container.json new file mode 100644 index 000000000..446be77b9 --- /dev/null +++ b/modules/claim/back/models/claim-container.json @@ -0,0 +1,10 @@ +{ + "name": "ClaimContainer", + "base": "Container", + "acls": [{ + "accessType": "READ", + "principalType": "ROLE", + "principalId": "$everyone", + "permission": "ALLOW" + }] +} \ No newline at end of file diff --git a/modules/claim/back/models/claim.js b/modules/claim/back/models/claim.js index 18b9b3c87..339eb6051 100644 --- a/modules/claim/back/models/claim.js +++ b/modules/claim/back/models/claim.js @@ -8,4 +8,5 @@ module.exports = Self => { require('../methods/claim/updateClaimAction')(Self); require('../methods/claim/isEditable')(Self); require('../methods/claim/downloadFile')(Self); + require('../methods/claim/deleteOldFiles')(Self); }; From 90b079a0ac89cc1706a3ff90dad9d7b6374fc091 Mon Sep 17 00:00:00 2001 From: vicent Date: Fri, 8 Apr 2022 12:25:06 +0200 Subject: [PATCH 04/12] refactor: description back routes --- modules/claim/back/methods/claim/deleteOldFiles.js | 2 +- modules/claim/back/methods/claim/downloadFile.js | 2 +- modules/claim/back/methods/claim/uploadFile.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/claim/back/methods/claim/deleteOldFiles.js b/modules/claim/back/methods/claim/deleteOldFiles.js index 9a789eeb5..292d980e3 100644 --- a/modules/claim/back/methods/claim/deleteOldFiles.js +++ b/modules/claim/back/methods/claim/deleteOldFiles.js @@ -3,7 +3,7 @@ const path = require('path'); module.exports = Self => { Self.remoteMethodCtx('deleteOldFiles', { - description: 'Upload and attach a document', + description: 'Delete files that are 6 months old from "./storage/claim"', accessType: 'WRITE', returns: { type: 'object', diff --git a/modules/claim/back/methods/claim/downloadFile.js b/modules/claim/back/methods/claim/downloadFile.js index b7af03715..750356b0b 100644 --- a/modules/claim/back/methods/claim/downloadFile.js +++ b/modules/claim/back/methods/claim/downloadFile.js @@ -2,7 +2,7 @@ const UserError = require('vn-loopback/util/user-error'); module.exports = Self => { Self.remoteMethodCtx('downloadFile', { - description: 'Get the user image', + description: 'Get the claim file', accessType: 'READ', accepts: [ { diff --git a/modules/claim/back/methods/claim/uploadFile.js b/modules/claim/back/methods/claim/uploadFile.js index a7951b677..90ab9c078 100644 --- a/modules/claim/back/methods/claim/uploadFile.js +++ b/modules/claim/back/methods/claim/uploadFile.js @@ -4,7 +4,7 @@ const path = require('path'); module.exports = Self => { Self.remoteMethodCtx('uploadFile', { - description: 'Upload and attach a document', + description: 'Upload and attach a file', accessType: 'WRITE', accepts: [{ arg: 'id', From c00be015ab0b814e26f980943dc7d69b9b7cfbdb Mon Sep 17 00:00:00 2001 From: vicent Date: Fri, 8 Apr 2022 13:53:25 +0200 Subject: [PATCH 05/12] feat(claim_photo): add fixtures and backTest --- db/dump/fixtures.sql | 18 ++++++++++++------ .../methods/claim/specs/downloadFile.spec.js | 13 +++++++++++++ .../methods/claim/specs/uploadFile.spec.js | 18 ++++++++++++++++++ modules/claim/back/methods/claim/uploadFile.js | 1 + 4 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 modules/claim/back/methods/claim/specs/downloadFile.spec.js create mode 100644 modules/claim/back/methods/claim/specs/uploadFile.spec.js diff --git a/db/dump/fixtures.sql b/db/dump/fixtures.sql index e8302b1a2..05ca8c512 100644 --- a/db/dump/fixtures.sql +++ b/db/dump/fixtures.sql @@ -2240,13 +2240,19 @@ INSERT INTO `vn`.`dmsType`(`id`, `name`, `path`, `readRoleFk`, `writeRoleFk`, `c INSERT INTO `vn`.`dms`(`id`, `dmsTypeFk`, `file`, `contentType`, `workerFk`, `warehouseFk`, `companyFk`, `hardCopyNumber`, `hasFile`, `reference`, `description`, `created`) VALUES - (1, 14, '1.txt', 'text/plain', 5, 1, 442, NULL, FALSE, 'Ticket:11', 'Ticket:11 dms for the ticket', CURDATE()), - (2, 5, '2.txt', 'text/plain', 5, 1, 442, 1, TRUE, 'Client:104', 'Client:104 dms for the client', CURDATE()), - (3, 5, '3.txt', 'text/plain', 5, 1, 442, NULL, TRUE, 'Client: 104', 'Client:104 readme', CURDATE()), - (4, 3, '4.txt', 'text/plain', 5, 1, 442, NULL, TRUE, 'Worker: 106', 'Worker:106 readme', CURDATE()), - (5, 5, '5.txt', 'text/plain', 5, 1, 442, NULL, TRUE, 'travel: 1', 'dmsForThermograph', CURDATE()), - (6, 5, '6.txt', 'text/plain', 5, 1, 442, NULL, TRUE, 'NotExists', 'DoesNotExists', CURDATE()); + (1, 14, '1.txt', 'text/plain', 5, 1, 442, NULL, FALSE, 'Ticket:11', 'Ticket:11 dms for the ticket', CURDATE()), + (2, 5, '2.txt', 'text/plain', 5, 1, 442, 1, TRUE, 'Client:104', 'Client:104 dms for the client', CURDATE()), + (3, 5, '3.txt', 'text/plain', 5, 1, 442, NULL, TRUE, 'Client: 104', 'Client:104 readme', CURDATE()), + (4, 3, '4.txt', 'text/plain', 5, 1, 442, NULL, TRUE, 'Worker: 106', 'Worker:106 readme', CURDATE()), + (5, 5, '5.txt', 'text/plain', 5, 1, 442, NULL, TRUE, 'travel: 1', 'dmsForThermograph', CURDATE()), + (6, 5, '6.txt', 'text/plain', 5, 1, 442, NULL, TRUE, 'NotExists', 'DoesNotExists', CURDATE()), + (7, 20, '7.jpg', 'image/jpeg', 9, 1, 442, NULL, FALSE, '1', 'TICKET ID DEL CLIENTE BRUCE WAYNE ID 1101', CURDATE()), + (8, 20, '8.mp4', 'video/mp4', 9, 1, 442, NULL, FALSE, '1', 'TICKET ID DEL CLIENTE BRUCE WAYNE ID 1101', CURDATE()); +INSERT INTO `vn`.`claimDms`(`claimFk`, `dmsFk`) + VALUES + (1, 7), + (1, 8); INSERT INTO `vn`.`ticketDms`(`ticketFk`, `dmsFk`) VALUES diff --git a/modules/claim/back/methods/claim/specs/downloadFile.spec.js b/modules/claim/back/methods/claim/specs/downloadFile.spec.js new file mode 100644 index 000000000..44a54db63 --- /dev/null +++ b/modules/claim/back/methods/claim/specs/downloadFile.spec.js @@ -0,0 +1,13 @@ +const app = require('vn-loopback/server/server'); + +describe('claim downloadFile()', () => { + let dmsId = 7; + + it('should return a response for an employee with image content-type', async() => { + let workerId = 1107; + let ctx = {req: {accessToken: {userId: workerId}}}; + const result = await app.models.Claim.downloadFile(ctx, dmsId); + + expect(result[1]).toEqual('image/jpeg'); + }); +}); diff --git a/modules/claim/back/methods/claim/specs/uploadFile.spec.js b/modules/claim/back/methods/claim/specs/uploadFile.spec.js new file mode 100644 index 000000000..02852ed80 --- /dev/null +++ b/modules/claim/back/methods/claim/specs/uploadFile.spec.js @@ -0,0 +1,18 @@ +const app = require('vn-loopback/server/server'); + +describe('claim uploadFile()', () => { + it(`should return an error for a user without enough privileges`, async() => { + let clientId = 1101; + let ticketDmsTypeId = 14; + let ctx = {req: {accessToken: {userId: clientId}}, args: {dmsTypeId: ticketDmsTypeId}}; + + let error; + await app.models.Claim.uploadFile(ctx).catch(e => { + error = e; + }).finally(() => { + expect(error.message).toEqual(`You don't have enough privileges`); + }); + + expect(error).toBeDefined(); + }); +}); diff --git a/modules/claim/back/methods/claim/uploadFile.js b/modules/claim/back/methods/claim/uploadFile.js index 90ab9c078..e5071afaa 100644 --- a/modules/claim/back/methods/claim/uploadFile.js +++ b/modules/claim/back/methods/claim/uploadFile.js @@ -74,6 +74,7 @@ module.exports = Self => { const fileOptions = {}; const args = ctx.args; + let srcFile; try { const hasWriteRole = await models.DmsType.hasWriteRole(ctx, args.dmsTypeId, myOptions); if (!hasWriteRole) From 20494e8c0b515084db57b583388135878e6a2b21 Mon Sep 17 00:00:00 2001 From: vicent Date: Fri, 8 Apr 2022 13:53:56 +0200 Subject: [PATCH 06/12] feat(claim_photos): add files in storage/claim --- storage/claim/8f1/7.jpg | Bin 0 -> 249806 bytes storage/claim/c9f/8.mp4 | Bin 0 -> 1570024 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 storage/claim/8f1/7.jpg create mode 100644 storage/claim/c9f/8.mp4 diff --git a/storage/claim/8f1/7.jpg b/storage/claim/8f1/7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..421dde8f538663c9f18d4303b3177d10ceba7e97 GIT binary patch literal 249806 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
-
Date: Mon, 11 Apr 2022 07:58:23 +0200 Subject: [PATCH 08/12] fix(claim_photos): consider other image types in html --- modules/claim/front/photos/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/claim/front/photos/index.html b/modules/claim/front/photos/index.html index 90691a95d..9e00ee02f 100644 --- a/modules/claim/front/photos/index.html +++ b/modules/claim/front/photos/index.html @@ -16,7 +16,7 @@
+ ng-if="photo.dms.contentType != 'video/mp4'">