All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.cccev.s2.requirement.domain.command.RequirementAddConceptsCommand.kt Maven / Gradle / Ivy

The newest version!
package cccev.s2.requirement.domain.command

import cccev.s2.concept.domain.InformationConceptId
import cccev.s2.requirement.domain.D2RequirementPage
import cccev.s2.requirement.domain.RequirementCommand
import cccev.s2.requirement.domain.RequirementEvent
import cccev.s2.requirement.domain.RequirementId
import kotlinx.serialization.Serializable

/**
 * Add a list of information concept to a requirement.
 * @d2 function
 * @parent [D2RequirementPage]
 * @order 50
 */
interface RequirementAddConceptsFunction

/**
 * @d2 command
 * @parent [RequirementAddConceptsFunction]
 */
data class RequirementAddConceptsCommand(
    /**
     * Id of the requirement to add information concepts to.
     */
    override val id: RequirementId,

    /**
     * Ids of the information concepts to add.
     */
    val conceptIds: List
): RequirementCommand

/**
 * @d2 event
 * @parent [RequirementAddConceptsFunction]
 */
@Serializable
data class RequirementAddedConceptsEvent(
    /** @ref [RequirementAddConceptsCommand.id] */
    override val id: RequirementId,

    /** @ref [RequirementAddConceptsCommand.conceptIds] */
    val conceptIds: List = emptyList()
): RequirementEvent




© 2015 - 2025 Weber Informatics LLC | Privacy Policy