diff --git a/src/Extracting/DatabaseTransactionHelpers.php b/src/Extracting/DatabaseTransactionHelpers.php index 0ddcdea3..cb2407cd 100644 --- a/src/Extracting/DatabaseTransactionHelpers.php +++ b/src/Extracting/DatabaseTransactionHelpers.php @@ -11,9 +11,13 @@ trait DatabaseTransactionHelpers */ private function startDbTransaction() { - try { - app('db')->beginTransaction(); - } catch (Exception $e) { + $connections = array_keys(config('database.connections', [])); + + foreach ($connections as $conn) { + try { + app('db')->connection($conn)->beginTransaction(); + } catch (Exception $e) { + } } } @@ -22,9 +26,13 @@ private function startDbTransaction() */ private function endDbTransaction() { - try { - app('db')->rollBack(); - } catch (Exception $e) { + $connections = array_keys(config('database.connections', [])); + + foreach ($connections as $conn) { + try { + app('db')->connection($conn)->rollBack(); + } catch (Exception $e) { + } } } } diff --git a/src/Extracting/Strategies/Responses/ResponseCalls.php b/src/Extracting/Strategies/Responses/ResponseCalls.php index 3216ffbd..08172c57 100644 --- a/src/Extracting/Strategies/Responses/ResponseCalls.php +++ b/src/Extracting/Strategies/Responses/ResponseCalls.php @@ -3,12 +3,12 @@ namespace Knuckles\Scribe\Extracting\Strategies\Responses; use Dingo\Api\Dispatcher; +use Dingo\Api\Routing\Route as DingoRoute; use Exception; use Illuminate\Contracts\Http\Kernel; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Routing\Route; -use Dingo\Api\Routing\Route as DingoRoute; use Illuminate\Support\Str; use Knuckles\Scribe\Extracting\DatabaseTransactionHelpers; use Knuckles\Scribe\Extracting\ParamHelpers; diff --git a/src/Extracting/Strategies/Responses/UseApiResourceTags.php b/src/Extracting/Strategies/Responses/UseApiResourceTags.php index d105e5fd..c333c961 100644 --- a/src/Extracting/Strategies/Responses/UseApiResourceTags.php +++ b/src/Extracting/Strategies/Responses/UseApiResourceTags.php @@ -13,12 +13,12 @@ use Illuminate\Routing\Route; use Illuminate\Support\Arr; use Knuckles\Scribe\Extracting\DatabaseTransactionHelpers; -use Knuckles\Scribe\Tools\AnnotationParser; -use League\Fractal\Resource\Collection; use Knuckles\Scribe\Extracting\RouteDocBlocker; use Knuckles\Scribe\Extracting\Strategies\Strategy; +use Knuckles\Scribe\Tools\AnnotationParser; use Knuckles\Scribe\Tools\Flags; use Knuckles\Scribe\Tools\Utils; +use League\Fractal\Resource\Collection; use Mpociot\Reflection\DocBlock; use Mpociot\Reflection\DocBlock\Tag; use ReflectionClass; @@ -50,7 +50,6 @@ public function __invoke(Route $route, ReflectionClass $controller, ReflectionFu try { return $this->getApiResourceResponse($methodDocBlock->getTags()); - } catch (Exception $e) { clara('knuckleswtf/scribe')->warn('Exception thrown when fetching Eloquent API resource response for [' . implode(',', $route->methods) . "] {$route->uri}."); if (Flags::$shouldBeVerbose) { @@ -101,7 +100,7 @@ public function getApiResourceResponse(array $tags) $perPage ); $list = $paginator; - } else if (count($pagination) == 2 && $pagination[0] == 'simple') { + } elseif (count($pagination) == 2 && $pagination[0] == 'simple') { $perPage = $pagination[1]; $paginator = new Paginator($models, $perPage); $list = $paginator; diff --git a/src/Extracting/Strategies/Responses/UseTransformerTags.php b/src/Extracting/Strategies/Responses/UseTransformerTags.php index 1bb7807a..01c25d20 100644 --- a/src/Extracting/Strategies/Responses/UseTransformerTags.php +++ b/src/Extracting/Strategies/Responses/UseTransformerTags.php @@ -8,14 +8,14 @@ use Illuminate\Routing\Route; use Illuminate\Support\Arr; use Knuckles\Scribe\Extracting\DatabaseTransactionHelpers; -use Knuckles\Scribe\Tools\AnnotationParser; -use League\Fractal\Manager; -use League\Fractal\Resource\Collection; -use League\Fractal\Resource\Item; use Knuckles\Scribe\Extracting\RouteDocBlocker; use Knuckles\Scribe\Extracting\Strategies\Strategy; +use Knuckles\Scribe\Tools\AnnotationParser; use Knuckles\Scribe\Tools\Flags; use Knuckles\Scribe\Tools\Utils; +use League\Fractal\Manager; +use League\Fractal\Resource\Collection; +use League\Fractal\Resource\Item; use Mpociot\Reflection\DocBlock; use Mpociot\Reflection\DocBlock\Tag; use ReflectionClass; @@ -68,19 +68,19 @@ public function __invoke(Route $route, ReflectionClass $controller, ReflectionFu */ public function getTransformerResponse(array $tags) { - if (empty($transformerTag = $this->getTransformerTag($tags))) { - return null; - } + if (empty($transformerTag = $this->getTransformerTag($tags))) { + return null; + } - [$statusCode, $transformer] = $this->getStatusCodeAndTransformerClass($transformerTag); - [$model, $factoryStates, $relations] = $this->getClassToBeTransformed($tags, (new ReflectionClass($transformer))->getMethod('transform')); - $modelInstance = $this->instantiateTransformerModel($model, $factoryStates, $relations); + [$statusCode, $transformer] = $this->getStatusCodeAndTransformerClass($transformerTag); + [$model, $factoryStates, $relations] = $this->getClassToBeTransformed($tags, (new ReflectionClass($transformer))->getMethod('transform')); + $modelInstance = $this->instantiateTransformerModel($model, $factoryStates, $relations); - $fractal = new Manager(); + $fractal = new Manager(); - if (! is_null($this->config->get('fractal.serializer'))) { - $fractal->setSerializer(app($this->config->get('fractal.serializer'))); - } + if (! is_null($this->config->get('fractal.serializer'))) { + $fractal->setSerializer(app($this->config->get('fractal.serializer'))); + } if ((strtolower($transformerTag->getName()) == 'transformercollection')) { $models = [$modelInstance, $this->instantiateTransformerModel($model, $factoryStates, $relations)]; @@ -99,9 +99,9 @@ public function getTransformerResponse(array $tags) $resource = new Item($modelInstance, new $transformer()); } - $response = response($fractal->createData($resource)->toJson()); + $response = response($fractal->createData($resource)->toJson()); - return [ + return [ [ 'status' => $statusCode ?: 200, 'content' => $response->getContent(),