<?php

declare(strict_types=1);

namespace App\Administration\Domain\Model\SchoolCalendar;

/**
 * Zone scolaire française pour le calendrier des vacances.
 */
enum SchoolZone: string
{
    case A = 'A';
    case B = 'B';
    case C = 'C';

    /**
     * @return non-empty-list<string>
     */
    public function academies(): array
    {
        return match ($this) {
            self::A => ['Besançon', 'Bordeaux', 'Clermont-Ferrand', 'Dijon', 'Grenoble', 'Limoges', 'Lyon', 'Poitiers'],
            self::B => ['Aix-Marseille', 'Amiens', 'Lille', 'Nancy-Metz', 'Nantes', 'Nice', 'Orléans-Tours', 'Reims', 'Rennes', 'Rouen', 'Strasbourg'],
            self::C => ['Créteil', 'Montpellier', 'Paris', 'Toulouse', 'Versailles'],
        };
    }
}
