diff --git a/app/Console/Commands/CreateDatabase.php b/app/Console/Commands/CreateDatabase.php index 99d8b439..6434d36c 100644 --- a/app/Console/Commands/CreateDatabase.php +++ b/app/Console/Commands/CreateDatabase.php @@ -2,6 +2,7 @@ namespace App\Console\Commands; +use Illuminate\Console\Attributes\Signature; use Illuminate\Console\Command; use Illuminate\Filesystem\Filesystem; use Illuminate\Support\Facades\DB; @@ -12,16 +13,12 @@ use Symfony\Component\Console\Attribute\AsCommand; use function Laravel\Prompts\confirm; #[AsCommand(name: 'db:create', description: 'Create a new database based on your configuration')] -class CreateDatabase extends Command -{ - /** - * The console command signature. - */ - protected $signature = 'db:create +#[Signature('db:create {--reset : Drop the database before creating it} {--force : Force the operation to run without prompts} - {--connection= : The database connection to use}'; - + {--connection= : The database connection to use}')] +class CreateDatabase extends Command +{ public function __construct(private readonly Filesystem $file) { parent::__construct(); diff --git a/app/Console/Commands/DevInstall.php b/app/Console/Commands/DevInstall.php index 730eeb94..5851b3f7 100644 --- a/app/Console/Commands/DevInstall.php +++ b/app/Console/Commands/DevInstall.php @@ -4,21 +4,18 @@ declare(strict_types=1); namespace App\Console\Commands; +use Illuminate\Console\Attributes\Signature; use Illuminate\Console\Command; use Symfony\Component\Console\Attribute\AsCommand; use function Laravel\Prompts\confirm; #[AsCommand(name: 'phpvms:dev-install', description: 'Create a fresh development install and run the sample migration')] +#[Signature('phpvms:dev-install + {--reset-db : Completely drop and recreate the database} + {--force : Force the operation to run without prompts}')] class DevInstall extends Command { - /** - * The console command signature. - */ - protected $signature = 'phpvms:dev-install - {--reset-db : Completely drop and recreate the database} - {--force : Force the operation to run without prompts}'; - /** * Execute the console command. */ diff --git a/app/Console/Commands/EmailTest.php b/app/Console/Commands/EmailTest.php index 34dc05a6..c0ab2b58 100644 --- a/app/Console/Commands/EmailTest.php +++ b/app/Console/Commands/EmailTest.php @@ -5,17 +5,14 @@ namespace App\Console\Commands; use App\Events\NewsAdded; use App\Listeners\NotificationsSubscriber; use App\Models\News; +use Illuminate\Console\Attributes\Signature; use Illuminate\Console\Command; use Symfony\Component\Console\Attribute\AsCommand; #[AsCommand(name: 'phpvms:email-test', description: 'Send a test notification to admins')] +#[Signature('phpvms:email-test')] class EmailTest extends Command { - /** - * The console command signature. - */ - protected $signature = 'phpvms:email-test'; - /** * Execute the console command. */ diff --git a/app/Console/Commands/ImportFromClassicCommand.php b/app/Console/Commands/ImportFromClassicCommand.php index c33d8014..2e04c49e 100644 --- a/app/Console/Commands/ImportFromClassicCommand.php +++ b/app/Console/Commands/ImportFromClassicCommand.php @@ -4,23 +4,20 @@ namespace App\Console\Commands; use App\Services\LegacyImporterService; use Exception; +use Illuminate\Console\Attributes\Signature; use Illuminate\Console\Command; use Illuminate\Support\Facades\Log; use Symfony\Component\Console\Attribute\AsCommand; #[AsCommand(name: 'phpvms:importer', description: 'Import data from an older version of phpVMS')] -class ImportFromClassicCommand extends Command -{ - /** - * The console command signature. - */ - protected $signature = 'phpvms:importer +#[Signature('phpvms:importer {db_host : The legacy database host} {db_name : The legacy database name} {db_user : The legacy database user} {db_pass? : The legacy database password} - {table_prefix=phpvms_ : The legacy database table prefix}'; - + {table_prefix=phpvms_ : The legacy database table prefix}')] +class ImportFromClassicCommand extends Command +{ /** * Execute the console command. */ diff --git a/app/Console/Commands/ModuleSetupFilament.php b/app/Console/Commands/ModuleSetupFilament.php index 6b76120a..ab9076e3 100644 --- a/app/Console/Commands/ModuleSetupFilament.php +++ b/app/Console/Commands/ModuleSetupFilament.php @@ -2,6 +2,7 @@ namespace App\Console\Commands; +use Illuminate\Console\Attributes\Signature; use Illuminate\Console\Command; use Illuminate\Console\Concerns\PromptsForMissingInput; use Illuminate\Contracts\Console\PromptsForMissingInput as PromptsForMissingInputContract; @@ -11,15 +12,11 @@ use Nwidart\Modules\Module; use Symfony\Component\Console\Attribute\AsCommand; #[AsCommand(name: 'module:setup-filament', description: 'Add Filament Support to a Module')] +#[Signature('module:setup-filament {module : The name of the module}')] class ModuleSetupFilament extends Command implements PromptsForMissingInputContract { use PromptsForMissingInput; - /** - * The console command signature. - */ - protected $signature = 'module:setup-filament {module : The name of the module}'; - protected string $basePath = 'Providers/Filament'; protected string $className = 'AdminPanelProvider'; diff --git a/app/Console/Commands/PreserveHiddenVisibility.php b/app/Console/Commands/PreserveHiddenVisibility.php index 40142ee5..8fec293b 100644 --- a/app/Console/Commands/PreserveHiddenVisibility.php +++ b/app/Console/Commands/PreserveHiddenVisibility.php @@ -5,14 +5,14 @@ declare(strict_types=1); namespace App\Console\Commands; use App\Models\Flight; +use Illuminate\Console\Attributes\Description; +use Illuminate\Console\Attributes\Signature; use Illuminate\Console\Command; +#[Description('One-shot: disable flights that were previously hidden (visible=false), preserving admin intent post-visibility-rename')] +#[Signature('phpvms:preserve-hidden-visibility')] class PreserveHiddenVisibility extends Command { - protected $signature = 'phpvms:preserve-hidden-visibility'; - - protected $description = 'One-shot: disable flights that were previously hidden (visible=false), preserving admin intent post-visibility-rename'; - public function handle(): int { $affected = Flight::query() diff --git a/app/Console/Commands/Version.php b/app/Console/Commands/Version.php index 0c00a225..34afcc63 100644 --- a/app/Console/Commands/Version.php +++ b/app/Console/Commands/Version.php @@ -3,6 +3,7 @@ namespace App\Console\Commands; use App\Services\VersionService; +use Illuminate\Console\Attributes\Signature; use Illuminate\Console\Command; use Illuminate\Support\Facades\File; use Symfony\Component\Console\Attribute\AsCommand; @@ -12,17 +13,13 @@ use Version\Extension\PreRelease; use Version\Version as SemanticVersion; #[AsCommand(name: 'phpvms:version', description: 'Get or update the current application version')] -class Version extends Command -{ - /** - * The console command signature. - */ - protected $signature = 'phpvms:version +#[Signature('phpvms:version {version? : The semantic version string to apply} {--write : Write the updated version/build number to the version.yml file} {--base-only : Only output the base version without build metadata} - {--write-full-version : Update the major, minor, and patch values in the file}'; - + {--write-full-version : Update the major, minor, and patch values in the file}')] +class Version extends Command +{ /** * Execute the console command. */ diff --git a/app/Models/Acars.php b/app/Models/Acars.php index b98ff5df..f94e85f4 100644 --- a/app/Models/Acars.php +++ b/app/Models/Acars.php @@ -9,6 +9,7 @@ use App\Enums\AcarsType; use App\Enums\NavaidType; use App\Traits\HashIdTrait; use Illuminate\Database\Eloquent\Attributes\Scope; +use Illuminate\Database\Eloquent\Attributes\WithoutIncrementing; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -82,6 +83,7 @@ use Illuminate\Support\Carbon; * * @mixin \Eloquent */ +#[WithoutIncrementing] class Acars extends Model { use HasFactory; @@ -119,8 +121,6 @@ class Acars extends Model 'updated_at', ]; - public $incrementing = false; - protected $appends = ['altitude']; #[\Override] diff --git a/app/Models/Airport.php b/app/Models/Airport.php index 0bb623c0..c23bd00e 100644 --- a/app/Models/Airport.php +++ b/app/Models/Airport.php @@ -8,6 +8,8 @@ use App\Traits\ExpensableTrait; use App\Traits\FilesTrait; use Illuminate\Database\Eloquent\Attributes\ObservedBy; use Illuminate\Database\Eloquent\Attributes\Scope; +use Illuminate\Database\Eloquent\Attributes\WithoutIncrementing; +use Illuminate\Database\Eloquent\Attributes\WithoutTimestamps; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Collection; @@ -94,6 +96,8 @@ use Spatie\Activitylog\Traits\LogsActivity; * @mixin \Eloquent */ #[ObservedBy(AirportObserver::class)] +#[WithoutIncrementing] +#[WithoutTimestamps] class Airport extends Model { use ExpensableTrait; @@ -107,10 +111,6 @@ class Airport extends Model protected $keyType = 'string'; - public $incrementing = false; - - public $timestamps = false; - protected $fillable = [ 'id', 'iata', diff --git a/app/Models/File.php b/app/Models/File.php index 6cfd7932..53305972 100644 --- a/app/Models/File.php +++ b/app/Models/File.php @@ -4,6 +4,7 @@ namespace App\Models; use App\Contracts\Model; use App\Traits\HashIdTrait; +use Illuminate\Database\Eloquent\Attributes\WithoutIncrementing; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Support\Carbon; @@ -45,6 +46,7 @@ use Illuminate\Support\Str; * * @mixin \Eloquent */ +#[WithoutIncrementing] class File extends Model { use HasFactory; @@ -54,8 +56,6 @@ class File extends Model protected $keyType = 'string'; - public $incrementing = false; - protected $fillable = [ 'id', 'name', diff --git a/app/Models/FlightField.php b/app/Models/FlightField.php index d93c41ad..7bbe178c 100644 --- a/app/Models/FlightField.php +++ b/app/Models/FlightField.php @@ -4,6 +4,7 @@ namespace App\Models; use App\Contracts\Model; use App\Traits\HasSlug; +use Illuminate\Database\Eloquent\Attributes\WithoutTimestamps; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Support\Str; @@ -25,6 +26,7 @@ use Illuminate\Support\Str; * * @mixin \Eloquent */ +#[WithoutTimestamps] class FlightField extends Model { use HasFactory; @@ -32,8 +34,6 @@ class FlightField extends Model public $table = 'flight_fields'; - public $timestamps = false; - protected $fillable = [ 'name', 'slug', diff --git a/app/Models/JournalTransaction.php b/app/Models/JournalTransaction.php index 9c6c4afe..1f6b3ba4 100644 --- a/app/Models/JournalTransaction.php +++ b/app/Models/JournalTransaction.php @@ -10,6 +10,7 @@ namespace App\Models; use App\Contracts\Model; use App\Observers\JournalTransactionObserver; use Illuminate\Database\Eloquent\Attributes\ObservedBy; +use Illuminate\Database\Eloquent\Attributes\WithoutIncrementing; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Support\Carbon; @@ -50,14 +51,13 @@ use Illuminate\Support\Carbon; * @mixin \Eloquent */ #[ObservedBy(JournalTransactionObserver::class)] +#[WithoutIncrementing] class JournalTransaction extends Model { use HasFactory; protected $table = 'journal_transactions'; - public $incrementing = false; - protected $fillable = [ 'transaction_group', 'journal_id', diff --git a/app/Models/Kvp.php b/app/Models/Kvp.php index e7c8de21..08c6fcef 100644 --- a/app/Models/Kvp.php +++ b/app/Models/Kvp.php @@ -5,6 +5,8 @@ declare(strict_types=1); namespace App\Models; use App\Contracts\Model; +use Illuminate\Database\Eloquent\Attributes\WithoutIncrementing; +use Illuminate\Database\Eloquent\Attributes\WithoutTimestamps; /** * @property string $key @@ -18,14 +20,12 @@ use App\Contracts\Model; * * @mixin \Eloquent */ +#[WithoutIncrementing] +#[WithoutTimestamps] class Kvp extends Model { public $table = 'kvp'; - public $timestamps = false; - - public $incrementing = false; - protected $keyType = 'string'; public $fillable = [ diff --git a/app/Models/Navdata.php b/app/Models/Navdata.php index f86de6e6..252afaad 100644 --- a/app/Models/Navdata.php +++ b/app/Models/Navdata.php @@ -6,6 +6,8 @@ namespace App\Models; use App\Contracts\Model; use App\Enums\NavaidType; +use Illuminate\Database\Eloquent\Attributes\WithoutIncrementing; +use Illuminate\Database\Eloquent\Attributes\WithoutTimestamps; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -30,6 +32,8 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; * * @mixin \Eloquent */ +#[WithoutIncrementing] +#[WithoutTimestamps] class Navdata extends Model { use HasFactory; @@ -38,10 +42,6 @@ class Navdata extends Model protected $keyType = 'string'; - public $timestamps = false; - - public $incrementing = false; - protected $fillable = [ 'id', 'name', diff --git a/app/Models/Pirep.php b/app/Models/Pirep.php index 328c6bf9..ae1c48c0 100644 --- a/app/Models/Pirep.php +++ b/app/Models/Pirep.php @@ -15,6 +15,7 @@ use App\Enums\PirepStatus; use App\Events\PirepStateChange; use App\Events\PirepStatusChange; use App\Traits\HashIdTrait; +use Illuminate\Database\Eloquent\Attributes\WithoutIncrementing; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Collection; @@ -150,6 +151,7 @@ use Spatie\Activitylog\Traits\LogsActivity; * * @mixin \Eloquent */ +#[WithoutIncrementing] class Pirep extends Model { use AttributeEvents; @@ -164,8 +166,6 @@ class Pirep extends Model protected $keyType = 'string'; - public $incrementing = false; - /** The form wants this */ public $hours; diff --git a/app/Models/PirepFare.php b/app/Models/PirepFare.php index 73a51e17..7979c005 100644 --- a/app/Models/PirepFare.php +++ b/app/Models/PirepFare.php @@ -4,6 +4,7 @@ namespace App\Models; use App\Contracts\Model; use App\Enums\FareType; +use Illuminate\Database\Eloquent\Attributes\WithoutTimestamps; use Illuminate\Database\Eloquent\Relations\BelongsTo; /** @@ -38,12 +39,11 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; * * @mixin \Eloquent */ +#[WithoutTimestamps] class PirepFare extends Model { public $table = 'pirep_fares'; - public $timestamps = false; - protected $fillable = [ 'pirep_id', 'fare_id', diff --git a/app/Models/PirepField.php b/app/Models/PirepField.php index 0109b226..980ff9b2 100644 --- a/app/Models/PirepField.php +++ b/app/Models/PirepField.php @@ -5,6 +5,7 @@ namespace App\Models; use App\Contracts\Model; use App\Enums\PirepFieldSource; use App\Traits\HasSlug; +use Illuminate\Database\Eloquent\Attributes\WithoutTimestamps; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Collection; use Illuminate\Support\Str; @@ -34,6 +35,7 @@ use Spatie\Activitylog\Traits\LogsActivity; * * @mixin \Eloquent */ +#[WithoutTimestamps] class PirepField extends Model { use HasSlug; @@ -41,8 +43,6 @@ class PirepField extends Model public $table = 'pirep_fields'; - public $timestamps = false; - protected $fillable = [ 'name', 'slug', diff --git a/app/Models/Setting.php b/app/Models/Setting.php index ac12b4e0..4dbc6286 100644 --- a/app/Models/Setting.php +++ b/app/Models/Setting.php @@ -6,6 +6,7 @@ use App\Contracts\Model; use App\Observers\SettingObserver; use Illuminate\Database\Eloquent\Attributes\ObservedBy; use Illuminate\Database\Eloquent\Attributes\Scope; +use Illuminate\Database\Eloquent\Attributes\WithoutIncrementing; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Collection; @@ -52,6 +53,7 @@ use Spatie\Activitylog\Traits\LogsActivity; * @mixin \Eloquent */ #[ObservedBy(SettingObserver::class)] +#[WithoutIncrementing] class Setting extends Model { use LogsActivity; @@ -60,8 +62,6 @@ class Setting extends Model protected $keyType = 'string'; - public $incrementing = false; - protected $fillable = [ 'name', 'key', diff --git a/app/Models/SimBrief.php b/app/Models/SimBrief.php index 365e32e9..34a37175 100644 --- a/app/Models/SimBrief.php +++ b/app/Models/SimBrief.php @@ -6,6 +6,7 @@ use App\Contracts\Model; use App\Observers\SimBriefObserver; use App\Support\Dto\SimBriefOfp\SimBriefOfp; use Illuminate\Database\Eloquent\Attributes\ObservedBy; +use Illuminate\Database\Eloquent\Attributes\WithoutIncrementing; use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -48,14 +49,13 @@ use Illuminate\Support\Facades\Storage; * @mixin \Eloquent */ #[ObservedBy(SimBriefObserver::class)] +#[WithoutIncrementing] class SimBrief extends Model { use HasFactory; public $table = 'simbrief'; - public $incrementing = false; - protected $fillable = [ 'id', 'user_id',