<?php
namespace App\Enum;

/**
 * Enumeration for status
 */
class StatusEnum
{

    /** @var string When it's not started yet */
    public const OPEN = 'open';

    /** @var string When it's in progress */
    public const IN_PROGRESS = 'inProgress';

    /** @var string When it's waiting for something or someone to continue actions */
    public const WAITING = 'waiting';

    /** @var string Actions are planified and nothing is happening before */
    public const PLANIFIED = 'planified';

    /** @var string Activity is postponed */
    public const POSTPONED = 'posetponed';

    /** @var string No more actions required, success or fail */
    public const CLOSED = 'closed';

    /** @var string Canceled */
    public const CANCELED = 'canceled';

    /** @var array Names of status */
    public const STATUS_NAME = [
        self::OPEN => 'Ouvert',
        self::IN_PROGRESS => 'En cours',
        self::WAITING => 'En attente',
        self::PLANIFIED => 'Planifié',
        self::POSTPONED => 'Reporté',
        self::CANCELED => 'Annulé',
        self::CLOSED => 'Clos',
    ];

    /** @var array Status considered active */
    public const ACTIVE_STATUS = [
        self::OPEN,
        self::IN_PROGRESS,
        self::PLANIFIED,
    ];

    /** @var Status considered as closed */
    public const CLOSED_STATUS = [
        self::CLOSED,
        self::CANCELED,
    ];
}