package com.correx.core.artifacts.repository

import com.correx.core.artifacts.ArtifactState
import com.correx.core.events.types.ArtifactId
import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId

interface ArtifactRepository {
    fun getBySession(sessionId: SessionId): Map<ArtifactId, ArtifactState>
    fun getByStage(sessionId: SessionId, stageId: StageId): Map<ArtifactId, ArtifactState>
    fun getById(sessionId: SessionId, artifactId: ArtifactId): ArtifactState?
    fun getByIds(sessionId: SessionId, artifactIds: Set<ArtifactId>): Map<ArtifactId, ArtifactState>
}
