VSN-2097/ feat: add toggle-archive and transmit document endpoints
The changes includes in this MR are as follows :
-
Add POST /api/document/docs/toggle-archiveendpoint with ownerUuid validation -
POST /api/document/docs/toggle-shared-bo— mark a document as transmitted to the administration - Add DOCUMENT_ID_REQUIRED and OWNER_UUID_REQUIRED to MessageConstants.
Qualité
- DRY : méthodes privées toggleDocumentBooleanFieldById/ByUuid + applyToggleAndSave avec BiConsumer/Function
- DTOs : ToggleDocumentRequest (@RequestBody @Valid) et ToggleDocumentByUuidRequest — remplacement des @RequestParam
- Validation : documentId > 0, format UUID via UUID.fromString(), @NotBlank/@NotNull/@Positive
- Verrouillage optimiste : @Version sur Document + catch OptimisticLockingFailureException
- Fix doublon upload : nom de fichier cohérent dans la vérification de doublon (request.getName() prioritaire)
- Logs : passage log.info → log.debug sur les opérations toggle
- JavaDoc sur toutes les méthodes toggle publiques et privées
- Swagger : @Operation + @ApiResponses sur les endpoints toggle
Note: Migration faite -> ALTER TABLE documents ADD COLUMN version BIGINT DEFAULT 0;