Initial implementation of option scripts on panel side.

This commit is contained in:
Dane Everitt 2017-03-18 13:09:30 -04:00
parent 5d990dcb06
commit 03e0de28d9
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
10 changed files with 284 additions and 0 deletions

View file

@ -154,4 +154,35 @@ class OptionRepository
return $option;
}
/**
* Updates a service option's scripts in the database.
*
* @param int $id
* @param array $data
* @return \Pterodactyl\Models\ServiceOption
*
* @throws \Pterodactyl\Exceptions\DisplayValidationException
*/
public function scripts($id, array $data)
{
$option = ServiceOption::findOrFail($id);
$data['script_install'] = empty($data['script_install']) ? null : $data['script_install'];
$data['script_upgrade'] = empty($data['script_upgrade']) ? null : $data['script_upgrade'];
$validator = Validator::make($data, [
'script_install' => 'sometimes|nullable|string',
'script_upgrade' => 'sometimes|nullable|string',
'script_is_privileged' => 'sometimes|required|boolean',
]);
if ($validator->fails()) {
throw new DisplayValidationException(json_encode($validator->errors()));
}
$option->fill($data)->save();
return $option;
}
}