You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2024/03/21 06:41:08 UTC

(james-project) 02/04: JAMES-2586 JMAP Upload - fix precision of uploadDate field

This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch postgresql
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 90cf6e09fabe8b7bc484bde1ce49cce80a6a7612
Author: vttran <vt...@linagora.com>
AuthorDate: Thu Mar 21 08:36:35 2024 +0700

    JAMES-2586 JMAP Upload - fix precision of uploadDate field
---
 .../jmap/postgres/upload/PostgresUploadDAO.java    | 23 ++++++++++++++--------
 .../postgres/upload/PostgresUploadRepository.java  |  3 +--
 2 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/upload/PostgresUploadDAO.java b/server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/upload/PostgresUploadDAO.java
index 1c493702a1..fc24129e10 100644
--- a/server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/upload/PostgresUploadDAO.java
+++ b/server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/upload/PostgresUploadDAO.java
@@ -71,14 +71,21 @@ public class PostgresUploadDAO {
         this.blobIdFactory = blobIdFactory;
     }
 
-    public Mono<Void> insert(UploadMetaData upload, Username user) {
-        return postgresExecutor.executeVoid(dslContext -> Mono.from(dslContext.insertInto(PostgresUploadTable.TABLE_NAME)
-            .set(PostgresUploadTable.ID, upload.uploadId().getId())
-            .set(PostgresUploadTable.CONTENT_TYPE, upload.contentType().asString())
-            .set(PostgresUploadTable.SIZE, upload.sizeAsLong())
-            .set(PostgresUploadTable.BLOB_ID, upload.blobId().asString())
-            .set(PostgresUploadTable.USER_NAME, user.asString())
-            .set(PostgresUploadTable.UPLOAD_DATE, INSTANT_TO_LOCAL_DATE_TIME.apply(upload.uploadDate()))));
+    public Mono<UploadMetaData> insert(UploadMetaData upload, Username user) {
+        return postgresExecutor.executeRow(dslContext -> Mono.from(dslContext.insertInto(PostgresUploadTable.TABLE_NAME)
+                .set(PostgresUploadTable.ID, upload.uploadId().getId())
+                .set(PostgresUploadTable.CONTENT_TYPE, upload.contentType().asString())
+                .set(PostgresUploadTable.SIZE, upload.sizeAsLong())
+                .set(PostgresUploadTable.BLOB_ID, upload.blobId().asString())
+                .set(PostgresUploadTable.USER_NAME, user.asString())
+                .set(PostgresUploadTable.UPLOAD_DATE, INSTANT_TO_LOCAL_DATE_TIME.apply(upload.uploadDate()))
+                .returning(PostgresUploadTable.ID,
+                    PostgresUploadTable.CONTENT_TYPE,
+                    PostgresUploadTable.SIZE,
+                    PostgresUploadTable.BLOB_ID,
+                    PostgresUploadTable.UPLOAD_DATE,
+                    PostgresUploadTable.USER_NAME)))
+            .map(this::uploadMetaDataFromRow);
     }
 
     public Flux<UploadMetaData> list(Username user) {
diff --git a/server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/upload/PostgresUploadRepository.java b/server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/upload/PostgresUploadRepository.java
index 1a21d0181b..88a6913648 100644
--- a/server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/upload/PostgresUploadRepository.java
+++ b/server/data/data-jmap-postgres/src/main/java/org/apache/james/jmap/postgres/upload/PostgresUploadRepository.java
@@ -72,8 +72,7 @@ public class PostgresUploadRepository implements UploadRepository {
         return Mono.fromCallable(() -> new CountingInputStream(data))
             .flatMap(countingInputStream -> Mono.from(blobStore.save(UPLOAD_BUCKET, countingInputStream, LOW_COST))
                 .map(blobId -> UploadMetaData.from(uploadId, contentType, countingInputStream.getCount(), blobId, clock.instant()))
-                .flatMap(uploadMetaData -> uploadDAO.insert(uploadMetaData, user)
-                    .thenReturn(uploadMetaData)));
+                .flatMap(uploadMetaData -> uploadDAO.insert(uploadMetaData, user)));
     }
 
     @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org