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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to