<?php

declare(strict_types=1);

namespace App\Administration\Domain\Model\SchoolCalendar;

/**
 * Type d'entrée dans le calendrier scolaire.
 *
 * Chaque type a un impact sur la disponibilité des cours et devoirs.
 */
enum CalendarEntryType: string
{
    case HOLIDAY = 'holiday';
    case VACATION = 'vacation';
    case PEDAGOGICAL_DAY = 'pedagogical';
    case BRIDGE = 'bridge';
    case EXCEPTIONAL_CLOSURE = 'closure';

    public function label(): string
    {
        return match ($this) {
            self::HOLIDAY => 'Jour férié',
            self::VACATION => 'Vacances scolaires',
            self::PEDAGOGICAL_DAY => 'Journée pédagogique',
            self::BRIDGE => 'Pont',
            self::EXCEPTIONAL_CLOSURE => 'Fermeture exceptionnelle',
        };
    }
}
