Initial implementation of option scripts on panel side.
This commit is contained in:
parent
5d990dcb06
commit
03e0de28d9
10 changed files with 284 additions and 0 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue