Files
solidtime/app/Enums/RegistrationMode.php
Constantin Graf 303de4930d Add invite-only registration mode
Support configurable on, invite-only, and off registration modes, including case-insensitive invitation checks and test coverage.
2026-08-25 18:20:45 +02:00

30 lines
606 B
PHP

<?php
declare(strict_types=1);
namespace App\Enums;
enum RegistrationMode: string
{
case On = 'on';
case InviteOnly = 'invite-only';
case Off = 'off';
public static function fromConfig(mixed $value): self
{
if ($value === true) {
return self::On;
}
if ($value === false || $value === null) {
return self::Off;
}
return match (strtolower(trim((string) $value))) {
'1', 'on', 'true' => self::On,
'invite', 'invite-only' => self::InviteOnly,
default => self::Off,
};
}
}