From f286d44353963f64bc75430381ac99ad696a3848 Mon Sep 17 00:00:00 2001 From: seaznCode Date: Wed, 14 Jan 2026 16:57:26 +0100 Subject: [PATCH] feat: add signatureBase64 to document insertion and implement deletion of signature documents for user --- .../documents/UserDocumentRepository.js | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/repositories/documents/UserDocumentRepository.js b/repositories/documents/UserDocumentRepository.js index a578ce4..b589494 100644 --- a/repositories/documents/UserDocumentRepository.js +++ b/repositories/documents/UserDocumentRepository.js @@ -10,6 +10,7 @@ class UserDocumentRepository { documentType, contractType = 'contract', objectStorageId, + signatureBase64 = null, originalFilename, fileSize, mimeType @@ -18,9 +19,9 @@ class UserDocumentRepository { const conn = this.unitOfWork.connection; const query = ` INSERT INTO user_documents ( - user_id, document_type, contract_type, object_storage_id, + user_id, document_type, contract_type, object_storage_id, signatureBase64, original_filename, file_size, mime_type - ) VALUES (?, ?, ?, ?, ?, ?, ?) + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?) `; try { const [result] = await conn.query(query, [ @@ -28,6 +29,7 @@ class UserDocumentRepository { documentType, contractType, objectStorageId, + signatureBase64, originalFilename, fileSize, mimeType @@ -147,6 +149,22 @@ class UserDocumentRepository { throw error; } } + + async deleteSignatureDocumentsForUser(userId) { + logger.info('UserDocumentRepository.deleteSignatureDocumentsForUser:start', { userId }); + const conn = this.unitOfWork.connection; + try { + const [result] = await conn.query( + `DELETE FROM user_documents WHERE user_id = ? AND document_type = 'signature'`, + [userId] + ); + logger.info('UserDocumentRepository.deleteSignatureDocumentsForUser:success', { userId, affectedRows: result.affectedRows }); + return result.affectedRows; + } catch (error) { + logger.error('UserDocumentRepository.deleteSignatureDocumentsForUser:error', { userId, error: error.message }); + throw error; + } + } } module.exports = UserDocumentRepository;