<?php

use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
use App\Models\Backoffice\MediaItem;

Artisan::command('inspire', function () {
    $this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote')->hourly();

Artisan::command('media:rebuild-search', function () {
    $this->info('Rebuilding search_content for media_items...');
    $count = 0;
    MediaItem::chunkById(1000, function ($items) use (&$count) {
        foreach ($items as $item) {
            // Model's save listener takes care of the data inside the search_content
            $item->save();
            $count++;
        }
    });
    $this->info("Updated {$count} records.");
})->describe('Rebuild search_content for all media items');
