Static analysis cleanup

This commit is contained in:
David Bomba 2023-04-26 23:17:49 +10:00
parent a9027c1c33
commit caa7c30620
4 changed files with 48 additions and 36 deletions

View File

@ -11,36 +11,36 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\User;
use App\Utils\Ninja;
use App\Models\Client;
use App\Models\Design;
use App\Utils\Statics;
use App\Models\Account; use App\Models\Account;
use App\Models\TaxRate;
use App\Models\Webhook;
use App\Models\Scheduler;
use App\Models\TaskStatus;
use App\Models\PaymentTerm;
use Illuminate\Support\Str;
use League\Fractal\Manager;
use App\Models\GroupSetting;
use Illuminate\Http\Response;
use App\Models\CompanyGateway;
use App\Utils\Traits\AppSetup;
use App\Models\BankIntegration; use App\Models\BankIntegration;
use App\Models\BankTransaction; use App\Models\BankTransaction;
use App\Models\ExpenseCategory;
use League\Fractal\Resource\Item;
use App\Models\BankTransactionRule; use App\Models\BankTransactionRule;
use Illuminate\Support\Facades\Auth; use App\Models\Client;
use App\Models\CompanyGateway;
use App\Models\Design;
use App\Models\ExpenseCategory;
use App\Models\GroupSetting;
use App\Models\PaymentTerm;
use App\Models\Scheduler;
use App\Models\TaskStatus;
use App\Models\TaxRate;
use App\Models\User;
use App\Models\Webhook;
use App\Transformers\ArraySerializer; use App\Transformers\ArraySerializer;
use App\Transformers\EntityTransformer; use App\Transformers\EntityTransformer;
use League\Fractal\Resource\Collection; use App\Utils\Ninja;
use Illuminate\Database\Eloquent\Builder; use App\Utils\Statics;
use League\Fractal\Serializer\JsonApiSerializer; use App\Utils\Traits\AppSetup;
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
use Illuminate\Contracts\Container\BindingResolutionException; use Illuminate\Contracts\Container\BindingResolutionException;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str;
use League\Fractal\Manager;
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
use League\Fractal\Resource\Collection;
use League\Fractal\Resource\Item;
use League\Fractal\Serializer\JsonApiSerializer;
/** /**
* Class BaseController. * Class BaseController.
@ -298,6 +298,7 @@ class BaseController extends Controller
*/ */
protected function refreshResponse($query) protected function refreshResponse($query)
{ {
/** @var \App\Models\User $user */
$user = auth()->user(); $user = auth()->user();
$this->manager->parseIncludes($this->first_load); $this->manager->parseIncludes($this->first_load);
@ -536,7 +537,9 @@ class BaseController extends Controller
$paginator = $query->paginate($limit); $paginator = $query->paginate($limit);
$query = $paginator->getCollection(); /** @phpstan-ignore-next-line */
$query = $paginator->getCollection(); /** @phpstan-ignore-line */
$resource = new Collection($query, $transformer, $this->entity_type); $resource = new Collection($query, $transformer, $this->entity_type);
@ -572,6 +575,7 @@ class BaseController extends Controller
*/ */
protected function miniLoadResponse($query) protected function miniLoadResponse($query)
{ {
/** @var \App\Models\User $user */
$user = auth()->user(); $user = auth()->user();
$this->serializer = request()->input('serializer') ?: EntityTransformer::API_SERIALIZER_ARRAY; $this->serializer = request()->input('serializer') ?: EntityTransformer::API_SERIALIZER_ARRAY;
@ -638,6 +642,8 @@ class BaseController extends Controller
$limit = $this->resolveQueryLimit(); $limit = $this->resolveQueryLimit();
$paginator = $query->paginate($limit); $paginator = $query->paginate($limit);
/** @phpstan-ignore-next-line */
$query = $paginator->getCollection(); $query = $paginator->getCollection();
$resource = new Collection($query, $transformer, $this->entity_type); $resource = new Collection($query, $transformer, $this->entity_type);
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
@ -675,6 +681,7 @@ class BaseController extends Controller
*/ */
protected function timeConstrainedResponse($query) protected function timeConstrainedResponse($query)
{ {
/** @var \App\Models\User $user */
$user = auth()->user(); $user = auth()->user();
if ($user->getCompany()->is_large) { if ($user->getCompany()->is_large) {
@ -902,13 +909,18 @@ class BaseController extends Controller
$limit = $this->resolveQueryLimit(); $limit = $this->resolveQueryLimit();
$paginator = $query->paginate($limit); $paginator = $query->paginate($limit);
/** @phpstan-ignore-next-line */
$query = $paginator->getCollection(); $query = $paginator->getCollection();
$resource = new Collection($query, $transformer, $this->entity_type); $resource = new Collection($query, $transformer, $this->entity_type);
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator));
} else {
$resource = new Collection($query, $transformer, $this->entity_type);
} }
// else {
// $resource = new Collection($query, $transformer, $this->entity_type);
// }
return $this->response($this->manager->createData($resource)->toArray()); return $this->response($this->manager->createData($resource)->toArray());
} }

View File

@ -25,8 +25,8 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @property int|null $created_at * @property int|null $created_at
* @property int|null $updated_at * @property int|null $updated_at
* @property int|null $deleted_at * @property int|null $deleted_at
* @property int $is_deleted * @property bool $is_deleted
* @property int $is_system * @property bool $is_system
* @property-read \App\Models\Account $account * @property-read \App\Models\Account $account
* @property-read \App\Models\Company $company * @property-read \App\Models\Company $company
* @property-read \App\Models\CompanyUser|null $company_user * @property-read \App\Models\CompanyUser|null $company_user

View File

@ -25,12 +25,12 @@ trait Excludable
/** /**
* Exclude an array of elements from the result. * Exclude an array of elements from the result.
* @param $query * @param Builder $query
* @param $columns * @param array $columns
* *
* @return mixed * @return mixed
*/ */
public function scopeExclude($query, $columns) public function scopeExclude($query, $columns): \Illuminate\Database\Eloquent\Builder
{ {
return $query->select(array_diff($this->getTableColumns(), (array) $columns)); return $query->select(array_diff($this->getTableColumns(), (array) $columns));
} }

View File

@ -148,7 +148,7 @@ use Laracasts\Presenter\PresentableTrait;
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications * @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyToken> $tokens * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyToken> $tokens
* @method bool hasPermissionTo(string $permission) * @method bool hasPermissionTo(string $permission)
* @method \Illuminate\Database\Eloquent\Builder|Company getCompany() * @method \App\Models\Company getCompany()
* @method bool hasExcludedPermissions(array $matched_permission, array $excluded_permissions) * @method bool hasExcludedPermissions(array $matched_permission, array $excluded_permissions)
* @method bool isAdmin() * @method bool isAdmin()
* @method bool isSuperUser() * @method bool isSuperUser()