package com.correx.core.events.events

import com.correx.core.events.types.ArtifactId
import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
@SerialName("ArtifactValidating")
data class ArtifactValidatingEvent(
    val artifactId: ArtifactId,
    val sessionId: SessionId,
    val stageId: StageId,
) : EventPayload

@Serializable
@SerialName("ArtifactValidated")
data class ArtifactValidatedEvent(
    val artifactId: ArtifactId,
    val sessionId: SessionId,
    val stageId: StageId,
) : EventPayload

@Serializable
@SerialName("ArtifactCreated")
data class ArtifactCreatedEvent(
    val artifactId: ArtifactId,
    val sessionId: SessionId,
    val stageId: StageId,
    val schemaVersion: Int,
) : EventPayload
