From 57050ec6519981b64b9ca31fbf01a6e87eb6d705 Mon Sep 17 00:00:00 2001 From: Theo Sanderson Date: Tue, 2 Jul 2024 22:18:05 -0500 Subject: [PATCH 01/11] add iso dates --- .../main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt b/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt index cfb2bcbf1..30506dacc 100644 --- a/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt +++ b/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt @@ -65,8 +65,10 @@ class ReleasedDataModel( ("submitter" to TextNode(rawProcessedData.submitter)) + ("groupId" to IntNode(rawProcessedData.groupId)) + ("groupName" to TextNode(rawProcessedData.groupName)) + + ("submittedAtDate" to TextNode(rawProcessedData.submittedAt.toString())) + ("submittedAt" to LongNode(rawProcessedData.submittedAt.toTimestamp())) + ("releasedAt" to LongNode(rawProcessedData.releasedAt.toTimestamp())) + + ("releasedAtDate" to LongNode(rawProcessedData.releasedAt.toString())) + ("versionStatus" to TextNode(siloVersionStatus.name)) + ("dataUseTerms" to TextNode(currentDataUseTerms.type.name)) + ("dataUseTermsRestrictedUntil" to restrictedDataUseTermsUntil) From 24a2f32f70e1135c157c9c2424fa01e16ed748d0 Mon Sep 17 00:00:00 2001 From: Theo Sanderson Date: Tue, 2 Jul 2024 22:33:51 -0500 Subject: [PATCH 02/11] update --- kubernetes/loculus/templates/_common-metadata.tpl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kubernetes/loculus/templates/_common-metadata.tpl b/kubernetes/loculus/templates/_common-metadata.tpl index 7db2cc06e..73dabcf12 100644 --- a/kubernetes/loculus/templates/_common-metadata.tpl +++ b/kubernetes/loculus/templates/_common-metadata.tpl @@ -51,11 +51,19 @@ fields: autocomplete: true header: Submission details - name: submittedAt + type: timestamp + displayName: Date submitted (timestamp) + header: Submission details + - name: submittedAtDate type: timestamp displayName: Date submitted header: Submission details - name: releasedAt type: timestamp + displayName: Date released (timestamp) + header: Submission details + - name: releasedAtDate + type: string displayName: Date released header: Submission details - name: dataUseTerms From 9588613bb68f2aa77cc961444b8e75a12c849066 Mon Sep 17 00:00:00 2001 From: Theo Sanderson Date: Tue, 2 Jul 2024 22:42:46 -0500 Subject: [PATCH 03/11] update --- .../main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt b/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt index 30506dacc..33718e9ed 100644 --- a/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt +++ b/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt @@ -68,7 +68,7 @@ class ReleasedDataModel( ("submittedAtDate" to TextNode(rawProcessedData.submittedAt.toString())) + ("submittedAt" to LongNode(rawProcessedData.submittedAt.toTimestamp())) + ("releasedAt" to LongNode(rawProcessedData.releasedAt.toTimestamp())) + - ("releasedAtDate" to LongNode(rawProcessedData.releasedAt.toString())) + + ("releasedAtDate" to TextNode(rawProcessedData.releasedAt.toString())) + ("versionStatus" to TextNode(siloVersionStatus.name)) + ("dataUseTerms" to TextNode(currentDataUseTerms.type.name)) + ("dataUseTermsRestrictedUntil" to restrictedDataUseTermsUntil) From e58118c2a8b6d7a905e2d7cc1b08583d955ef297 Mon Sep 17 00:00:00 2001 From: Theo Sanderson Date: Tue, 2 Jul 2024 23:04:24 -0500 Subject: [PATCH 04/11] fixup --- kubernetes/loculus/templates/_common-metadata.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/loculus/templates/_common-metadata.tpl b/kubernetes/loculus/templates/_common-metadata.tpl index 73dabcf12..1d77cae4a 100644 --- a/kubernetes/loculus/templates/_common-metadata.tpl +++ b/kubernetes/loculus/templates/_common-metadata.tpl @@ -55,7 +55,7 @@ fields: displayName: Date submitted (timestamp) header: Submission details - name: submittedAtDate - type: timestamp + type: string displayName: Date submitted header: Submission details - name: releasedAt From 582b4fa19a29fd860e08ee60cf1519dac607612b Mon Sep 17 00:00:00 2001 From: Theo Sanderson Date: Tue, 2 Jul 2024 23:22:47 -0500 Subject: [PATCH 05/11] update --- .../org/loculus/backend/model/ReleasedDataModel.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt b/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt index 33718e9ed..dc34db910 100644 --- a/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt +++ b/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt @@ -65,10 +65,10 @@ class ReleasedDataModel( ("submitter" to TextNode(rawProcessedData.submitter)) + ("groupId" to IntNode(rawProcessedData.groupId)) + ("groupName" to TextNode(rawProcessedData.groupName)) + - ("submittedAtDate" to TextNode(rawProcessedData.submittedAt.toString())) + + ("submittedAtDate" to TextNode(rawProcessedData.submittedAt.toUtcDate())) + ("submittedAt" to LongNode(rawProcessedData.submittedAt.toTimestamp())) + ("releasedAt" to LongNode(rawProcessedData.releasedAt.toTimestamp())) + - ("releasedAtDate" to TextNode(rawProcessedData.releasedAt.toString())) + + ("releasedAtDate" to TextNode(rawProcessedData.releasedAt.toUtcDate())) + ("versionStatus" to TextNode(siloVersionStatus.name)) + ("dataUseTerms" to TextNode(currentDataUseTerms.type.name)) + ("dataUseTermsRestrictedUntil" to restrictedDataUseTermsUntil) @@ -122,3 +122,10 @@ class ReleasedDataModel( } private fun LocalDateTime.toTimestamp() = this.toInstant(TimeZone.UTC).epochSeconds + +private fun LocalDateTime.toUtcDate(): String { + return this.toInstant(TimeZone.currentSystemDefault()) + .toLocalDateTime(TimeZone.UTC) + .date + .toString() +} \ No newline at end of file From 42d0007d68804fe850b100610108db12225edf46 Mon Sep 17 00:00:00 2001 From: Theo Sanderson Date: Sun, 7 Jul 2024 22:09:56 +0100 Subject: [PATCH 06/11] large replacements to add "timestamp" to field name --- .../loculus/backend/model/ReleasedDataModel.kt | 8 ++++---- .../service/submission/SequenceEntriesTable.kt | 4 ++-- .../service/submission/SequenceEntriesView.kt | 4 ++-- .../submission/SubmissionDatabaseService.kt | 18 +++++++++--------- .../submission/GetReleasedDataEndpointTest.kt | 12 ++++++------ .../loculus/templates/_common-metadata.tpl | 8 ++++---- .../seq/[accessionVersion]/versions.astro | 2 +- website/src/settings.ts | 4 ++-- website/src/types/lapis.ts | 4 ++-- 9 files changed, 32 insertions(+), 32 deletions(-) diff --git a/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt b/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt index dc34db910..8b21f22f6 100644 --- a/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt +++ b/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt @@ -65,10 +65,10 @@ class ReleasedDataModel( ("submitter" to TextNode(rawProcessedData.submitter)) + ("groupId" to IntNode(rawProcessedData.groupId)) + ("groupName" to TextNode(rawProcessedData.groupName)) + - ("submittedAtDate" to TextNode(rawProcessedData.submittedAt.toUtcDate())) + - ("submittedAt" to LongNode(rawProcessedData.submittedAt.toTimestamp())) + - ("releasedAt" to LongNode(rawProcessedData.releasedAt.toTimestamp())) + - ("releasedAtDate" to TextNode(rawProcessedData.releasedAt.toUtcDate())) + + ("submittedDate" to TextNode(rawProcessedData.submittedAtTimestamp.toUtcDate())) + + ("submittedAtTimestamp" to LongNode(rawProcessedData.submittedAtTimestamp.toTimestamp())) + + ("releasedAtTimestamp" to LongNode(rawProcessedData.releasedAtTimestamp.toTimestamp())) + + ("releasedDate" to TextNode(rawProcessedData.releasedAtTimestamp.toUtcDate())) + ("versionStatus" to TextNode(siloVersionStatus.name)) + ("dataUseTerms" to TextNode(currentDataUseTerms.type.name)) + ("dataUseTermsRestrictedUntil" to restrictedDataUseTermsUntil) diff --git a/backend/src/main/kotlin/org/loculus/backend/service/submission/SequenceEntriesTable.kt b/backend/src/main/kotlin/org/loculus/backend/service/submission/SequenceEntriesTable.kt index d688fa4fb..1e6842b42 100644 --- a/backend/src/main/kotlin/org/loculus/backend/service/submission/SequenceEntriesTable.kt +++ b/backend/src/main/kotlin/org/loculus/backend/service/submission/SequenceEntriesTable.kt @@ -26,8 +26,8 @@ object SequenceEntriesTable : Table(SEQUENCE_ENTRIES_TABLE_NAME) { val submitterColumn = varchar("submitter", 255) val approverColumn = varchar("approver", 255) val groupIdColumn = integer("group_id") - val submittedAtColumn = datetime("submitted_at") - val releasedAtColumn = datetime("released_at").nullable() + val submittedAtTimestampColumn = datetime("submitted_at") + val releasedAtTimestampColumn = datetime("released_at").nullable() val isRevocationColumn = bool("is_revocation").default(false) override val primaryKey = PrimaryKey(accessionColumn, versionColumn) diff --git a/backend/src/main/kotlin/org/loculus/backend/service/submission/SequenceEntriesView.kt b/backend/src/main/kotlin/org/loculus/backend/service/submission/SequenceEntriesView.kt index 7f264b98d..e736b5178 100644 --- a/backend/src/main/kotlin/org/loculus/backend/service/submission/SequenceEntriesView.kt +++ b/backend/src/main/kotlin/org/loculus/backend/service/submission/SequenceEntriesView.kt @@ -34,10 +34,10 @@ object SequenceEntriesView : Table(SEQUENCE_ENTRIES_VIEW_NAME) { val submissionIdColumn = varchar("submission_id", 255) val submitterColumn = varchar("submitter", 255) val groupIdColumn = integer("group_id") - val submittedAtColumn = datetime("submitted_at") + val submittedAtTimestampColumn = datetime("submitted_at") val startedProcessingAtColumn = datetime("started_processing_at").nullable() val finishedProcessingAtColumn = datetime("finished_processing_at").nullable() - val releasedAtColumn = datetime("released_at").nullable() + val releasedAtTimestampColumn = datetime("released_at").nullable() val statusColumn = varchar("status", 255) val isRevocationColumn = bool("is_revocation").default(false) val errorsColumn = jacksonSerializableJsonb>("errors").nullable() diff --git a/backend/src/main/kotlin/org/loculus/backend/service/submission/SubmissionDatabaseService.kt b/backend/src/main/kotlin/org/loculus/backend/service/submission/SubmissionDatabaseService.kt index 2709f50ef..12dfb87ab 100644 --- a/backend/src/main/kotlin/org/loculus/backend/service/submission/SubmissionDatabaseService.kt +++ b/backend/src/main/kotlin/org/loculus/backend/service/submission/SubmissionDatabaseService.kt @@ -451,7 +451,7 @@ class SubmissionDatabaseService( SequenceEntriesTable.accessionVersionIsIn(accessionVersionsChunk) }, ) { - it[releasedAtColumn] = now + it[releasedAtTimestampColumn] = now it[approverColumn] = authenticatedUser.username } } @@ -506,8 +506,8 @@ class SubmissionDatabaseService( SequenceEntriesView.jointDataColumn, SequenceEntriesView.submitterColumn, SequenceEntriesView.groupIdColumn, - SequenceEntriesView.submittedAtColumn, - SequenceEntriesView.releasedAtColumn, + SequenceEntriesView.submittedAtTimestampColumn, + SequenceEntriesView.releasedAtTimestampColumn, SequenceEntriesView.submissionIdColumn, DataUseTermsTable.dataUseTermsTypeColumn, DataUseTermsTable.restrictedUntilColumn, @@ -536,8 +536,8 @@ class SubmissionDatabaseService( null -> emptyProcessedDataProvider.provide(organism) else -> compressionService.decompressSequencesInProcessedData(processedData, organism) }, - submittedAt = it[SequenceEntriesView.submittedAtColumn], - releasedAt = it[SequenceEntriesView.releasedAtColumn]!!, + submittedAtTimestamp = it[SequenceEntriesView.submittedAtTimestampColumn], + releasedAtTimestamp = it[SequenceEntriesView.releasedAtTimestampColumn]!!, dataUseTerms = DataUseTerms.fromParameters( DataUseTermsType.fromString(it[DataUseTermsTable.dataUseTermsTypeColumn]), it[DataUseTermsTable.restrictedUntilColumn], @@ -582,7 +582,7 @@ class SubmissionDatabaseService( SequenceEntriesView.groupIdColumn, SequenceEntriesView.submitterColumn, SequenceEntriesView.organismColumn, - SequenceEntriesView.submittedAtColumn, + SequenceEntriesView.submittedAtTimestampColumn, DataUseTermsTable.dataUseTermsTypeColumn, DataUseTermsTable.restrictedUntilColumn, ) @@ -671,7 +671,7 @@ class SubmissionDatabaseService( SequenceEntriesTable.submissionIdColumn, SequenceEntriesTable.submitterColumn, SequenceEntriesTable.groupIdColumn, - SequenceEntriesTable.submittedAtColumn, + SequenceEntriesTable.submittedAtTimestampColumn, SequenceEntriesTable.isRevocationColumn, SequenceEntriesTable.organismColumn, ), @@ -983,8 +983,8 @@ data class RawProcessedData( val submitter: String, val groupId: Int, val groupName: String, - val submittedAt: LocalDateTime, - val releasedAt: LocalDateTime, + val submittedAtTimestamp: LocalDateTime, + val releasedAtTimestamp: LocalDateTime, val submissionId: String, val processedData: ProcessedData, val dataUseTerms: DataUseTerms, diff --git a/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt b/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt index af8f5389c..4be3c479d 100644 --- a/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt +++ b/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt @@ -42,9 +42,9 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers.status import org.testcontainers.shaded.org.awaitility.Awaitility.await private val ADDED_FIELDS_WITH_UNKNOWN_VALUES_FOR_RELEASE = listOf( - "releasedAt", + "releasedAtTimestamp", "submissionId", - "submittedAt", + "submittedAtTimestamp", "groupId", ) @@ -114,8 +114,8 @@ class GetReleasedDataEndpointTest( ) for ((key, value) in it.metadata) { when (key) { - "submittedAt" -> expectIsTimestampWithCurrentYear(value) - "releasedAt" -> expectIsTimestampWithCurrentYear(value) + "submittedAtTimestamp" -> expectIsTimestampWithCurrentYear(value) + "releasedAtTimestamp" -> expectIsTimestampWithCurrentYear(value) "submissionId" -> assertThat(value.textValue(), matchesPattern("^custom\\d$")) "groupId" -> assertThat(value.intValue(), greaterThan(0)) else -> assertThat(value, `is`(expectedMetadata[key])) @@ -201,8 +201,8 @@ class GetReleasedDataEndpointTest( when (key) { "isRevocation" -> assertThat(value, `is`(BooleanNode.TRUE)) "versionStatus" -> assertThat(value, `is`(TextNode("LATEST_VERSION"))) - "submittedAt" -> expectIsTimestampWithCurrentYear(value) - "releasedAt" -> expectIsTimestampWithCurrentYear(value) + "submittedAtTimestamp" -> expectIsTimestampWithCurrentYear(value) + "releasedAtTimestamp" -> expectIsTimestampWithCurrentYear(value) "submitter" -> assertThat(value, `is`(TextNode(DEFAULT_USER_NAME))) "groupName" -> assertThat(value, `is`(TextNode(DEFAULT_GROUP_NAME))) "groupId" -> assertThat(value.intValue(), `is`(greaterThan(0))) diff --git a/kubernetes/loculus/templates/_common-metadata.tpl b/kubernetes/loculus/templates/_common-metadata.tpl index 1d77cae4a..3d7fd14e3 100644 --- a/kubernetes/loculus/templates/_common-metadata.tpl +++ b/kubernetes/loculus/templates/_common-metadata.tpl @@ -50,19 +50,19 @@ fields: generateIndex: true autocomplete: true header: Submission details - - name: submittedAt + - name: submittedAtTimestamp type: timestamp displayName: Date submitted (timestamp) header: Submission details - - name: submittedAtDate + - name: submittedDate type: string displayName: Date submitted header: Submission details - - name: releasedAt + - name: releasedAtTimestamp type: timestamp displayName: Date released (timestamp) header: Submission details - - name: releasedAtDate + - name: releasedDate type: string displayName: Date released header: Submission details diff --git a/website/src/pages/seq/[accessionVersion]/versions.astro b/website/src/pages/seq/[accessionVersion]/versions.astro index 4c74c65fa..4d39057a6 100644 --- a/website/src/pages/seq/[accessionVersion]/versions.astro +++ b/website/src/pages/seq/[accessionVersion]/versions.astro @@ -29,7 +29,7 @@ const { organism, versionListResult } = await getVersionsData(accession); return list.map((version) => (
  • -
    {version.submittedAt}
    +
    {version.submittedAtTimestamp}
    ({ ...raw, - submittedAt: parseUnixTimestamp(raw.submittedAt), + submittedAtTimestamp: parseUnixTimestamp(raw.submittedAtTimestamp), })); export type SequenceEntryHistoryEntry = z.infer; From 65d35ce1792c05f8682f8c265ac8aeaae2a6d662 Mon Sep 17 00:00:00 2001 From: Theo Sanderson Date: Sun, 7 Jul 2024 22:13:10 +0100 Subject: [PATCH 07/11] fix backend tests --- .../controller/submission/GetReleasedDataEndpointTest.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt b/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt index 4be3c479d..4781ac031 100644 --- a/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt +++ b/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt @@ -103,6 +103,7 @@ class GetReleasedDataEndpointTest( "groupName" to TextNode(DEFAULT_GROUP_NAME), "versionStatus" to TextNode("LATEST_VERSION"), "dataUseTerms" to TextNode("OPEN"), + "releasedDate" to TextNode(Clock.System.todayAt(TimeZone.UTC).toString()), "dataUseTermsRestrictedUntil" to NullNode.getInstance(), "booleanColumn" to BooleanNode.TRUE, ) @@ -208,6 +209,7 @@ class GetReleasedDataEndpointTest( "groupId" -> assertThat(value.intValue(), `is`(greaterThan(0))) "accession", "version", "accessionVersion", "submissionId" -> {} "dataUseTerms" -> assertThat(value, `is`(TextNode("OPEN"))) + "submittedDate" -> assertThat(value, `is`(TextNode(Clock.System.todayAt(TimeZone.UTC).toString()))) else -> assertThat("value for $key", value, `is`(NullNode.instance)) } } From 3c01edcf8389f10fba59a57a77706cc0d9c2571a Mon Sep 17 00:00:00 2001 From: Theo Sanderson Date: Sun, 7 Jul 2024 22:18:42 +0100 Subject: [PATCH 08/11] fixup --- .../controller/submission/GetReleasedDataEndpointTest.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt b/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt index 4781ac031..e451bf7ac 100644 --- a/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt +++ b/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt @@ -103,7 +103,8 @@ class GetReleasedDataEndpointTest( "groupName" to TextNode(DEFAULT_GROUP_NAME), "versionStatus" to TextNode("LATEST_VERSION"), "dataUseTerms" to TextNode("OPEN"), - "releasedDate" to TextNode(Clock.System.todayAt(TimeZone.UTC).toString()), + "releasedDate" to TextNode(Clock.System.now().toLocalDateTime(TimeZone.UTC).date.toString()), + "submittedDate" to TextNode(Clock.System.now().toLocalDateTime(TimeZone.UTC).date.toString()), "dataUseTermsRestrictedUntil" to NullNode.getInstance(), "booleanColumn" to BooleanNode.TRUE, ) @@ -209,7 +210,7 @@ class GetReleasedDataEndpointTest( "groupId" -> assertThat(value.intValue(), `is`(greaterThan(0))) "accession", "version", "accessionVersion", "submissionId" -> {} "dataUseTerms" -> assertThat(value, `is`(TextNode("OPEN"))) - "submittedDate" -> assertThat(value, `is`(TextNode(Clock.System.todayAt(TimeZone.UTC).toString()))) + "submittedDate" to TextNode(Clock.System.now().toLocalDateTime(TimeZone.UTC).date.toString()), else -> assertThat("value for $key", value, `is`(NullNode.instance)) } } From a9ae10f37940f781a038db9ebc8538dd76d295f2 Mon Sep 17 00:00:00 2001 From: Theo Sanderson Date: Tue, 9 Jul 2024 22:11:11 +0100 Subject: [PATCH 09/11] update --- .../kotlin/org/loculus/backend/model/ReleasedDataModel.kt | 5 +++-- .../backend/service/submission/SubmissionDatabaseService.kt | 4 ++-- .../controller/submission/GetReleasedDataEndpointTest.kt | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt b/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt index bbe3e0646..3a0052dee 100644 --- a/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt +++ b/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt @@ -22,6 +22,7 @@ import org.loculus.backend.utils.Version import org.loculus.backend.utils.toTimestamp import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional +import org.loculus.backend.utils.toUtcDateString private val log = KotlinLogging.logger { } @@ -64,10 +65,10 @@ class ReleasedDataModel( ("submitter" to TextNode(rawProcessedData.submitter)) + ("groupId" to IntNode(rawProcessedData.groupId)) + ("groupName" to TextNode(rawProcessedData.groupName)) + - ("submittedDate" to TextNode(rawProcessedData.submittedAtTimestamp.toUtcDate())) + + ("submittedDate" to TextNode(rawProcessedData.submittedAtTimestamp.toUtcDateString())) + ("submittedAtTimestamp" to LongNode(rawProcessedData.submittedAtTimestamp.toTimestamp())) + ("releasedAtTimestamp" to LongNode(rawProcessedData.releasedAtTimestamp.toTimestamp())) + - ("releasedDate" to TextNode(rawProcessedData.releasedAtTimestamp.toUtcDate())) + + ("releasedDate" to TextNode(rawProcessedData.releasedAtTimestamp.toUtcDateString())) + ("versionStatus" to TextNode(siloVersionStatus.name)) + ("dataUseTerms" to TextNode(currentDataUseTerms.type.name)) + ("dataUseTermsRestrictedUntil" to restrictedDataUseTermsUntil) diff --git a/backend/src/main/kotlin/org/loculus/backend/service/submission/SubmissionDatabaseService.kt b/backend/src/main/kotlin/org/loculus/backend/service/submission/SubmissionDatabaseService.kt index dace83504..8661d9c58 100644 --- a/backend/src/main/kotlin/org/loculus/backend/service/submission/SubmissionDatabaseService.kt +++ b/backend/src/main/kotlin/org/loculus/backend/service/submission/SubmissionDatabaseService.kt @@ -135,7 +135,7 @@ class SubmissionDatabaseService( table.submissionIdColumn, table.submitterColumn, table.groupIdColumn, - table.submittedAtColumn, + table.submittedAtTimestampColumn, ) .where { table.organismIs(organism) and @@ -165,7 +165,7 @@ class SubmissionDatabaseService( submissionId = it[table.submissionIdColumn], submitter = it[table.submitterColumn], groupId = it[table.groupIdColumn], - submittedAt = it[table.submittedAtColumn].toTimestamp(), + submittedAt = it[table.submittedAtTimestampColumn].toTimestamp(), ) } updateStatusToProcessing(chunkOfUnprocessedData, pipelineVersion) diff --git a/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt b/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt index e451bf7ac..fe32ef7f1 100644 --- a/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt +++ b/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt @@ -210,7 +210,7 @@ class GetReleasedDataEndpointTest( "groupId" -> assertThat(value.intValue(), `is`(greaterThan(0))) "accession", "version", "accessionVersion", "submissionId" -> {} "dataUseTerms" -> assertThat(value, `is`(TextNode("OPEN"))) - "submittedDate" to TextNode(Clock.System.now().toLocalDateTime(TimeZone.UTC).date.toString()), + "submittedDate" -> assertThat(value, `is`(TextNode(Clock.System.now().toLocalDateTime(TimeZone.UTC).date.toString()))) else -> assertThat("value for $key", value, `is`(NullNode.instance)) } } From 8343fc9d642cbfaedac7adb1e20fa6ce3aef2d4d Mon Sep 17 00:00:00 2001 From: Theo Sanderson Date: Tue, 9 Jul 2024 22:16:32 +0100 Subject: [PATCH 10/11] update --- .../backend/controller/submission/GetReleasedDataEndpointTest.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt b/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt index fe32ef7f1..20d4eb6e8 100644 --- a/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt +++ b/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt @@ -211,6 +211,7 @@ class GetReleasedDataEndpointTest( "accession", "version", "accessionVersion", "submissionId" -> {} "dataUseTerms" -> assertThat(value, `is`(TextNode("OPEN"))) "submittedDate" -> assertThat(value, `is`(TextNode(Clock.System.now().toLocalDateTime(TimeZone.UTC).date.toString()))) + "releasedDate" -> assertThat(value, `is`(TextNode(Clock.System.now().toLocalDateTime(TimeZone.UTC).date.toString()))) else -> assertThat("value for $key", value, `is`(NullNode.instance)) } } From d5888692263685b95ea0e7147bbf71daee907c50 Mon Sep 17 00:00:00 2001 From: Theo Sanderson Date: Wed, 10 Jul 2024 00:59:44 +0100 Subject: [PATCH 11/11] format --- .../org/loculus/backend/model/ReleasedDataModel.kt | 3 +-- .../submission/GetReleasedDataEndpointTest.kt | 10 ++++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt b/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt index 3a0052dee..e27dcae35 100644 --- a/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt +++ b/backend/src/main/kotlin/org/loculus/backend/model/ReleasedDataModel.kt @@ -20,9 +20,9 @@ import org.loculus.backend.service.submission.SubmissionDatabaseService import org.loculus.backend.utils.Accession import org.loculus.backend.utils.Version import org.loculus.backend.utils.toTimestamp +import org.loculus.backend.utils.toUtcDateString import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional -import org.loculus.backend.utils.toUtcDateString private val log = KotlinLogging.logger { } @@ -120,4 +120,3 @@ class ReleasedDataModel( return SiloVersionStatus.REVISED } } - diff --git a/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt b/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt index 20d4eb6e8..5076ce038 100644 --- a/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt +++ b/backend/src/test/kotlin/org/loculus/backend/controller/submission/GetReleasedDataEndpointTest.kt @@ -210,8 +210,14 @@ class GetReleasedDataEndpointTest( "groupId" -> assertThat(value.intValue(), `is`(greaterThan(0))) "accession", "version", "accessionVersion", "submissionId" -> {} "dataUseTerms" -> assertThat(value, `is`(TextNode("OPEN"))) - "submittedDate" -> assertThat(value, `is`(TextNode(Clock.System.now().toLocalDateTime(TimeZone.UTC).date.toString()))) - "releasedDate" -> assertThat(value, `is`(TextNode(Clock.System.now().toLocalDateTime(TimeZone.UTC).date.toString()))) + "submittedDate" -> assertThat( + value, + `is`(TextNode(Clock.System.now().toLocalDateTime(TimeZone.UTC).date.toString())), + ) + "releasedDate" -> assertThat( + value, + `is`(TextNode(Clock.System.now().toLocalDateTime(TimeZone.UTC).date.toString())), + ) else -> assertThat("value for $key", value, `is`(NullNode.instance)) } }