Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
run_result
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2// This file is part of Moodle - https://moodle.org/
3//
4// Moodle is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// Moodle is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with Moodle.  If not, see <https://www.gnu.org/licenses/>.
16
17declare(strict_types=1);
18
19namespace tool_autoflow\local\engine;
20
21/**
22 * The outcome of one run: status, a log entry per step, the final context and any error.
23 *
24 * @package    tool_autoflow
25 * @copyright  2026 DevLMS <contact@devlms.com>
26 * @license    https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
27 */
28final class run_result {
29    /**
30     * Create a result.
31     *
32     * @param string $status success or failed
33     * @param array[] $steps Each with node, type, status, branch and, on error, error.
34     * @param array $context trigger, nodes and vars at the end of the run.
35     * @param string|null $error Why the run failed.
36     */
37    public function __construct(
38        /** @var string success or failed. */
39        public readonly string $status,
40        /** @var array[] One entry per step. */
41        public readonly array $steps,
42        /** @var array Final context. */
43        public readonly array $context,
44        /** @var string|null Why the run failed. */
45        public readonly ?string $error = null,
46    ) {
47    }
48}