diff --git a/feature/login-check/src/main/java/com/simprints/feature/logincheck/usecases/ReportActionRequestEventsUseCase.kt b/feature/login-check/src/main/java/com/simprints/feature/logincheck/usecases/ReportActionRequestEventsUseCase.kt index a3f38ea4fe..3efd93d8f5 100644 --- a/feature/login-check/src/main/java/com/simprints/feature/logincheck/usecases/ReportActionRequestEventsUseCase.kt +++ b/feature/login-check/src/main/java/com/simprints/feature/logincheck/usecases/ReportActionRequestEventsUseCase.kt @@ -62,7 +62,13 @@ internal class ReportActionRequestEventsUseCase @Inject constructor( verifyGuid, metadata, ) - is ActionRequest.ConfirmIdentityActionRequest -> ConfirmationCalloutEvent(startTime, projectId, selectedGuid, sessionId) + is ActionRequest.ConfirmIdentityActionRequest -> ConfirmationCalloutEvent( + createdAt = startTime, + projectId = projectId, + selectedGuid = selectedGuid, + sessionId = sessionId, + metadata = metadata + ) is ActionRequest.EnrolLastBiometricActionRequest -> EnrolmentLastBiometricsCalloutEvent( startTime, projectId, diff --git a/infra/event-sync/src/main/java/com/simprints/infra/eventsync/event/remote/models/callout/ApiCalloutPayload.kt b/infra/event-sync/src/main/java/com/simprints/infra/eventsync/event/remote/models/callout/ApiCalloutPayload.kt index 9013cac615..075f620bbd 100644 --- a/infra/event-sync/src/main/java/com/simprints/infra/eventsync/event/remote/models/callout/ApiCalloutPayload.kt +++ b/infra/event-sync/src/main/java/com/simprints/infra/eventsync/event/remote/models/callout/ApiCalloutPayload.kt @@ -55,6 +55,7 @@ internal data class ApiCalloutPayload( ApiConfirmationCallout( domainPayload.selectedGuid, domainPayload.sessionId, + domainPayload.metadata, ), ) diff --git a/infra/event-sync/src/main/java/com/simprints/infra/eventsync/event/remote/models/callout/ApiConfirmationCallout.kt b/infra/event-sync/src/main/java/com/simprints/infra/eventsync/event/remote/models/callout/ApiConfirmationCallout.kt index 1a48adc5c4..ca3b823001 100644 --- a/infra/event-sync/src/main/java/com/simprints/infra/eventsync/event/remote/models/callout/ApiConfirmationCallout.kt +++ b/infra/event-sync/src/main/java/com/simprints/infra/eventsync/event/remote/models/callout/ApiConfirmationCallout.kt @@ -6,4 +6,5 @@ import androidx.annotation.Keep internal data class ApiConfirmationCallout( val selectedGuid: String, val sessionId: String, + val metadata: String?, ) : ApiCallout(ApiCalloutType.Confirmation) diff --git a/infra/event-sync/src/test/java/com/simprints/infra/eventsync/event/EventValidationUtils.kt b/infra/event-sync/src/test/java/com/simprints/infra/eventsync/event/EventValidationUtils.kt index 06976423a6..c4f750271c 100644 --- a/infra/event-sync/src/test/java/com/simprints/infra/eventsync/event/EventValidationUtils.kt +++ b/infra/event-sync/src/test/java/com/simprints/infra/eventsync/event/EventValidationUtils.kt @@ -203,7 +203,8 @@ fun verifyCalloutConfirmationApiModel(json: JSONObject) { assertThat(json.getString("type")).isEqualTo("Confirmation") assertThat(json.getString("selectedGuid")).isNotNull() assertThat(json.getString("sessionId")).isNotNull() - assertThat(json.length()).isEqualTo(3) + assertThat(json.getString("metadata")).isNotNull() + assertThat(json.length()).isEqualTo(4) } fun validateAlertScreenEventApiModel(json: JSONObject) { diff --git a/infra/events/src/debug/java/com/simprints/infra/events/sampledata/EventFactoryUtils.kt b/infra/events/src/debug/java/com/simprints/infra/events/sampledata/EventFactoryUtils.kt index 754919954a..99522f4f40 100644 --- a/infra/events/src/debug/java/com/simprints/infra/events/sampledata/EventFactoryUtils.kt +++ b/infra/events/src/debug/java/com/simprints/infra/events/sampledata/EventFactoryUtils.kt @@ -181,10 +181,11 @@ fun createVerificationCallbackEventV2() = VerificationCallbackEvent( ) fun createConfirmationCalloutEvent() = ConfirmationCalloutEvent( - CREATED_AT, - DEFAULT_PROJECT_ID, - GUID1, - GUID2, + createdAt = CREATED_AT, + projectId = DEFAULT_PROJECT_ID, + selectedGuid = GUID1, + sessionId = GUID2, + metadata = DEFAULT_METADATA, ) fun createEnrolmentCalloutEvent(projectId: String = DEFAULT_PROJECT_ID) = EnrolmentCalloutEvent( diff --git a/infra/events/src/main/java/com/simprints/infra/events/event/domain/models/callout/ConfirmationCalloutEvent.kt b/infra/events/src/main/java/com/simprints/infra/events/event/domain/models/callout/ConfirmationCalloutEvent.kt index fbe897a2bf..4e106f6dcc 100644 --- a/infra/events/src/main/java/com/simprints/infra/events/event/domain/models/callout/ConfirmationCalloutEvent.kt +++ b/infra/events/src/main/java/com/simprints/infra/events/event/domain/models/callout/ConfirmationCalloutEvent.kt @@ -23,9 +23,17 @@ data class ConfirmationCalloutEvent( projectId: String, selectedGuid: String, sessionId: String, + metadata: String?, ) : this( UUID.randomUUID().toString(), - ConfirmationCalloutPayload(createdAt, EVENT_VERSION, projectId, selectedGuid, sessionId), + ConfirmationCalloutPayload( + createdAt = createdAt, + eventVersion = EVENT_VERSION, + projectId = projectId, + selectedGuid = selectedGuid, + sessionId = sessionId, + metadata = metadata + ), CALLOUT_CONFIRMATION, ) @@ -40,6 +48,7 @@ data class ConfirmationCalloutEvent( val projectId: String, val selectedGuid: String, val sessionId: String, + val metadata: String?, override val endedAt: Timestamp? = null, override val type: EventType = CALLOUT_CONFIRMATION, ) : EventPayload() { diff --git a/infra/events/src/test/java/com/simprints/infra/events/event/domain/models/EventPayloadTest.kt b/infra/events/src/test/java/com/simprints/infra/events/event/domain/models/EventPayloadTest.kt index 118b4e440f..4197e77cb4 100644 --- a/infra/events/src/test/java/com/simprints/infra/events/event/domain/models/EventPayloadTest.kt +++ b/infra/events/src/test/java/com/simprints/infra/events/event/domain/models/EventPayloadTest.kt @@ -83,7 +83,13 @@ class EventPayloadTest { createdAt = CREATED_AT, score = CallbackComparisonScore(GUID1, 1, AppMatchConfidence.NONE), ), - ConfirmationCalloutEvent(CREATED_AT, DEFAULT_PROJECT_ID, GUID1, GUID2), + ConfirmationCalloutEvent( + createdAt = CREATED_AT, + projectId = DEFAULT_PROJECT_ID, + selectedGuid = GUID1, + sessionId = GUID2, + metadata = DEFAULT_METADATA + ), EnrolmentCalloutEvent( createdAt = CREATED_AT, projectId = DEFAULT_PROJECT_ID, diff --git a/infra/events/src/test/java/com/simprints/infra/events/event/domain/models/callout/ConfirmationCalloutEventTest.kt b/infra/events/src/test/java/com/simprints/infra/events/event/domain/models/callout/ConfirmationCalloutEventTest.kt index 1ff0722a31..54da8ff5d5 100644 --- a/infra/events/src/test/java/com/simprints/infra/events/event/domain/models/callout/ConfirmationCalloutEventTest.kt +++ b/infra/events/src/test/java/com/simprints/infra/events/event/domain/models/callout/ConfirmationCalloutEventTest.kt @@ -5,6 +5,7 @@ import com.google.common.truth.Truth.assertThat import com.simprints.infra.events.event.domain.models.EventType.CALLOUT_CONFIRMATION import com.simprints.infra.events.event.domain.models.callout.ConfirmationCalloutEvent.Companion.EVENT_VERSION import com.simprints.infra.events.sampledata.SampleDefaults.CREATED_AT +import com.simprints.infra.events.sampledata.SampleDefaults.DEFAULT_METADATA import com.simprints.infra.events.sampledata.SampleDefaults.DEFAULT_PROJECT_ID import com.simprints.infra.events.sampledata.SampleDefaults.GUID1 import com.simprints.infra.events.sampledata.SampleDefaults.GUID2 @@ -14,7 +15,13 @@ import org.junit.Test class ConfirmationCalloutEventTest { @Test fun create_ConfirmationCalloutEvent() { - val event = ConfirmationCalloutEvent(CREATED_AT, DEFAULT_PROJECT_ID, GUID1, GUID2) + val event = ConfirmationCalloutEvent( + createdAt = CREATED_AT, + projectId = DEFAULT_PROJECT_ID, + selectedGuid = GUID1, + sessionId = GUID2, + metadata = DEFAULT_METADATA + ) assertThat(event.id).isNotNull() assertThat(event.type).isEqualTo(CALLOUT_CONFIRMATION) @@ -25,6 +32,7 @@ class ConfirmationCalloutEventTest { assertThat(projectId).isEqualTo(DEFAULT_PROJECT_ID) assertThat(selectedGuid).isEqualTo(GUID1) assertThat(sessionId).isEqualTo(GUID2) + assertThat(metadata).isEqualTo(DEFAULT_METADATA) } } }