<?php

namespace Database\Seeders;

use App\Models\Voice;
use Illuminate\Database\Seeder;

class VoiceSeeder extends Seeder
{
    /**
     * Stock voice catalogue shown in the video creative wizard (§8).
     * `provider`/`provider_voice_id` match config('ai.default_for_audio') (gemini by
     * default) — swap these if the audio provider changes.
     */
    public function run(): void
    {
        $voices = [
            ['name' => 'Kore', 'gender' => 'female', 'accent' => 'American', 'tone' => 'warm', 'provider' => 'gemini', 'provider_voice_id' => 'Kore'],
            ['name' => 'Puck', 'gender' => 'male', 'accent' => 'American', 'tone' => 'upbeat', 'provider' => 'gemini', 'provider_voice_id' => 'Puck'],
            ['name' => 'Charon', 'gender' => 'male', 'accent' => 'American', 'tone' => 'authoritative', 'provider' => 'gemini', 'provider_voice_id' => 'Charon'],
            ['name' => 'Aoede', 'gender' => 'female', 'accent' => 'American', 'tone' => 'friendly', 'provider' => 'gemini', 'provider_voice_id' => 'Aoede'],
            ['name' => 'Fenrir', 'gender' => 'male', 'accent' => 'American', 'tone' => 'energetic', 'provider' => 'gemini', 'provider_voice_id' => 'Fenrir'],
        ];

        foreach ($voices as $voice) {
            Voice::firstOrCreate(
                ['name' => $voice['name'], 'provider' => $voice['provider']],
                $voice,
            );
        }
    }
}
