Skip to content
Snippets Groups Projects
Verified Commit 96a6ee55 authored by Damien's avatar Damien
Browse files

FEAT Fingerprints

parent bfe56a08
No related branches found
No related tags found
No related merge requests found
......@@ -26,4 +26,4 @@ INSERT INTO status (reference, label) VALUES ('REF', 'Refusé');
/* Tests */
INSERT INTO main_documents (reference, subject, doc_date, status, priority, sender, sender_entity, processing_user, recipient, creation_date) VALUES ('2018/A/1', 'Mon Courrier', CURRENT_TIMESTAMP, 2, 'Urgent', 'Oliver Queen', 'QE', 1, 'Barry Allen', CURRENT_TIMESTAMP);
INSERT INTO adr_main_documents (main_document_id, type, path, filename) VALUES (1, 'DOC', 'tests/', 'test.pdf');
INSERT INTO adr_main_documents (main_document_id, type, path, filename, fingerprint) VALUES (1, 'DOC', 'tests/', 'test.pdf', 'toto');
......@@ -99,7 +99,7 @@ CREATE TABLE adr_main_documents
type character varying(32) NOT NULL,
path character varying(255) NOT NULL,
filename character varying(255) NOT NULL,
fingerprint character varying(255) DEFAULT NULL::character varying,
fingerprint character varying(255) NOT NULL,
CONSTRAINT adr_letterbox_pkey PRIMARY KEY (id),
CONSTRAINT adr_letterbox_unique_key UNIQUE (main_document_id, type)
)
......@@ -113,7 +113,7 @@ CREATE TABLE adr_attachments
type character varying(32) NOT NULL,
path character varying(255) NOT NULL,
filename character varying(255) NOT NULL,
fingerprint character varying(255) DEFAULT NULL::character varying,
fingerprint character varying(255) NOT NULL,
CONSTRAINT adr_attachments_pkey PRIMARY KEY (id),
CONSTRAINT adr_attachments_unique_key UNIQUE (attachment_id, type)
)
......
......@@ -16,6 +16,7 @@ namespace Attachment\controllers;
use Attachment\models\AttachmentModel;
use Convert\models\AdrModel;
use Docserver\controllers\DocserverController;
use Docserver\models\DocserverModel;
use Document\controllers\DocumentController;
use Slim\Http\Request;
......@@ -35,7 +36,7 @@ class AttachmentController
}
$adr = AdrModel::getAttachmentsAdr([
'select' => ['path', 'filename'],
'select' => ['path', 'filename', 'fingerprint'],
'where' => ['attachment_id = ?', 'type = ?'],
'data' => [$args['id'], 'ATTACH']
]);
......@@ -50,7 +51,13 @@ class AttachmentController
return $response->withStatus(404)->withJson(['errors' => 'Attachment not found on docserver']);
}
$attachment['document'] = base64_encode(file_get_contents($pathToDocument));
//TODO Commenté pour tests
// $fingerprint = DocserverController::getFingerPrint(['path' => $pathToDocument]);
// if ($adr[0]['fingerprint'] != $fingerprint) {
// return $response->withStatus(404)->withJson(['errors' => 'Fingerprints do not match']);
// }
$attachment['encodedAttachment'] = base64_encode(file_get_contents($pathToDocument));
return $response->withJson(['attachment' => $attachment]);
}
......
......@@ -16,6 +16,7 @@ namespace Document\controllers;
use Attachment\models\AttachmentModel;
use Convert\models\AdrModel;
use Docserver\controllers\DocserverController;
use Docserver\models\DocserverModel;
use Document\models\DocumentModel;
use Slim\Http\Request;
......@@ -64,7 +65,7 @@ class DocumentController
$document['processingUserDisplay'] = UserModel::getLabelledUserById(['id' => $document['processing_user']]);
$adr = AdrModel::getDocumentsAdr([
'select' => ['path', 'filename'],
'select' => ['path', 'filename', 'fingerprint'],
'where' => ['main_document_id = ?', 'type = ?'],
'data' => [$args['id'], 'DOC']
]);
......@@ -79,7 +80,13 @@ class DocumentController
return $response->withStatus(404)->withJson(['errors' => 'Document not found on docserver']);
}
$document['document'] = base64_encode(file_get_contents($pathToDocument));
//TODO Commenté pour tests
// $fingerprint = DocserverController::getFingerPrint(['path' => $pathToDocument]);
// if ($adr[0]['fingerprint'] != $fingerprint) {
// return $response->withStatus(404)->withJson(['errors' => 'Fingerprints do not match']);
// }
$document['encodedDocument'] = base64_encode(file_get_contents($pathToDocument));
$document['attachments'] = AttachmentModel::getByDocumentId(['select' => ['id'], 'documentId' => $args['id']]);
return $response->withJson(['document' => $document]);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment