<?php

return [
    'staleness_days' => (int) env('DIRECTORY_GROUPS_STALENESS_DAYS', 30),

    'retention_days' => (int) env('DIRECTORY_GROUPS_RETENTION_DAYS', 90),

    'page_size' => (int) env('DIRECTORY_GROUPS_PAGE_SIZE', 999),

    'schedule' => [
        'enabled' => (bool) env('DIRECTORY_GROUPS_SCHEDULE_ENABLED', true),

        // Daily scheduled sync (UTC). The dispatcher is still expected to run every minute.
        'time_utc' => (string) env('DIRECTORY_GROUPS_SCHEDULE_TIME_UTC', '02:00'),

        // Optional: limit scheduled dispatch to specific tenant ids/external ids (comma-separated).
        'tenants' => array_values(array_filter(array_map('trim', explode(',', (string) env('DIRECTORY_GROUPS_SCHEDULE_TENANTS', ''))))),
    ],

    'safety_stop' => [
        'max_pages' => (int) env('DIRECTORY_GROUPS_MAX_PAGES', 200),
        'max_runtime_seconds' => (int) env('DIRECTORY_GROUPS_MAX_RUNTIME_SECONDS', 600),
        'max_retries' => (int) env('DIRECTORY_GROUPS_MAX_RETRIES', 8),
    ],
];
