package cloud.nstart.terravault.ordinis.events.definition;

import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonSubTypes({
    @JsonSubTypes.Type(value = DictionaryDefinitionCreated.class, name = "DefinitionCreated"),
    @JsonSubTypes.Type(value = DictionaryDefinitionUpdated.class, name = "DefinitionUpdated")
})
public sealed interface DictionaryDefinitionEvent
    permits DictionaryDefinitionCreated, DictionaryDefinitionUpdated {

  java.util.UUID definitionId();

  String dictionaryName();
}
