mirror of
https://github.com/flarum/core.git
synced 2025-08-08 09:26:34 +02:00
chore(phpstan): enable phpstan in bundled extensions (#3667)
* feat(phpstan): pick up extended model relations typings * feat(phpstan): pick up extended model date attributes * feat(core): introduce `castAttribute` extender Stops using `dates` as it's deprecated in laravel 8 * feat(phpstan): pick up extended model attributes through casts * fix: extenders not resolved when declared namespace * fix(phpstan): new model attributes are always nullable * chore(phpstan): add helpful cache clearing command * Apply fixes from StyleCI * chore: improve extend files provider logic * chore: rename `castAttribute` to just `cast` * chore: update phpstan package to detect `cast` method * chore: enable phpstan in bundled extensions * chore: rebasing conflicts * chore: rebasing conflicts * chore: typings for latest 1.7 changes Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
This commit is contained in:
@@ -58,7 +58,7 @@ class ListTasksController extends AbstractListController
|
||||
|
||||
$total = $this->repository->query()->count();
|
||||
|
||||
$document->addMeta('total', $total);
|
||||
$document->addMeta('total', (string) $total);
|
||||
|
||||
$document->addPaginationLinks(
|
||||
$this->url->to('api')->route('package-manager.tasks.index'),
|
||||
|
@@ -9,7 +9,14 @@
|
||||
|
||||
namespace Flarum\PackageManager\Command;
|
||||
|
||||
interface BusinessCommandInterface
|
||||
use Flarum\PackageManager\Task\Task;
|
||||
|
||||
abstract class AbstractActionCommand
|
||||
{
|
||||
public function getOperationName(): string;
|
||||
/**
|
||||
* @var Task|null
|
||||
*/
|
||||
public $task = null;
|
||||
|
||||
abstract public function getOperationName(): string;
|
||||
}
|
@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
|
||||
use Flarum\PackageManager\Task\Task;
|
||||
use Flarum\User\User;
|
||||
|
||||
class CheckForUpdates implements BusinessCommandInterface
|
||||
class CheckForUpdates extends AbstractActionCommand
|
||||
{
|
||||
/**
|
||||
* @var Task
|
||||
*/
|
||||
public $task = null;
|
||||
|
||||
/**
|
||||
* @var \Flarum\User\User
|
||||
*/
|
||||
|
@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
|
||||
use Flarum\PackageManager\Task\Task;
|
||||
use Flarum\User\User;
|
||||
|
||||
class GlobalUpdate implements BusinessCommandInterface
|
||||
class GlobalUpdate extends AbstractActionCommand
|
||||
{
|
||||
/**
|
||||
* @var Task
|
||||
*/
|
||||
public $task = null;
|
||||
|
||||
/**
|
||||
* @var \Flarum\User\User
|
||||
*/
|
||||
|
@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
|
||||
use Flarum\PackageManager\Task\Task;
|
||||
use Flarum\User\User;
|
||||
|
||||
class MajorUpdate implements BusinessCommandInterface
|
||||
class MajorUpdate extends AbstractActionCommand
|
||||
{
|
||||
/**
|
||||
* @var Task
|
||||
*/
|
||||
public $task = null;
|
||||
|
||||
/**
|
||||
* @var \Flarum\User\User
|
||||
*/
|
||||
|
@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
|
||||
use Flarum\PackageManager\Task\Task;
|
||||
use Flarum\User\User;
|
||||
|
||||
class MinorUpdate implements BusinessCommandInterface
|
||||
class MinorUpdate extends AbstractActionCommand
|
||||
{
|
||||
/**
|
||||
* @var Task
|
||||
*/
|
||||
public $task = null;
|
||||
|
||||
/**
|
||||
* @var \Flarum\User\User
|
||||
*/
|
||||
|
@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
|
||||
use Flarum\PackageManager\Task\Task;
|
||||
use Flarum\User\User;
|
||||
|
||||
class RemoveExtension implements BusinessCommandInterface
|
||||
class RemoveExtension extends AbstractActionCommand
|
||||
{
|
||||
/**
|
||||
* @var Task
|
||||
*/
|
||||
public $task = null;
|
||||
|
||||
/**
|
||||
* @var User
|
||||
*/
|
||||
|
@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
|
||||
use Flarum\PackageManager\Task\Task;
|
||||
use Flarum\User\User;
|
||||
|
||||
class RequireExtension implements BusinessCommandInterface
|
||||
class RequireExtension extends AbstractActionCommand
|
||||
{
|
||||
/**
|
||||
* @var Task
|
||||
*/
|
||||
public $task = null;
|
||||
|
||||
/**
|
||||
* @var User
|
||||
*/
|
||||
|
@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
|
||||
use Flarum\PackageManager\Task\Task;
|
||||
use Flarum\User\User;
|
||||
|
||||
class UpdateExtension implements BusinessCommandInterface
|
||||
class UpdateExtension extends AbstractActionCommand
|
||||
{
|
||||
/**
|
||||
* @var Task
|
||||
*/
|
||||
public $task = null;
|
||||
|
||||
/**
|
||||
* @var User
|
||||
*/
|
||||
|
@@ -12,13 +12,8 @@ namespace Flarum\PackageManager\Command;
|
||||
use Flarum\PackageManager\Task\Task;
|
||||
use Flarum\User\User;
|
||||
|
||||
class WhyNot implements BusinessCommandInterface
|
||||
class WhyNot extends AbstractActionCommand
|
||||
{
|
||||
/**
|
||||
* @var Task
|
||||
*/
|
||||
public $task = null;
|
||||
|
||||
/**
|
||||
* @var User
|
||||
*/
|
||||
|
@@ -60,6 +60,7 @@ class ComposerAdapter
|
||||
$exitCode = $this->application->run($input, $this->output);
|
||||
chdir($currDir);
|
||||
|
||||
// @phpstan-ignore-next-line
|
||||
$command = $input->__toString();
|
||||
$output = $this->output->fetch();
|
||||
|
||||
|
@@ -10,7 +10,7 @@
|
||||
namespace Flarum\PackageManager\Job;
|
||||
|
||||
use Flarum\Bus\Dispatcher;
|
||||
use Flarum\PackageManager\Command\BusinessCommandInterface;
|
||||
use Flarum\PackageManager\Command\AbstractActionCommand;
|
||||
use Flarum\PackageManager\Composer\ComposerAdapter;
|
||||
use Flarum\Queue\AbstractJob;
|
||||
use Illuminate\Queue\Middleware\WithoutOverlapping;
|
||||
@@ -19,7 +19,7 @@ use Throwable;
|
||||
class ComposerCommandJob extends AbstractJob
|
||||
{
|
||||
/**
|
||||
* @var BusinessCommandInterface
|
||||
* @var AbstractActionCommand
|
||||
*/
|
||||
protected $command;
|
||||
|
||||
@@ -28,7 +28,7 @@ class ComposerCommandJob extends AbstractJob
|
||||
*/
|
||||
protected $phpVersion;
|
||||
|
||||
public function __construct(BusinessCommandInterface $command, string $phpVersion)
|
||||
public function __construct(AbstractActionCommand $command, string $phpVersion)
|
||||
{
|
||||
$this->command = $command;
|
||||
$this->phpVersion = $phpVersion;
|
||||
|
@@ -10,7 +10,7 @@
|
||||
namespace Flarum\PackageManager\Job;
|
||||
|
||||
use Flarum\Bus\Dispatcher as Bus;
|
||||
use Flarum\PackageManager\Command\BusinessCommandInterface;
|
||||
use Flarum\PackageManager\Command\AbstractActionCommand;
|
||||
use Flarum\PackageManager\Task\Task;
|
||||
use Flarum\Settings\SettingsRepositoryInterface;
|
||||
use Illuminate\Contracts\Queue\Queue;
|
||||
@@ -63,7 +63,7 @@ class Dispatcher
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function dispatch(BusinessCommandInterface $command): DispatcherResponse
|
||||
public function dispatch(AbstractActionCommand $command): DispatcherResponse
|
||||
{
|
||||
$queueJobs = ($this->runSyncOverride === false) || ($this->runSyncOverride !== true && $this->settings->get('flarum-package-manager.queue_jobs'));
|
||||
|
||||
|
@@ -26,7 +26,7 @@ class LastUpdateRun implements JsonSetting
|
||||
protected $data;
|
||||
|
||||
/**
|
||||
* @var {'major'|'minor'|'global'}
|
||||
* @var string|null
|
||||
*/
|
||||
protected $activeUpdate;
|
||||
|
||||
|
@@ -13,16 +13,16 @@ use Carbon\Carbon;
|
||||
use Flarum\Database\AbstractModel;
|
||||
|
||||
/**
|
||||
* @property int id
|
||||
* @property int status
|
||||
* @property string operation
|
||||
* @property string command
|
||||
* @property string package
|
||||
* @property string output
|
||||
* @property Carbon created_at
|
||||
* @property Carbon started_at
|
||||
* @property Carbon finished_at
|
||||
* @property int peak_memory_used
|
||||
* @property int $id
|
||||
* @property int $status
|
||||
* @property string $operation
|
||||
* @property string $command
|
||||
* @property string $package
|
||||
* @property string $output
|
||||
* @property Carbon $created_at
|
||||
* @property Carbon $started_at
|
||||
* @property Carbon $finished_at
|
||||
* @property float $peak_memory_used
|
||||
*/
|
||||
class Task extends AbstractModel
|
||||
{
|
||||
|
Reference in New Issue
Block a user