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]
