AutorÃa | Ultima modificación | Ver Log |
<?php// This file is part of Moodle - http://moodle.org///// Moodle is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.//// Moodle is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with Moodle. If not, see <http://www.gnu.org/licenses/>.namespace core_ai\aiactions\responses;/*** Generate image action response class.** Any method that processes an action must return an instance of this class.** @package core_ai* @copyright 2024 Matt Porritt <matt.porritt@moodle.com>* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/class response_generate_image extends response_base {/** @var \stored_file|null The URL of the generated image. */private ?\stored_file $draftfile = null;/** @var string|null The revised prompt generated by the AI. */private ?string $revisedprompt = null;/** @var string|null The URL of the source image used to generate the image. */private ?string $sourceurl = null;/*** Constructor.** @param bool $success The success status of the action.* @param int $errorcode Error code. Must exist if success is false.* @param string $errormessage Error message. Must exist if success is false*/public function __construct(bool $success,int $errorcode = 0,string $errormessage = '',) {parent::__construct(success: $success,actionname: 'generate_image',errorcode: $errorcode,errormessage: $errormessage,);}#[\Override]public function set_response_data(array $response): void {$this->draftfile = $response['draftfile'] ?? null;$this->revisedprompt = $response['revisedprompt'] ?? null;$this->sourceurl = $response['sourceurl'] ?? null;$this->model = $response['model'] ?? null;}#[\Override]public function get_response_data(): array {return ['draftfile' => $this->draftfile,'revisedprompt' => $this->revisedprompt,'sourceurl' => $this->sourceurl,'model' => $this->model,];}}