<?php

namespace App\Services\System;

use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Cache;

class CleanupSchedulerService
{
    public function shouldRun(string $cacheKey, int $minutes): bool
    {
        $lastRun = Cache::get($cacheKey);
        if (!$lastRun) {
            return true;
        }

        return now()->diffInMinutes($lastRun) >= $minutes;
    }

    public function markRun(string $cacheKey): void
    {
        Cache::put($cacheKey, now(), now()->addDay());
    }

    public function runUnverifiedCleanup(): void
    {
        Artisan::call('users:delete-unverified');
    }
}
