import { PartialType, OmitType } from '@nestjs/mapped-types';
import { CreateServicePaymentCollectionDto } from './create-service-payment-collection.dto';

/**
 * Edit an existing requirement — only `expected_amount`, `currency_id`,
 * `notes` are mutable. Item FKs + service_type are immutable (rebind
 * would break the ledger link on already-confirmed rows). The service
 * layer rejects updates when the collection is already CANCELLED.
 */
export class UpdateServicePaymentCollectionDto extends PartialType(
  OmitType(CreateServicePaymentCollectionDto, [
    'service_type',
    'transport_item_id',
    'activity_item_id',
    'special_item_id',
  ] as const),
) {}
