# Copyright © The Debusine Developers
# See the AUTHORS file at the top-level directory of this distribution
#
# This file is part of Debusine. It is subject to the license terms
# in the LICENSE file found in the top-level directory of this
# distribution. No part of Debusine, including this file, may be copied,
# modified, propagated, or distributed except according to the terms
# contained in the LICENSE file.

"""Models used by server tasks."""

from typing import Any

from debusine.db.tasks.models import (
    DBInputCollectionSingle,
    DBInputLookupResult,
)
from debusine.tasks.models import BaseLabeledTaskInput


class CopyCollectionItemsCopiesInfo(BaseLabeledTaskInput):
    """A resolved set of copies for the CopyCollectionItems task."""

    source_items: list[DBInputLookupResult]
    target_collection: DBInputCollectionSingle
    unembargo: bool
    replace: bool
    name_template: str | None
    variables: dict[str, Any] | None
