. */ declare(strict_types=1); namespace FireflyIII\Support\Binder; use Illuminate\Routing\Route; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; /** * Class DynamicConfigKey */ class DynamicConfigKey { public static array $accepted = [ 'configuration.is_demo_site', // boolean 'configuration.permission_update_check', // -1, 0 or 1 (never asked, no permission, permission) 'configuration.single_user_mode', // boolean 'configuration.last_update_check', // timestamp 'configuration.enable_exchange_rates', // boolean 'configuration.use_running_balance', // boolean 'configuration.enable_external_map', // boolean 'configuration.enable_external_rates', // boolean 'configuration.allow_webhooks', // boolean 'configuration.valid_url_protocols', // string ("http,https") ]; /** * @throws NotFoundHttpException * * @SuppressWarnings("PHPMD.UnusedFormalParameter") */ public static function routeBinder(string $value, Route $route): string { if (in_array($value, self::$accepted, true)) { return $value; } throw new NotFoundHttpException(); } }