<?php

namespace App\Doctor\Service\Repair;

/**
 * سوییچ‌های مشترک بین گام‌های ترمیم. هر گام فقط آن‌هایی را که برایش معنا دارد
 * می‌خواند؛ مثلاً backfill نقشِ کاربر جانشین اصلاً به allSources کاری ندارد.
 */
final class RepairOptions
{
    public function __construct(
        /** فقط گزارش بده، چیزی ننویس. */
        public readonly bool $dryRun = false,

        /** پزشکان هر منبعی (seed/manual)، نه فقط source='irimc'. */
        public readonly bool $allSources = false,

        /**
         * پروفایل‌های تصاحب‌شده را هم بازنویسی کن. پیش‌فرض خاموش است چون
         * مالک واقعی ممکن است داده را دستی اصلاح کرده باشد و ورودی او
         * بر دادهٔ خزنده مقدم است.
         */
        public readonly bool $includeClaimed = false,
    ) {
    }
}
