Created
June 7, 2022 17:35
-
-
Save arrdem/ee230ef339da6257cf66c210972ca2f8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/libs/metadata/src/main/kotlin/io/elten/metadata/models/LogEntry.kt b/libs/metadata/src/main/kotlin/io/elten/metadata/models/LogEntry.kt | |
index b90704e78..b7fd96d64 100644 | |
--- a/libs/metadata/src/main/kotlin/io/elten/metadata/models/LogEntry.kt | |
+++ b/libs/metadata/src/main/kotlin/io/elten/metadata/models/LogEntry.kt | |
@@ -1,5 +1,6 @@ | |
package io.elten.metadata.models | |
+import io.elten.models.OrgEvent | |
import org.hibernate.annotations.Generated | |
import org.hibernate.annotations.GenerationTime | |
import org.hibernate.annotations.Type | |
@@ -26,5 +27,9 @@ class LogEntry( | |
init { | |
// Clobber the random ID from Model with the event's ID | |
id = body.id | |
+ | |
+ // Paranoia check | |
+ if ((body is OrgEvent) && ((body as OrgEvent).orgId != orgId)) | |
+ throw IllegalArgumentException("Cross-org event! Event source says ${(body as OrgEvent).orgId}, we say ${orgId}") | |
} | |
} | |
diff --git a/libs/models/src/main/kotlin/io/elten/models/Event.kt b/libs/models/src/main/kotlin/io/elten/models/Event.kt | |
index e314b3dfb..3568ae32d 100644 | |
--- a/libs/models/src/main/kotlin/io/elten/models/Event.kt | |
+++ b/libs/models/src/main/kotlin/io/elten/models/Event.kt | |
@@ -12,65 +12,69 @@ sealed class Event( | |
val timestamp: Instant = Instant.now(), | |
) | |
-data class ScanRequested( | |
- val orgId: UUID, | |
+abstract class OrgEvent( | |
+ val orgId: String | |
+): Event() | |
+ | |
+class ScanRequested( | |
+ orgId: String, | |
val scanId: UUID, | |
val initiator: String, | |
val datasourceIds: List<String> | |
-) : Event() | |
+) : OrgEvent(orgId) | |
-data class ScanRequestStarted( | |
- val orgId: UUID, | |
+class ScanRequestStarted( | |
+ orgId: String, | |
val zoneId: UUID, | |
val sensorId: UUID, | |
val scanId: UUID, | |
-) : Event() | |
+) : OrgEvent(orgId) | |
-data class ScanRequestError( | |
- val orgId: UUID, | |
+class ScanRequestError( | |
+ orgId: String, | |
val zoneId: UUID, | |
val sensorId: UUID, | |
val scanId: UUID, | |
val datasourceId: UUID?, | |
val message: String?, | |
-) : Event() | |
+) : OrgEvent(orgId) | |
-data class ScanDatasourceStarted( | |
- val orgId: UUID, | |
+class ScanDatasourceStarted( | |
+ orgId: String, | |
val zoneId: UUID, | |
val sensorId: UUID, | |
val scanId: UUID, | |
val datasourceId: UUID?, | |
-) : Event() | |
+) : OrgEvent(orgId) | |
-data class ScanDatasourceSucceeded( | |
- val orgId: UUID, | |
+class ScanDatasourceSucceeded( | |
+ orgId: String, | |
val zoneId: UUID, | |
val sensorId: UUID, | |
val scanId: UUID, | |
val datasourceId: UUID?, | |
-) : Event() | |
+) : OrgEvent(orgId) | |
-data class ScanDatasourceFailed( | |
- val orgId: UUID, | |
+class ScanDatasourceFailed( | |
+ orgId: String, | |
val zoneId: UUID, | |
val sensorId: UUID, | |
val scanId: UUID, | |
val datasourceId: UUID, | |
val message: UUID?, | |
-) : Event() | |
+) : OrgEvent(orgId) | |
-data class ScanRequestSucceeded( | |
- val orgId: UUID, | |
+class ScanRequestSucceeded( | |
+ orgId: String, | |
val zoneId: UUID, | |
val sensorId: UUID, | |
val scanId: UUID, | |
-) : Event() | |
+) : OrgEvent(orgId) | |
-data class ScanRequestFailed( | |
- val orgId: UUID, | |
+class ScanRequestFailed( | |
+ orgId: String, | |
val zoneId: UUID, | |
val sensorId: UUID, | |
val scanId: UUID, | |
val message: UUID?, | |
-) : Event() | |
+) : OrgEvent(orgId) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment