router->bind('server', function ($value) use ($request) { try { $column = 'uuidShort'; if (preg_match('/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i', $value)) { $column = 'uuid'; } return Container::getInstance()->make(ServerRepositoryInterface::class)->findFirstWhere([ [$column, '=', $value], ]); } catch (RecordNotFoundException $ex) { $request->attributes->set('is_missing_model', true); return null; } }); $this->router->bind('database', function ($value) use ($request) { $id = Container::getInstance()->make(HashidsInterface::class)->decodeFirst($value); return Database::query()->where('id', $id)->firstOrFail(); }); $this->router->model('backup', Backup::class, function ($value) { return Backup::query()->where('uuid', $value)->firstOrFail(); }); return parent::handle($request, $next); } }