From dc5cf9ced5e5cccb11462ebec5c6001fe27d6a41 Mon Sep 17 00:00:00 2001 From: Softwarenoob Date: Mon, 25 Jan 2021 08:03:24 +0200 Subject: [PATCH 1/7] Rust+ app support --- database/Seeders/eggs/rust/egg-rust.json | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/database/Seeders/eggs/rust/egg-rust.json b/database/Seeders/eggs/rust/egg-rust.json index d805da08f..0172146ff 100644 --- a/database/Seeders/eggs/rust/egg-rust.json +++ b/database/Seeders/eggs/rust/egg-rust.json @@ -3,12 +3,13 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2020-10-20T00:03:09+00:00", + "exported_at": "2021-01-25T07:42:35+02:00", "name": "Rust", "author": "support@pterodactyl.io", "description": "The only aim in Rust is to survive. To do this you will need to overcome struggles such as hunger, thirst and cold. Build a fire. Build a shelter. Kill animals for meat. Protect yourself from other players, and kill them for meat. Create alliances with other players and form a town. Do whatever it takes to survive.", + "features": null, "image": "quay.io\/pterodactyl\/core:rust", - "startup": ".\/RustDedicated -batchmode +server.port {{SERVER_PORT}} +server.identity \"rust\" +rcon.port {{RCON_PORT}} +rcon.web true +server.hostname \\\"{{HOSTNAME}}\\\" +server.level \\\"{{LEVEL}}\\\" +server.description \\\"{{DESCRIPTION}}\\\" +server.url \\\"{{SERVER_URL}}\\\" +server.headerimage \\\"{{SERVER_IMG}}\\\" +server.worldsize \\\"{{WORLD_SIZE}}\\\" +server.seed \\\"{{WORLD_SEED}}\\\" +server.maxplayers {{MAX_PLAYERS}} +rcon.password \\\"{{RCON_PASS}}\\\" +server.saveinterval {{SAVEINTERVAL}} {{ADDITIONAL_ARGS}}", + "startup": ".\/RustDedicated -batchmode +server.port {{SERVER_PORT}} +server.identity \"rust\" +rcon.port {{RCON_PORT}} +rcon.web true +server.hostname \\\"{{HOSTNAME}}\\\" +server.level \\\"{{LEVEL}}\\\" +server.description \\\"{{DESCRIPTION}}\\\" +server.url \\\"{{SERVER_URL}}\\\" +server.headerimage \\\"{{SERVER_IMG}}\\\" +server.logoimage \\\"{{SERVER_LOGO}}\\\" +server.worldsize \\\"{{WORLD_SIZE}}\\\" +server.seed \\\"{{WORLD_SEED}}\\\" +server.maxplayers {{MAX_PLAYERS}} +rcon.password \\\"{{RCON_PASS}}\\\" +server.saveinterval {{SAVEINTERVAL}} +app.port {{APP_PORT}} {{ADDITIONAL_ARGS}}", "config": { "files": "{}", "startup": "{\r\n \"done\": \"Server startup complete\",\r\n \"userInteraction\": []\r\n}", @@ -139,6 +140,24 @@ "user_viewable": true, "user_editable": true, "rules": "nullable|string" + }, + { + "name": "App Port", + "description": "Port for the Rust+ App. -1 to disable.", + "env_variable": "APP_PORT", + "default_value": "28082", + "user_viewable": true, + "user_editable": false, + "rules": "required|integer" + }, + { + "name": "Server Logo", + "description": "The circular server logo for the Rust+ app.", + "env_variable": "SERVER_LOGO", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|url" } ] } \ No newline at end of file From b00def253746d1c96ba2c4bdc232d436fd7b7fee Mon Sep 17 00:00:00 2001 From: Dane Everitt Date: Tue, 26 Jan 2021 21:08:53 -0800 Subject: [PATCH 2/7] Switch to JSON from TEXT when storing denylist items for an egg; closes #3034 --- .../Requests/Admin/Egg/EggFormRequest.php | 2 +- app/Models/Egg.php | 8 +++- .../Eggs/Sharing/EggExporterService.php | 14 +++--- .../Eggs/Sharing/EggImporterService.php | 44 +++++++++++-------- .../ServerConfigurationStructureService.php | 2 +- .../Api/Application/EggTransformer.php | 9 +++- ...26_210502_update_file_denylist_to_json.php | 40 +++++++++++++++++ 7 files changed, 89 insertions(+), 30 deletions(-) create mode 100644 database/migrations/2021_01_26_210502_update_file_denylist_to_json.php diff --git a/app/Http/Requests/Admin/Egg/EggFormRequest.php b/app/Http/Requests/Admin/Egg/EggFormRequest.php index 4cc44f630..065abaf13 100644 --- a/app/Http/Requests/Admin/Egg/EggFormRequest.php +++ b/app/Http/Requests/Admin/Egg/EggFormRequest.php @@ -22,7 +22,7 @@ class EggFormRequest extends AdminFormRequest 'name' => 'required|string|max:191', 'description' => 'nullable|string', 'docker_images' => 'required|string', - 'file_denylist' => 'string', + 'file_denylist' => 'array', 'startup' => 'required|string', 'config_from' => 'sometimes|bail|nullable|numeric', 'config_stop' => 'required_without:config_from|nullable|string|max:191', diff --git a/app/Models/Egg.php b/app/Models/Egg.php index 70e7b305c..e9eb4b738 100644 --- a/app/Models/Egg.php +++ b/app/Models/Egg.php @@ -13,7 +13,7 @@ namespace Pterodactyl\Models; * @property string $docker_image -- deprecated, use $docker_images * @property string $update_url * @property array $docker_images - * @property string $file_denylist + * @property array|null $file_denylist * @property string|null $config_files * @property string|null $config_startup * @property string|null $config_logs @@ -105,6 +105,7 @@ class Egg extends Model 'copy_script_from' => 'integer', 'features' => 'array', 'docker_images' => 'array', + 'file_denylist' => 'array', ]; /** @@ -117,6 +118,8 @@ class Egg extends Model 'description' => 'string|nullable', 'features' => 'array|nullable', 'author' => 'required|string|email', + 'file_denylist' => 'array|nullable', + 'file_denylist.*' => 'string', 'docker_images' => 'required|array|min:1', 'docker_images.*' => 'required|string', 'startup' => 'required|nullable|string', @@ -133,6 +136,7 @@ class Egg extends Model */ protected $attributes = [ 'features' => null, + 'file_denylist' => null, 'config_stop' => null, 'config_startup' => null, 'config_logs' => null, @@ -260,7 +264,7 @@ class Egg extends Model * Returns the features available to this egg from the parent configuration if there are * no features defined for this egg specifically and there is a parent egg configured. * - * @return string + * @return string[]|null */ public function getInheritFileDenylistAttribute() { diff --git a/app/Services/Eggs/Sharing/EggExporterService.php b/app/Services/Eggs/Sharing/EggExporterService.php index 2cdbd9850..f64656150 100644 --- a/app/Services/Eggs/Sharing/EggExporterService.php +++ b/app/Services/Eggs/Sharing/EggExporterService.php @@ -3,6 +3,8 @@ namespace Pterodactyl\Services\Eggs\Sharing; use Carbon\Carbon; +use Illuminate\Support\Collection; +use Pterodactyl\Models\EggVariable; use Pterodactyl\Contracts\Repository\EggRepositoryInterface; class EggExporterService @@ -41,7 +43,9 @@ class EggExporterService 'description' => $egg->description, 'features' => $egg->features, 'images' => $egg->docker_images, - 'file_denylist' => $egg->inherit_file_denylist, + 'file_denylist' => Collection::make($egg->inherit_file_denylist)->filter(function ($value) { + return !empty($value); + }), 'startup' => $egg->startup, 'config' => [ 'files' => $egg->inherit_config_files, @@ -56,10 +60,10 @@ class EggExporterService 'entrypoint' => $egg->copy_script_entry, ], ], - 'variables' => $egg->variables->transform(function ($item) { - return collect($item->toArray())->except([ - 'id', 'egg_id', 'created_at', 'updated_at', - ])->toArray(); + 'variables' => $egg->variables->transform(function (EggVariable $item) { + return Collection::make($item->toArray()) + ->except(['id', 'egg_id', 'created_at', 'updated_at']) + ->toArray(); }), ]; diff --git a/app/Services/Eggs/Sharing/EggImporterService.php b/app/Services/Eggs/Sharing/EggImporterService.php index b3ea33c90..fd6a7f095 100644 --- a/app/Services/Eggs/Sharing/EggImporterService.php +++ b/app/Services/Eggs/Sharing/EggImporterService.php @@ -4,7 +4,9 @@ namespace Pterodactyl\Services\Eggs\Sharing; use Ramsey\Uuid\Uuid; use Pterodactyl\Models\Egg; +use Illuminate\Support\Arr; use Illuminate\Http\UploadedFile; +use Illuminate\Support\Collection; use Illuminate\Database\ConnectionInterface; use Pterodactyl\Contracts\Repository\EggRepositoryInterface; use Pterodactyl\Contracts\Repository\NestRepositoryInterface; @@ -63,43 +65,47 @@ class EggImporterService throw new InvalidFileUploadException(sprintf('The selected file ["%s"] was not in a valid format to import. (is_file: %s is_valid: %s err_code: %s err: %s)', $file->getFilename(), $file->isFile() ? 'true' : 'false', $file->isValid() ? 'true' : 'false', $file->getError(), $file->getErrorMessage())); } - $parsed = json_decode($file->openFile()->fread($file->getSize())); + /** @var array $parsed */ + $parsed = json_decode($file->openFile()->fread($file->getSize()), true); if (json_last_error() !== 0) { throw new BadJsonFormatException(trans('exceptions.nest.importer.json_error', ['error' => json_last_error_msg()])); } - if (object_get($parsed, 'meta.version') !== 'PTDL_v1') { + if (Arr::get($parsed, 'meta.version') !== 'PTDL_v1') { throw new InvalidFileUploadException(trans('exceptions.nest.importer.invalid_json_provided')); } $nest = $this->nestRepository->getWithEggs($nest); $this->connection->beginTransaction(); + /** @var \Pterodactyl\Models\Egg $egg */ $egg = $this->repository->create([ 'uuid' => Uuid::uuid4()->toString(), 'nest_id' => $nest->id, - 'author' => object_get($parsed, 'author'), - 'name' => object_get($parsed, 'name'), - 'description' => object_get($parsed, 'description'), - 'features' => object_get($parsed, 'features'), + 'author' => Arr::get($parsed, 'author'), + 'name' => Arr::get($parsed, 'name'), + 'description' => Arr::get($parsed, 'description'), + 'features' => Arr::get($parsed, 'features'), // Maintain backwards compatability for eggs that are still using the old single image // string format. New eggs can provide an array of Docker images that can be used. - 'docker_images' => object_get($parsed, 'images') ?? [object_get($parsed, 'image')], - 'file_denylist' => implode(PHP_EOL, object_get($parsed, 'file_denylist') ?? []), - 'update_url' => object_get($parsed, 'meta.update_url'), - 'config_files' => object_get($parsed, 'config.files'), - 'config_startup' => object_get($parsed, 'config.startup'), - 'config_logs' => object_get($parsed, 'config.logs'), - 'config_stop' => object_get($parsed, 'config.stop'), - 'startup' => object_get($parsed, 'startup'), - 'script_install' => object_get($parsed, 'scripts.installation.script'), - 'script_entry' => object_get($parsed, 'scripts.installation.entrypoint'), - 'script_container' => object_get($parsed, 'scripts.installation.container'), + 'docker_images' => Arr::get($parsed, 'images') ?? [Arr::get($parsed, 'image')], + 'file_denylist' => Collection::make(Arr::get($parsed, 'file_denylist'))->filter(function ($value) { + return !empty($value); + }), + 'update_url' => Arr::get($parsed, 'meta.update_url'), + 'config_files' => Arr::get($parsed, 'config.files'), + 'config_startup' => Arr::get($parsed, 'config.startup'), + 'config_logs' => Arr::get($parsed, 'config.logs'), + 'config_stop' => Arr::get($parsed, 'config.stop'), + 'startup' => Arr::get($parsed, 'startup'), + 'script_install' => Arr::get($parsed, 'scripts.installation.script'), + 'script_entry' => Arr::get($parsed, 'scripts.installation.entrypoint'), + 'script_container' => Arr::get($parsed, 'scripts.installation.container'), 'copy_script_from' => null, ], true, true); - collect($parsed->variables)->each(function ($variable) use ($egg) { - $this->eggVariableRepository->create(array_merge((array) $variable, [ + Collection::make($parsed['variables'] ?? [])->each(function (array $variable) use ($egg) { + $this->eggVariableRepository->create(array_merge($variable, [ 'egg_id' => $egg->id, ])); }); diff --git a/app/Services/Servers/ServerConfigurationStructureService.php b/app/Services/Servers/ServerConfigurationStructureService.php index 46e50e012..cfef71c6f 100644 --- a/app/Services/Servers/ServerConfigurationStructureService.php +++ b/app/Services/Servers/ServerConfigurationStructureService.php @@ -80,7 +80,7 @@ class ServerConfigurationStructureService }), 'egg' => [ 'id' => $server->egg->uuid, - 'file_denylist' => explode(PHP_EOL, $server->egg->inherit_file_denylist), + 'file_denylist' => $server->egg->inherit_file_denylist, ], ]; } diff --git a/app/Transformers/Api/Application/EggTransformer.php b/app/Transformers/Api/Application/EggTransformer.php index a4d3d6985..87debe216 100644 --- a/app/Transformers/Api/Application/EggTransformer.php +++ b/app/Transformers/Api/Application/EggTransformer.php @@ -5,6 +5,7 @@ namespace Pterodactyl\Transformers\Api\Application; use Pterodactyl\Models\Egg; use Pterodactyl\Models\Nest; use Pterodactyl\Models\Server; +use Illuminate\Support\Collection; use Pterodactyl\Models\EggVariable; use Pterodactyl\Services\Acl\Api\AdminAcl; @@ -16,7 +17,11 @@ class EggTransformer extends BaseTransformer * @var array */ protected $availableIncludes = [ - 'nest', 'servers', 'config', 'script', 'variables', + 'nest', + 'servers', + 'config', + 'script', + 'variables', ]; /** @@ -52,7 +57,7 @@ class EggTransformer extends BaseTransformer 'startup' => json_decode($model->config_startup, true), 'stop' => $model->config_stop, 'logs' => json_decode($model->config_logs, true), - 'file_denylist' => explode(PHP_EOL, $model->file_denylist), + 'file_denylist' => $model->file_denylist, 'extends' => $model->config_from, ], 'startup' => $model->startup, diff --git a/database/migrations/2021_01_26_210502_update_file_denylist_to_json.php b/database/migrations/2021_01_26_210502_update_file_denylist_to_json.php new file mode 100644 index 000000000..90545e723 --- /dev/null +++ b/database/migrations/2021_01_26_210502_update_file_denylist_to_json.php @@ -0,0 +1,40 @@ +dropColumn('file_denylist'); + }); + + Schema::table('eggs', function (Blueprint $table) { + $table->json('file_denylist')->nullable()->after('docker_images'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('eggs', function (Blueprint $table) { + $table->dropColumn('file_denylist'); + }); + + Schema::table('eggs', function (Blueprint $table) { + $table->text('file_denylist')->after('docker_images'); + }); + } +} From b8db5bc8b0def156273e3306a550f36cfcb4e416 Mon Sep 17 00:00:00 2001 From: Charles Morgan Date: Wed, 27 Jan 2021 00:10:30 -0500 Subject: [PATCH 3/7] Allow copy on click for SFTP information (#3027) --- .../server/settings/SettingsContainer.tsx | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/resources/scripts/components/server/settings/SettingsContainer.tsx b/resources/scripts/components/server/settings/SettingsContainer.tsx index 3c90307c3..bad273803 100644 --- a/resources/scripts/components/server/settings/SettingsContainer.tsx +++ b/resources/scripts/components/server/settings/SettingsContainer.tsx @@ -30,19 +30,23 @@ export default () => {
- + + +
- + + +
From 8e7fcb484cc14a494c7d11b6d8866f32de47d87b Mon Sep 17 00:00:00 2001 From: YinScape Date: Wed, 27 Jan 2021 00:13:13 -0500 Subject: [PATCH 4/7] Update "not viable" message to be more informative (#2987) --- resources/lang/en/admin/server.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/lang/en/admin/server.php b/resources/lang/en/admin/server.php index a697d4e9e..026230099 100644 --- a/resources/lang/en/admin/server.php +++ b/resources/lang/en/admin/server.php @@ -29,6 +29,6 @@ return [ 'node_required' => 'You must have at least one node configured before you can add a server to this panel.', 'transfer_nodes_required' => 'You must have at least two nodes configured before you can transfer servers.', 'transfer_started' => 'Server transfer has been started.', - 'transfer_not_viable' => 'The node you selected is not viable for this transfer.', + 'transfer_not_viable' => 'The node you selected does not have the required disk space or memory available to accommodate this server.', ], ]; From 0ae90eacaa29deceb24a622902e04337dd34c086 Mon Sep 17 00:00:00 2001 From: Dane Everitt Date: Wed, 27 Jan 2021 20:45:26 -0800 Subject: [PATCH 5/7] Don't try to store null values in the DB for variables; closes #3038 --- app/Services/Servers/ServerCreationService.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Services/Servers/ServerCreationService.php b/app/Services/Servers/ServerCreationService.php index d7d533638..40e9d31c6 100644 --- a/app/Services/Servers/ServerCreationService.php +++ b/app/Services/Servers/ServerCreationService.php @@ -258,7 +258,7 @@ class ServerCreationService return [ 'server_id' => $server->id, 'variable_id' => $result->id, - 'variable_value' => $result->value, + 'variable_value' => $result->value ?? '', ]; })->toArray(); From 5515871b2fea1252e3875c26de059cb4dbde6d12 Mon Sep 17 00:00:00 2001 From: Dane Everitt Date: Wed, 27 Jan 2021 20:52:11 -0800 Subject: [PATCH 6/7] Turns out I hate that huge space formatting, disable that mess --- .php_cs.dist | 11 +++ app/Contracts/Extensions/HashidsInterface.php | 2 +- app/Exceptions/DisplayException.php | 2 +- app/Extensions/DynamicDatabaseConnection.php | 4 +- .../Auth/ResetPasswordController.php | 2 +- app/Models/Allocation.php | 24 +++--- app/Models/ApiKey.php | 18 ++-- app/Models/Backup.php | 26 +++--- app/Models/Database.php | 22 ++--- app/Models/DatabaseHost.php | 16 ++-- app/Models/Egg.php | 74 ++++++++--------- app/Models/EggVariable.php | 26 +++--- app/Models/Location.php | 12 +-- app/Models/Mount.php | 20 ++--- app/Models/Nest.php | 16 ++-- app/Models/Node.php | 50 +++++------ app/Models/RecoveryToken.php | 8 +- app/Models/Schedule.php | 32 ++++---- app/Models/Server.php | 82 +++++++++---------- app/Models/ServerTransfer.php | 28 +++---- app/Models/ServerVariable.php | 66 ++++++--------- app/Models/Subuser.php | 14 ++-- app/Models/Task.php | 22 ++--- app/Models/User.php | 40 ++++----- app/Policies/ServerPolicy.php | 2 +- app/Rules/Username.php | 2 +- .../Eggs/Sharing/EggImporterService.php | 2 +- .../Servers/ServerCreationService.php | 4 +- .../Api/Application/EggTransformer.php | 1 - app/helpers.php | 2 +- composer.json | 2 +- ...26_210502_update_file_denylist_to_json.php | 4 +- .../Client/ClientApiIntegrationTestCase.php | 2 +- .../Schedule/GetServerSchedulesTest.php | 2 +- 34 files changed, 318 insertions(+), 322 deletions(-) diff --git a/.php_cs.dist b/.php_cs.dist index 3eb33508b..97d0c648f 100644 --- a/.php_cs.dist +++ b/.php_cs.dist @@ -23,6 +23,17 @@ return (new Config()) 'ordered_imports' => [ 'sortAlgorithm' => 'length', ], + 'phpdoc_align' => [ + 'align' => 'left', + 'tags' => [ + 'param', + 'property', + 'return', + 'throws', + 'type', + 'var', + ], + ], 'random_api_migration' => true, 'ternary_to_null_coalescing' => true, 'yoda_style' => [ diff --git a/app/Contracts/Extensions/HashidsInterface.php b/app/Contracts/Extensions/HashidsInterface.php index e8d525f34..876c2bac4 100644 --- a/app/Contracts/Extensions/HashidsInterface.php +++ b/app/Contracts/Extensions/HashidsInterface.php @@ -17,7 +17,7 @@ interface HashidsInterface extends VendorHashidsInterface * Decode an encoded hashid and return the first result. * * @param string $encoded - * @param null $default + * @param null $default * * @return mixed * diff --git a/app/Exceptions/DisplayException.php b/app/Exceptions/DisplayException.php index f3120471d..063340a72 100644 --- a/app/Exceptions/DisplayException.php +++ b/app/Exceptions/DisplayException.php @@ -26,7 +26,7 @@ class DisplayException extends PterodactylException * * @param string $message * @param string $level - * @param int $code + * @param int $code */ public function __construct($message, Throwable $previous = null, $level = self::LEVEL_ERROR, $code = 0) { diff --git a/app/Extensions/DynamicDatabaseConnection.php b/app/Extensions/DynamicDatabaseConnection.php index e45243e50..94251bce8 100644 --- a/app/Extensions/DynamicDatabaseConnection.php +++ b/app/Extensions/DynamicDatabaseConnection.php @@ -51,9 +51,9 @@ class DynamicDatabaseConnection /** * Adds a dynamic database connection entry to the runtime config. * - * @param string $connection + * @param string $connection * @param \Pterodactyl\Models\DatabaseHost|int $host - * @param string $database + * @param string $database * * @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException */ diff --git a/app/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php index b8a02ee72..1107510a8 100644 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -88,7 +88,7 @@ class ResetPasswordController extends Controller * form with a note telling them their password was changed and to log back in. * * @param \Illuminate\Contracts\Auth\CanResetPassword|\Pterodactyl\Models\User $user - * @param string $password + * @param string $password * * @throws \Pterodactyl\Exceptions\Model\DataValidationException * @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException diff --git a/app/Models/Allocation.php b/app/Models/Allocation.php index 9d609ba24..993657d78 100644 --- a/app/Models/Allocation.php +++ b/app/Models/Allocation.php @@ -3,19 +3,19 @@ namespace Pterodactyl\Models; /** - * @property int $id - * @property int $node_id - * @property string $ip - * @property string|null $ip_alias - * @property int $port - * @property int|null $server_id - * @property string|null $notes - * @property \Carbon\Carbon|null $created_at - * @property \Carbon\Carbon|null $updated_at - * @property string $alias - * @property bool $has_alias + * @property int $id + * @property int $node_id + * @property string $ip + * @property string|null $ip_alias + * @property int $port + * @property int|null $server_id + * @property string|null $notes + * @property \Carbon\Carbon|null $created_at + * @property \Carbon\Carbon|null $updated_at + * @property string $alias + * @property bool $has_alias * @property \Pterodactyl\Models\Server|null $server - * @property \Pterodactyl\Models\Node $node + * @property \Pterodactyl\Models\Node $node */ class Allocation extends Model { diff --git a/app/Models/ApiKey.php b/app/Models/ApiKey.php index b05e22f3e..4c2363333 100644 --- a/app/Models/ApiKey.php +++ b/app/Models/ApiKey.php @@ -5,16 +5,16 @@ namespace Pterodactyl\Models; use Pterodactyl\Services\Acl\Api\AdminAcl; /** - * @property int $id - * @property int $user_id - * @property int $key_type - * @property string $identifier - * @property string $token - * @property array $allowed_ips - * @property string $memo + * @property int $id + * @property int $user_id + * @property int $key_type + * @property string $identifier + * @property string $token + * @property array $allowed_ips + * @property string $memo * @property \Carbon\Carbon|null $last_used_at - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at */ class ApiKey extends Model { diff --git a/app/Models/Backup.php b/app/Models/Backup.php index 5e3940a88..c2f9e5d96 100644 --- a/app/Models/Backup.php +++ b/app/Models/Backup.php @@ -5,21 +5,21 @@ namespace Pterodactyl\Models; use Illuminate\Database\Eloquent\SoftDeletes; /** - * @property int $id - * @property int $server_id - * @property string $uuid - * @property bool $is_successful - * @property string $name - * @property string[] $ignored_files - * @property string $disk - * @property string|null $checksum - * @property int $bytes - * @property string|null $upload_id + * @property int $id + * @property int $server_id + * @property string $uuid + * @property bool $is_successful + * @property string $name + * @property string[] $ignored_files + * @property string $disk + * @property string|null $checksum + * @property int $bytes + * @property string|null $upload_id * @property \Carbon\CarbonImmutable|null $completed_at - * @property \Carbon\CarbonImmutable $created_at - * @property \Carbon\CarbonImmutable $updated_at + * @property \Carbon\CarbonImmutable $created_at + * @property \Carbon\CarbonImmutable $updated_at * @property \Carbon\CarbonImmutable|null $deleted_at - * @property \Pterodactyl\Models\Server $server + * @property \Pterodactyl\Models\Server $server */ class Backup extends Model { diff --git a/app/Models/Database.php b/app/Models/Database.php index 8fb121d1b..b09545da8 100644 --- a/app/Models/Database.php +++ b/app/Models/Database.php @@ -3,17 +3,17 @@ namespace Pterodactyl\Models; /** - * @property int $id - * @property int $server_id - * @property int $database_host_id - * @property string $database - * @property string $username - * @property string $remote - * @property string $password - * @property int $max_connections - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Pterodactyl\Models\Server $server + * @property int $id + * @property int $server_id + * @property int $database_host_id + * @property string $database + * @property string $username + * @property string $remote + * @property string $password + * @property int $max_connections + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property \Pterodactyl\Models\Server $server * @property \Pterodactyl\Models\DatabaseHost $host */ class Database extends Model diff --git a/app/Models/DatabaseHost.php b/app/Models/DatabaseHost.php index 1fb8a5c77..eda5f84b8 100644 --- a/app/Models/DatabaseHost.php +++ b/app/Models/DatabaseHost.php @@ -3,14 +3,14 @@ namespace Pterodactyl\Models; /** - * @property int $id - * @property string $name - * @property string $host - * @property int $port - * @property string $username - * @property string $password - * @property int|null $max_databases - * @property int|null $node_id + * @property int $id + * @property string $name + * @property string $host + * @property int $port + * @property string $username + * @property string $password + * @property int|null $max_databases + * @property int|null $node_id * @property \Carbon\CarbonImmutable $created_at * @property \Carbon\CarbonImmutable $updated_at */ diff --git a/app/Models/Egg.php b/app/Models/Egg.php index e9eb4b738..6e2c26802 100644 --- a/app/Models/Egg.php +++ b/app/Models/Egg.php @@ -3,44 +3,44 @@ namespace Pterodactyl\Models; /** - * @property int $id - * @property string $uuid - * @property int $nest_id - * @property string $author - * @property string $name - * @property string|null $description - * @property array|null $features - * @property string $docker_image -- deprecated, use $docker_images - * @property string $update_url - * @property array $docker_images - * @property array|null $file_denylist - * @property string|null $config_files - * @property string|null $config_startup - * @property string|null $config_logs - * @property string|null $config_stop - * @property int|null $config_from - * @property string|null $startup - * @property bool $script_is_privileged - * @property string|null $script_install - * @property string $script_entry - * @property string $script_container - * @property int|null $copy_script_from - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property string|null $copy_script_install - * @property string $copy_script_entry - * @property string $copy_script_container - * @property string|null $inherit_config_files - * @property string|null $inherit_config_startup - * @property string|null $inherit_config_logs - * @property string|null $inherit_config_stop - * @property string $inherit_file_denylist - * @property array|null $inherit_features - * @property \Pterodactyl\Models\Nest $nest - * @property \Illuminate\Database\Eloquent\Collection|\Pterodactyl\Models\Server[] $servers + * @property int $id + * @property string $uuid + * @property int $nest_id + * @property string $author + * @property string $name + * @property string|null $description + * @property array|null $features + * @property string $docker_image -- deprecated, use $docker_images + * @property string $update_url + * @property array $docker_images + * @property array|null $file_denylist + * @property string|null $config_files + * @property string|null $config_startup + * @property string|null $config_logs + * @property string|null $config_stop + * @property int|null $config_from + * @property string|null $startup + * @property bool $script_is_privileged + * @property string|null $script_install + * @property string $script_entry + * @property string $script_container + * @property int|null $copy_script_from + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property string|null $copy_script_install + * @property string $copy_script_entry + * @property string $copy_script_container + * @property string|null $inherit_config_files + * @property string|null $inherit_config_startup + * @property string|null $inherit_config_logs + * @property string|null $inherit_config_stop + * @property string $inherit_file_denylist + * @property array|null $inherit_features + * @property \Pterodactyl\Models\Nest $nest + * @property \Illuminate\Database\Eloquent\Collection|\Pterodactyl\Models\Server[] $servers * @property \Illuminate\Database\Eloquent\Collection|\Pterodactyl\Models\EggVariable[] $variables - * @property \Pterodactyl\Models\Egg|null $scriptFrom - * @property \Pterodactyl\Models\Egg|null $configFrom + * @property \Pterodactyl\Models\Egg|null $scriptFrom + * @property \Pterodactyl\Models\Egg|null $configFrom */ class Egg extends Model { diff --git a/app/Models/EggVariable.php b/app/Models/EggVariable.php index aaddf121a..99966da3a 100644 --- a/app/Models/EggVariable.php +++ b/app/Models/EggVariable.php @@ -3,19 +3,19 @@ namespace Pterodactyl\Models; /** - * @property int $id - * @property int $egg_id - * @property string $name - * @property string $description - * @property string $env_variable - * @property string $default_value - * @property bool $user_viewable - * @property bool $user_editable - * @property string $rules - * @property \Carbon\CarbonImmutable $created_at - * @property \Carbon\CarbonImmutable $updated_at - * @property bool $required - * @property \Pterodactyl\Models\Egg $egg + * @property int $id + * @property int $egg_id + * @property string $name + * @property string $description + * @property string $env_variable + * @property string $default_value + * @property bool $user_viewable + * @property bool $user_editable + * @property string $rules + * @property \Carbon\CarbonImmutable $created_at + * @property \Carbon\CarbonImmutable $updated_at + * @property bool $required + * @property \Pterodactyl\Models\Egg $egg * @property \Pterodactyl\Models\ServerVariable $serverVariable * * The "server_value" variable is only present on the object if you've loaded this model diff --git a/app/Models/Location.php b/app/Models/Location.php index 5e497fc99..bc9a1fb4f 100644 --- a/app/Models/Location.php +++ b/app/Models/Location.php @@ -3,12 +3,12 @@ namespace Pterodactyl\Models; /** - * @property int $id - * @property string $short - * @property string $long - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Pterodactyl\Models\Node[] $nodes + * @property int $id + * @property string $short + * @property string $long + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property \Pterodactyl\Models\Node[] $nodes * @property \Pterodactyl\Models\Server[] $servers */ class Location extends Model diff --git a/app/Models/Mount.php b/app/Models/Mount.php index fb4f511e8..c1eb7a3a1 100644 --- a/app/Models/Mount.php +++ b/app/Models/Mount.php @@ -5,16 +5,16 @@ namespace Pterodactyl\Models; use Illuminate\Validation\Rules\NotIn; /** - * @property int $id - * @property string $uuid - * @property string $name - * @property string $description - * @property string $source - * @property string $target - * @property bool $read_only - * @property bool $user_mountable - * @property \Pterodactyl\Models\Egg[]|\Illuminate\Database\Eloquent\Collection $eggs - * @property \Pterodactyl\Models\Node[]|\Illuminate\Database\Eloquent\Collection $nodes + * @property int $id + * @property string $uuid + * @property string $name + * @property string $description + * @property string $source + * @property string $target + * @property bool $read_only + * @property bool $user_mountable + * @property \Pterodactyl\Models\Egg[]|\Illuminate\Database\Eloquent\Collection $eggs + * @property \Pterodactyl\Models\Node[]|\Illuminate\Database\Eloquent\Collection $nodes * @property \Pterodactyl\Models\Server[]|\Illuminate\Database\Eloquent\Collection $servers */ class Mount extends Model diff --git a/app/Models/Nest.php b/app/Models/Nest.php index 0c460bfd1..165817159 100644 --- a/app/Models/Nest.php +++ b/app/Models/Nest.php @@ -3,15 +3,15 @@ namespace Pterodactyl\Models; /** - * @property int $id - * @property string $uuid - * @property string $author - * @property string $name - * @property string|null $description - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at + * @property int $id + * @property string $uuid + * @property string $author + * @property string $name + * @property string|null $description + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at * @property \Illuminate\Database\Eloquent\Collection|\Pterodactyl\Models\Server[] $servers - * @property \Illuminate\Database\Eloquent\Collection|\Pterodactyl\Models\Egg[] $eggs + * @property \Illuminate\Database\Eloquent\Collection|\Pterodactyl\Models\Egg[] $eggs */ class Nest extends Model { diff --git a/app/Models/Node.php b/app/Models/Node.php index b267a6692..a41689c1c 100644 --- a/app/Models/Node.php +++ b/app/Models/Node.php @@ -8,31 +8,31 @@ use Illuminate\Notifications\Notifiable; use Illuminate\Contracts\Encryption\Encrypter; /** - * @property int $id - * @property string $uuid - * @property bool $public - * @property string $name - * @property string|null $description - * @property int $location_id - * @property string $fqdn - * @property string $scheme - * @property bool $behind_proxy - * @property bool $maintenance_mode - * @property int $memory - * @property int $memory_overallocate - * @property int $disk - * @property int $disk_overallocate - * @property int $upload_size - * @property string $daemon_token_id - * @property string $daemon_token - * @property int $daemonListen - * @property int $daemonSFTP - * @property string $daemonBase - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Pterodactyl\Models\Location $location - * @property \Pterodactyl\Models\Mount[]|\Illuminate\Database\Eloquent\Collection $mounts - * @property \Pterodactyl\Models\Server[]|\Illuminate\Database\Eloquent\Collection $servers + * @property int $id + * @property string $uuid + * @property bool $public + * @property string $name + * @property string|null $description + * @property int $location_id + * @property string $fqdn + * @property string $scheme + * @property bool $behind_proxy + * @property bool $maintenance_mode + * @property int $memory + * @property int $memory_overallocate + * @property int $disk + * @property int $disk_overallocate + * @property int $upload_size + * @property string $daemon_token_id + * @property string $daemon_token + * @property int $daemonListen + * @property int $daemonSFTP + * @property string $daemonBase + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property \Pterodactyl\Models\Location $location + * @property \Pterodactyl\Models\Mount[]|\Illuminate\Database\Eloquent\Collection $mounts + * @property \Pterodactyl\Models\Server[]|\Illuminate\Database\Eloquent\Collection $servers * @property \Pterodactyl\Models\Allocation[]|\Illuminate\Database\Eloquent\Collection $allocations */ class Node extends Model diff --git a/app/Models/RecoveryToken.php b/app/Models/RecoveryToken.php index d4ef5a7a0..0244c7bca 100644 --- a/app/Models/RecoveryToken.php +++ b/app/Models/RecoveryToken.php @@ -3,10 +3,10 @@ namespace Pterodactyl\Models; /** - * @property int $id - * @property int $user_id - * @property string $token - * @property \Carbon\CarbonImmutable $created_at + * @property int $id + * @property int $user_id + * @property string $token + * @property \Carbon\CarbonImmutable $created_at * @property \Pterodactyl\Models\User $user */ class RecoveryToken extends Model diff --git a/app/Models/Schedule.php b/app/Models/Schedule.php index 31eec5a6b..432f4d5f8 100644 --- a/app/Models/Schedule.php +++ b/app/Models/Schedule.php @@ -8,22 +8,22 @@ use Illuminate\Container\Container; use Pterodactyl\Contracts\Extensions\HashidsInterface; /** - * @property int $id - * @property int $server_id - * @property string $name - * @property string $cron_day_of_week - * @property string $cron_month - * @property string $cron_day_of_month - * @property string $cron_hour - * @property string $cron_minute - * @property bool $is_active - * @property bool $is_processing - * @property \Carbon\Carbon|null $last_run_at - * @property \Carbon\Carbon|null $next_run_at - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property string $hashid - * @property \Pterodactyl\Models\Server $server + * @property int $id + * @property int $server_id + * @property string $name + * @property string $cron_day_of_week + * @property string $cron_month + * @property string $cron_day_of_month + * @property string $cron_hour + * @property string $cron_minute + * @property bool $is_active + * @property bool $is_processing + * @property \Carbon\Carbon|null $last_run_at + * @property \Carbon\Carbon|null $next_run_at + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property string $hashid + * @property \Pterodactyl\Models\Server $server * @property \Pterodactyl\Models\Task[]|\Illuminate\Support\Collection $tasks */ class Schedule extends Model diff --git a/app/Models/Server.php b/app/Models/Server.php index 1248d5b18..864e24078 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -7,48 +7,48 @@ use Illuminate\Database\Query\JoinClause; use Znck\Eloquent\Traits\BelongsToThrough; /** - * @property int $id - * @property string|null $external_id - * @property string $uuid - * @property string $uuidShort - * @property int $node_id - * @property string $name - * @property string $description - * @property bool $skip_scripts - * @property bool $suspended - * @property int $owner_id - * @property int $memory - * @property int $swap - * @property int $disk - * @property int $io - * @property int $cpu - * @property string $threads - * @property bool $oom_disabled - * @property int $allocation_id - * @property int $nest_id - * @property int $egg_id - * @property string $startup - * @property string $image - * @property int $installed - * @property int $allocation_limit - * @property int $database_limit - * @property int $backup_limit - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Pterodactyl\Models\User $user - * @property \Pterodactyl\Models\Subuser[]|\Illuminate\Database\Eloquent\Collection $subusers - * @property \Pterodactyl\Models\Allocation $allocation - * @property \Pterodactyl\Models\Allocation[]|\Illuminate\Database\Eloquent\Collection $allocations - * @property \Pterodactyl\Models\Node $node - * @property \Pterodactyl\Models\Nest $nest - * @property \Pterodactyl\Models\Egg $egg + * @property int $id + * @property string|null $external_id + * @property string $uuid + * @property string $uuidShort + * @property int $node_id + * @property string $name + * @property string $description + * @property bool $skip_scripts + * @property bool $suspended + * @property int $owner_id + * @property int $memory + * @property int $swap + * @property int $disk + * @property int $io + * @property int $cpu + * @property string $threads + * @property bool $oom_disabled + * @property int $allocation_id + * @property int $nest_id + * @property int $egg_id + * @property string $startup + * @property string $image + * @property int $installed + * @property int $allocation_limit + * @property int $database_limit + * @property int $backup_limit + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property \Pterodactyl\Models\User $user + * @property \Pterodactyl\Models\Subuser[]|\Illuminate\Database\Eloquent\Collection $subusers + * @property \Pterodactyl\Models\Allocation $allocation + * @property \Pterodactyl\Models\Allocation[]|\Illuminate\Database\Eloquent\Collection $allocations + * @property \Pterodactyl\Models\Node $node + * @property \Pterodactyl\Models\Nest $nest + * @property \Pterodactyl\Models\Egg $egg * @property \Pterodactyl\Models\EggVariable[]|\Illuminate\Database\Eloquent\Collection $variables - * @property \Pterodactyl\Models\Schedule[]|\Illuminate\Database\Eloquent\Collection $schedule - * @property \Pterodactyl\Models\Database[]|\Illuminate\Database\Eloquent\Collection $databases - * @property \Pterodactyl\Models\Location $location - * @property \Pterodactyl\Models\ServerTransfer $transfer - * @property \Pterodactyl\Models\Backup[]|\Illuminate\Database\Eloquent\Collection $backups - * @property \Pterodactyl\Models\Mount[]|\Illuminate\Database\Eloquent\Collection $mounts + * @property \Pterodactyl\Models\Schedule[]|\Illuminate\Database\Eloquent\Collection $schedule + * @property \Pterodactyl\Models\Database[]|\Illuminate\Database\Eloquent\Collection $databases + * @property \Pterodactyl\Models\Location $location + * @property \Pterodactyl\Models\ServerTransfer $transfer + * @property \Pterodactyl\Models\Backup[]|\Illuminate\Database\Eloquent\Collection $backups + * @property \Pterodactyl\Models\Mount[]|\Illuminate\Database\Eloquent\Collection $mounts */ class Server extends Model { diff --git a/app/Models/ServerTransfer.php b/app/Models/ServerTransfer.php index d2b497712..7e297b601 100644 --- a/app/Models/ServerTransfer.php +++ b/app/Models/ServerTransfer.php @@ -3,21 +3,21 @@ namespace Pterodactyl\Models; /** - * @property int $id - * @property int $server_id - * @property int $old_node - * @property int $new_node - * @property int $old_allocation - * @property int $new_allocation - * @property array|null $old_additional_allocations - * @property array|null $new_additional_allocations - * @property bool|null $successful - * @property bool $archived - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at + * @property int $id + * @property int $server_id + * @property int $old_node + * @property int $new_node + * @property int $old_allocation + * @property int $new_allocation + * @property array|null $old_additional_allocations + * @property array|null $new_additional_allocations + * @property bool|null $successful + * @property bool $archived + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at * @property \Pterodactyl\Models\Server $server - * @property \Pterodactyl\Models\Node $oldNode - * @property \Pterodactyl\Models\Node $newNode + * @property \Pterodactyl\Models\Node $oldNode + * @property \Pterodactyl\Models\Node $newNode */ class ServerTransfer extends Model { diff --git a/app/Models/ServerVariable.php b/app/Models/ServerVariable.php index 7fdfbb1ab..9b3ad81fa 100644 --- a/app/Models/ServerVariable.php +++ b/app/Models/ServerVariable.php @@ -2,8 +2,16 @@ namespace Pterodactyl\Models; -use Illuminate\Database\Eloquent\Model; - +/** + * @property int $id + * @property int $server_id + * @property int $variable_id + * @property string $variable_value + * @property \Carbon\CarbonImmutable|null $created_at + * @property \Carbon\CarbonImmutable|null $updated_at + * @property \Pterodactyl\Models\EggVariable $variable + * @property \Pterodactyl\Models\Server $server + */ class ServerVariable extends Model { /** @@ -12,58 +20,36 @@ class ServerVariable extends Model */ public const RESOURCE_NAME = 'server_variable'; - /** - * The table associated with the model. - * - * @var string - */ + /** @var bool */ + protected $immutableDates = true; + + /** @var string */ protected $table = 'server_variables'; - /** - * Fields that are not mass assignable. - * - * @var array - */ + /** @var string[] */ protected $guarded = ['id', 'created_at', 'updated_at']; - /** - * Cast values to correct type. - * - * @var array - */ + /** @var string[] */ protected $casts = [ 'server_id' => 'integer', 'variable_id' => 'integer', ]; - /** - * Determine if variable is viewable by users. - * - * @return bool - */ - public function getUserCanViewAttribute() - { - return (bool) $this->variable->user_viewable; - } + /** @var string[] */ + public static $validationRules = [ + 'server_id' => 'required|int', + 'variable_id' => 'required|int', + 'variable_value' => 'string', + ]; /** - * Determine if variable is editable by users. + * Returns the server this variable is associated with. * - * @return bool + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ - public function getUserCanEditAttribute() + public function server() { - return (bool) $this->variable->user_editable; - } - - /** - * Determine if variable is required. - * - * @return bool - */ - public function getRequiredAttribute() - { - return $this->variable->required; + return $this->belongsTo(Server::class); } /** diff --git a/app/Models/Subuser.php b/app/Models/Subuser.php index 87417cea0..8dcdaf37c 100644 --- a/app/Models/Subuser.php +++ b/app/Models/Subuser.php @@ -5,13 +5,13 @@ namespace Pterodactyl\Models; use Illuminate\Notifications\Notifiable; /** - * @property int $id - * @property int $user_id - * @property int $server_id - * @property array $permissions - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property \Pterodactyl\Models\User $user + * @property int $id + * @property int $user_id + * @property int $server_id + * @property array $permissions + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property \Pterodactyl\Models\User $user * @property \Pterodactyl\Models\Server $server */ class Subuser extends Model diff --git a/app/Models/Task.php b/app/Models/Task.php index d88999184..84bd3cbf6 100644 --- a/app/Models/Task.php +++ b/app/Models/Task.php @@ -7,18 +7,18 @@ use Znck\Eloquent\Traits\BelongsToThrough; use Pterodactyl\Contracts\Extensions\HashidsInterface; /** - * @property int $id - * @property int $schedule_id - * @property int $sequence_id - * @property string $action - * @property string $payload - * @property int $time_offset - * @property bool $is_queued - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property string $hashid + * @property int $id + * @property int $schedule_id + * @property int $sequence_id + * @property string $action + * @property string $payload + * @property int $time_offset + * @property bool $is_queued + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property string $hashid * @property \Pterodactyl\Models\Schedule $schedule - * @property \Pterodactyl\Models\Server $server + * @property \Pterodactyl\Models\Server $server */ class Task extends Model { diff --git a/app/Models/User.php b/app/Models/User.php index 1797d3783..6cdc414f2 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -17,26 +17,26 @@ use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract; use Pterodactyl\Notifications\SendPasswordReset as ResetPasswordNotification; /** - * @property int $id - * @property string|null $external_id - * @property string $uuid - * @property string $username - * @property string $email - * @property string|null $name_first - * @property string|null $name_last - * @property string $password - * @property string|null $remeber_token - * @property string $language - * @property bool $root_admin - * @property bool $use_totp - * @property string|null $totp_secret - * @property \Carbon\Carbon|null $totp_authenticated_at - * @property bool $gravatar - * @property \Carbon\Carbon $created_at - * @property \Carbon\Carbon $updated_at - * @property string $name - * @property \Pterodactyl\Models\ApiKey[]|\Illuminate\Database\Eloquent\Collection $apiKeys - * @property \Pterodactyl\Models\Server[]|\Illuminate\Database\Eloquent\Collection $servers + * @property int $id + * @property string|null $external_id + * @property string $uuid + * @property string $username + * @property string $email + * @property string|null $name_first + * @property string|null $name_last + * @property string $password + * @property string|null $remeber_token + * @property string $language + * @property bool $root_admin + * @property bool $use_totp + * @property string|null $totp_secret + * @property \Carbon\Carbon|null $totp_authenticated_at + * @property bool $gravatar + * @property \Carbon\Carbon $created_at + * @property \Carbon\Carbon $updated_at + * @property string $name + * @property \Pterodactyl\Models\ApiKey[]|\Illuminate\Database\Eloquent\Collection $apiKeys + * @property \Pterodactyl\Models\Server[]|\Illuminate\Database\Eloquent\Collection $servers * @property \Pterodactyl\Models\RecoveryToken[]|\Illuminate\Database\Eloquent\Collection $recoveryTokens */ class User extends Model implements diff --git a/app/Policies/ServerPolicy.php b/app/Policies/ServerPolicy.php index 311f0a4a8..c821bb42f 100644 --- a/app/Policies/ServerPolicy.php +++ b/app/Policies/ServerPolicy.php @@ -65,7 +65,7 @@ class ServerPolicy * policy permission. * * @param string $name - * @param mixed $arguments + * @param mixed $arguments */ public function __call($name, $arguments) { diff --git a/app/Rules/Username.php b/app/Rules/Username.php index 8d1373ea0..bae204952 100644 --- a/app/Rules/Username.php +++ b/app/Rules/Username.php @@ -18,7 +18,7 @@ class Username implements Rule * Allowed characters: a-z0-9_-. * * @param string $attribute - * @param mixed $value + * @param mixed $value */ public function passes($attribute, $value): bool { diff --git a/app/Services/Eggs/Sharing/EggImporterService.php b/app/Services/Eggs/Sharing/EggImporterService.php index fd6a7f095..729277690 100644 --- a/app/Services/Eggs/Sharing/EggImporterService.php +++ b/app/Services/Eggs/Sharing/EggImporterService.php @@ -3,8 +3,8 @@ namespace Pterodactyl\Services\Eggs\Sharing; use Ramsey\Uuid\Uuid; -use Pterodactyl\Models\Egg; use Illuminate\Support\Arr; +use Pterodactyl\Models\Egg; use Illuminate\Http\UploadedFile; use Illuminate\Support\Collection; use Illuminate\Database\ConnectionInterface; diff --git a/app/Services/Servers/ServerCreationService.php b/app/Services/Servers/ServerCreationService.php index 40e9d31c6..9d93558fe 100644 --- a/app/Services/Servers/ServerCreationService.php +++ b/app/Services/Servers/ServerCreationService.php @@ -76,8 +76,8 @@ class ServerCreationService * CreationService constructor. * * @param \Pterodactyl\Services\Servers\ServerConfigurationStructureService $configurationStructureService - * @param \Pterodactyl\Services\Servers\ServerDeletionService $serverDeletionService - * @param \Pterodactyl\Services\Servers\VariableValidatorService $validatorService + * @param \Pterodactyl\Services\Servers\ServerDeletionService $serverDeletionService + * @param \Pterodactyl\Services\Servers\VariableValidatorService $validatorService */ public function __construct( AllocationSelectionService $allocationSelectionService, diff --git a/app/Transformers/Api/Application/EggTransformer.php b/app/Transformers/Api/Application/EggTransformer.php index 87debe216..a1348a0ad 100644 --- a/app/Transformers/Api/Application/EggTransformer.php +++ b/app/Transformers/Api/Application/EggTransformer.php @@ -5,7 +5,6 @@ namespace Pterodactyl\Transformers\Api\Application; use Pterodactyl\Models\Egg; use Pterodactyl\Models\Nest; use Pterodactyl\Models\Server; -use Illuminate\Support\Collection; use Pterodactyl\Models\EggVariable; use Pterodactyl\Services\Acl\Api\AdminAcl; diff --git a/app/helpers.php b/app/helpers.php index ac099f923..9c1b4ed1b 100644 --- a/app/helpers.php +++ b/app/helpers.php @@ -22,7 +22,7 @@ if (!function_exists('object_get_strict')) { * * @param object $object * @param string $key - * @param null $default + * @param null $default * * @return mixed */ diff --git a/composer.json b/composer.json index ab9dd5a0c..d8e88ef3f 100644 --- a/composer.json +++ b/composer.json @@ -68,7 +68,7 @@ } }, "scripts": { - "php-cs-fixer": "php-cs-fixer fix --diff --diff-format=udiff --config=./.php_cs.dist --rules=psr_autoloading", + "php-cs-fixer": "php-cs-fixer fix --diff --diff-format=udiff --config=./.php_cs.dist", "post-root-package-install": [ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" ], diff --git a/database/migrations/2021_01_26_210502_update_file_denylist_to_json.php b/database/migrations/2021_01_26_210502_update_file_denylist_to_json.php index 90545e723..af4961135 100644 --- a/database/migrations/2021_01_26_210502_update_file_denylist_to_json.php +++ b/database/migrations/2021_01_26_210502_update_file_denylist_to_json.php @@ -1,8 +1,8 @@ Date: Thu, 28 Jan 2021 16:47:37 -0700 Subject: [PATCH 7/7] actions(release): copy .babel-plugin-macrosrc.js to release archive --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 91e39431f..afd76993d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -34,7 +34,7 @@ jobs: - name: Create release archive run: | rm -rf node_modules/ test/ codecov.yml CODE_OF_CONDUCT.md CONTRIBUTING.md phpunit.dusk.xml phpunit.xml Vagrantfile - tar -czf panel.tar.gz * .env.example + tar -czf panel.tar.gz * .env.example .babel-plugin-macrosrc.js - name: Extract changelog id: extract_changelog