From 3286bb43b8919daac213144090a2eac4bb629a16 Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Mon, 15 Sep 2025 22:35:58 -0400 Subject: [PATCH] Moved shared code to trait --- .../Concerns/ResolvesQueueEligibility.php | 34 +++++++++++++++++++ src/Http/Middleware/InlineQueue.php | 30 ++-------------- src/Http/Middleware/KnownUserQueue.php | 29 ++-------------- 3 files changed, 40 insertions(+), 53 deletions(-) create mode 100644 src/Http/Concerns/ResolvesQueueEligibility.php diff --git a/src/Http/Concerns/ResolvesQueueEligibility.php b/src/Http/Concerns/ResolvesQueueEligibility.php new file mode 100644 index 0000000..7acad67 --- /dev/null +++ b/src/Http/Concerns/ResolvesQueueEligibility.php @@ -0,0 +1,34 @@ +call(self::$userQueueEligibilityResolver); + } + + return true; + } +} diff --git a/src/Http/Middleware/InlineQueue.php b/src/Http/Middleware/InlineQueue.php index 5fa50b8..652c0de 100644 --- a/src/Http/Middleware/InlineQueue.php +++ b/src/Http/Middleware/InlineQueue.php @@ -3,10 +3,10 @@ namespace Jorbascrumps\QueueIt\Http\Middleware; use Closure; -use Illuminate\Container\Container; use Illuminate\Http\Request; use Jorbascrumps\QueueIt\Events\QueueFailed; use Jorbascrumps\QueueIt\Events\UserQueued; +use Jorbascrumps\QueueIt\Http\Concerns\ResolvesQueueEligibility; use QueueIT\KnownUserV3\SDK\ActionTypes; use QueueIT\KnownUserV3\SDK\KnownUser; use QueueIT\KnownUserV3\SDK\KnownUserException; @@ -15,16 +15,12 @@ class InlineQueue implements Stringable { + use ResolvesQueueEligibility; + public const ALIAS = 'queue-it.inline-queue'; public const TOKEN_KEY = 'queueittoken'; - /** - * The callback that is responsible for resolving user queue eligibility. - * @var callable|null - */ - protected static $userQueueEligibilityResolver; - protected ?string $eventId = null; protected ?string $queueDomain = null; @@ -58,26 +54,6 @@ public function __construct( $this->eventId = $eventId; } - /** - * Register a callback that is responsible for resolving user queue eligibility. - */ - public static function resolveUserQueueEligibilityUsing(callable $callback): void - { - static::$userQueueEligibilityResolver = $callback; - } - - /** - * Resolve user queue eligibility. - */ - protected function resolveUserQueueEligibility(): bool - { - if (isset(static::$userQueueEligibilityResolver)) { - return Container::getInstance()->call(self::$userQueueEligibilityResolver); - } - - return true; - } - /** * Handle an incoming request. * @see https://github.com/queueit/KnownUser.V3.PHP#implementation-using-inline-queue-configuration diff --git a/src/Http/Middleware/KnownUserQueue.php b/src/Http/Middleware/KnownUserQueue.php index d9cc6f1..75e06b8 100644 --- a/src/Http/Middleware/KnownUserQueue.php +++ b/src/Http/Middleware/KnownUserQueue.php @@ -7,6 +7,7 @@ use Illuminate\Http\Request; use Jorbascrumps\QueueIt\Events\QueueFailed; use Jorbascrumps\QueueIt\Events\UserQueued; +use Jorbascrumps\QueueIt\Http\Concerns\ResolvesQueueEligibility; use Jorbascrumps\QueueIt\HttpRequestProvider; use QueueIT\KnownUserV3\SDK\ActionTypes; use QueueIT\KnownUserV3\SDK\KnownUser; @@ -15,6 +16,8 @@ class KnownUserQueue { + use ResolvesQueueEligibility; + public const ALIAS = 'queue-it.known-user-queue'; public const TOKEN_KEY = 'queueittoken'; @@ -25,12 +28,6 @@ class KnownUserQueue */ protected static $integrationConfigurationResolver; - /** - * The callback that is responsible for resolving user queue eligibility. - * @var callable|null - */ - protected static $userQueueEligibilityResolver; - /** * Register a callback that is responsible for resolving the integration configuration. */ @@ -51,26 +48,6 @@ protected function resolveIntegrationConfiguration(): string throw new RuntimeException('No integration configuration resolver has been set.'); } - /** - * Register a callback that is responsible for resolving user queue eligibility. - */ - public static function resolveUserQueueEligibilityUsing(callable $callback): void - { - static::$userQueueEligibilityResolver = $callback; - } - - /** - * Resolve user queue eligibility. - */ - protected function resolveUserQueueEligibility(): bool - { - if (isset(static::$userQueueEligibilityResolver)) { - return Container::getInstance()->call(self::$userQueueEligibilityResolver); - } - - return true; - } - /** * Handle an incoming request. * @see https://github.com/queueit/KnownUser.V3.PHP#implementation