. /** * Webservice return value to describe a single event as successful or not * @package local_treestudyplan * @copyright 2023 P.M. Kuipers * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace local_treestudyplan; /** * Describes a webservice result a successful or not with optional message */ class success { /** * Success (true) or failed (false) * @var bool */ private $success; /** * Messsage passed with result * @var string */ private $msg; /** * Create new successful result with optional message * @param string $msg Message to add to result * @return self Succesful success object */ public static function success($msg = "") { return new self(true, $msg); } /** * Create new failed result with optional message * @param string $msg Message to add to result * @return self Failed success object */ public static function fail($msg = "") { return new self(false, $msg); } /** * Create new succes result * @param bool $success Whether result is succesful or not * @param string $msg Message to add to result */ public function __construct($success, $msg) { $this->success = ($success) ? true : false; $this->msg = $msg; } /** * Describe the result for the webservice model * @return \external_description */ public static function structure() { return new \external_single_structure([ "success" => new \external_value(PARAM_BOOL, 'operation completed succesfully'), "msg" => new \external_value(PARAM_TEXT, 'message'), ]); } /** * Make the webservice result model * @return array Webservice value */ public function model() { return ["success" => $this->success, "msg" => $this->msg]; } /** * Get success status of object * * @return bool If this success is successful or not */ public function successful() { return $this->success; } /** * Get message * * @return string Message */ public function msg() { return $this->msg; } }