package p.studio.workspaces.assets.details.bank;

import p.studio.workspaces.assets.messages.AssetWorkspaceBankCompositionFile;

import java.util.List;
import java.util.Objects;

public record AssetDetailsBankCompositionViewModel(
        boolean editing,
        boolean dirty,
        List<AssetWorkspaceBankCompositionFile> availableFiles,
        List<AssetWorkspaceBankCompositionFile> selectedFiles,
        AssetDetailsBankCompositionCapacityState capacityState) {

    public AssetDetailsBankCompositionViewModel {
        availableFiles = List.copyOf(Objects.requireNonNull(availableFiles, "availableFiles"));
        selectedFiles = List.copyOf(Objects.requireNonNull(selectedFiles, "selectedFiles"));
        capacityState = Objects.requireNonNull(capacityState, "capacityState");
    }
}
