package com.pixelized.shared.lwa.model.alteration

import kotlinx.serialization.Serializable

@Serializable
data class AlterationJsonV1(
    override val id: String,
    val metadata: AlterationMetadataJsonV1,
    val tags: List<String>?,
    val fields: List<FieldJsonV1>,
) : AlterationJson {

    @Serializable
    data class FieldJsonV1(
        val fieldId: String, // this id is not the id of the instance but the id of the impacted field (characteristic, skill etc.)
        val expression: String,
    )

    @Serializable
    data class AlterationMetadataJsonV1(
        val name: String,
        val description: String,
        val icon: String?,
    )
}
