Passed
Branch main (f9aaf7)
by Jonathan
14:43
created
app/Common/GeoDispersion/Config/GenericPlaceMapperConfig.php 1 patch
Indentation   +91 added lines, -91 removed lines patch added patch discarded remove patch
@@ -25,104 +25,104 @@
 block discarded – undo
25 25
  */
26 26
 class GenericPlaceMapperConfig implements PlaceMapperConfigInterface
27 27
 {
28
-    private array $config = [];
28
+	private array $config = [];
29 29
 
30
-    /**
31
-     * Get the generic mapper's config
32
-     *
33
-     * @return array
34
-     */
35
-    public function config(): array
36
-    {
37
-        return $this->config;
38
-    }
30
+	/**
31
+	 * Get the generic mapper's config
32
+	 *
33
+	 * @return array
34
+	 */
35
+	public function config(): array
36
+	{
37
+		return $this->config;
38
+	}
39 39
 
40
-    /**
41
-     * Set the generic mapper's config
42
-     *
43
-     * @param array $config
44
-     * @return $this
45
-     */
46
-    public function setConfig(array $config): self
47
-    {
48
-        $this->config = $config;
49
-        return $this;
50
-    }
40
+	/**
41
+	 * Set the generic mapper's config
42
+	 *
43
+	 * @param array $config
44
+	 * @return $this
45
+	 */
46
+	public function setConfig(array $config): self
47
+	{
48
+		$this->config = $config;
49
+		return $this;
50
+	}
51 51
 
52
-    /**
53
-     * {@inheritDoc}
54
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::get()
55
-     */
56
-    public function get(string $key, $default = null)
57
-    {
58
-        return $this->config[$key] ?? $default;
59
-    }
52
+	/**
53
+	 * {@inheritDoc}
54
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::get()
55
+	 */
56
+	public function get(string $key, $default = null)
57
+	{
58
+		return $this->config[$key] ?? $default;
59
+	}
60 60
 
61
-    /**
62
-     * {@inheritDoc}
63
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::has()
64
-     */
65
-    public function has(string $key): bool
66
-    {
67
-        return key_exists($key, $this->config);
68
-    }
61
+	/**
62
+	 * {@inheritDoc}
63
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::has()
64
+	 */
65
+	public function has(string $key): bool
66
+	{
67
+		return key_exists($key, $this->config);
68
+	}
69 69
 
70
-    /**
71
-     * {@inheritDoc}
72
-     * @see \JsonSerializable::jsonSerialize()
73
-     */
74
-    public function jsonSerialize()
75
-    {
76
-        return [
77
-            'class'     =>  get_class($this),
78
-            'config'    =>  $this->jsonSerializeConfig()
79
-        ];
80
-    }
70
+	/**
71
+	 * {@inheritDoc}
72
+	 * @see \JsonSerializable::jsonSerialize()
73
+	 */
74
+	public function jsonSerialize()
75
+	{
76
+		return [
77
+			'class'     =>  get_class($this),
78
+			'config'    =>  $this->jsonSerializeConfig()
79
+		];
80
+	}
81 81
 
82
-    /**
83
-     * Returns a representation of the mapper config compatible with Json serialisation
84
-     *
85
-     * @return mixed
86
-     */
87
-    public function jsonSerializeConfig()
88
-    {
89
-        return $this->config;
90
-    }
82
+	/**
83
+	 * Returns a representation of the mapper config compatible with Json serialisation
84
+	 *
85
+	 * @return mixed
86
+	 */
87
+	public function jsonSerializeConfig()
88
+	{
89
+		return $this->config;
90
+	}
91 91
 
92
-    /**
93
-     * {@inheritDoc}
94
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::jsonDeserialize()
95
-     *
96
-     * @param mixed $config
97
-     * @return $this
98
-     */
99
-    public function jsonDeserialize($config): self
100
-    {
101
-        if (is_string($config)) {
102
-            return $this->jsonDeserialize(json_decode($config));
103
-        }
104
-        if (is_array($config)) {
105
-            return $this->setConfig($config);
106
-        }
107
-        return $this;
108
-    }
92
+	/**
93
+	 * {@inheritDoc}
94
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::jsonDeserialize()
95
+	 *
96
+	 * @param mixed $config
97
+	 * @return $this
98
+	 */
99
+	public function jsonDeserialize($config): self
100
+	{
101
+		if (is_string($config)) {
102
+			return $this->jsonDeserialize(json_decode($config));
103
+		}
104
+		if (is_array($config)) {
105
+			return $this->setConfig($config);
106
+		}
107
+		return $this;
108
+	}
109 109
 
110
-    /**
111
-     * {@inheritDoc}
112
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::configContent()
113
-     */
114
-    public function configContent(ModuleInterface $module, Tree $tree): string
115
-    {
116
-        return '';
117
-    }
110
+	/**
111
+	 * {@inheritDoc}
112
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::configContent()
113
+	 */
114
+	public function configContent(ModuleInterface $module, Tree $tree): string
115
+	{
116
+		return '';
117
+	}
118 118
 
119
-    /**
120
-     * {@inheritDoc}
121
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::withConfigUpdate()
122
-     * @return $this
123
-     */
124
-    public function withConfigUpdate(ServerRequestInterface $request): self
125
-    {
126
-        return $this;
127
-    }
119
+	/**
120
+	 * {@inheritDoc}
121
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::withConfigUpdate()
122
+	 * @return $this
123
+	 */
124
+	public function withConfigUpdate(ServerRequestInterface $request): self
125
+	{
126
+		return $this;
127
+	}
128 128
 }
Please login to merge, or discard this patch.
app/Common/GeoDispersion/Config/MapColorsConfig.php 2 patches
Indentation   +81 added lines, -81 removed lines patch added patch discarded remove patch
@@ -23,92 +23,92 @@
 block discarded – undo
23 23
  */
24 24
 class MapColorsConfig implements JsonSerializable
25 25
 {
26
-    private Color $default;
27
-    private Color $stroke;
28
-    private Color $max_value;
29
-    private Color $hover;
26
+	private Color $default;
27
+	private Color $stroke;
28
+	private Color $max_value;
29
+	private Color $hover;
30 30
 
31
-    /**
32
-     * Constructor for MapColorsConfig
33
-     *
34
-     * @param Color $default
35
-     * @param Color $stroke
36
-     * @param Color $max_value
37
-     * @param Color $hover
38
-     */
39
-    public function __construct(
40
-        Color $default,
41
-        Color $stroke,
42
-        Color $max_value,
43
-        Color $hover
44
-    ) {
45
-        $this->default = $default;
46
-        $this->stroke = $stroke;
47
-        $this->max_value = $max_value;
48
-        $this->hover = $hover;
49
-    }
31
+	/**
32
+	 * Constructor for MapColorsConfig
33
+	 *
34
+	 * @param Color $default
35
+	 * @param Color $stroke
36
+	 * @param Color $max_value
37
+	 * @param Color $hover
38
+	 */
39
+	public function __construct(
40
+		Color $default,
41
+		Color $stroke,
42
+		Color $max_value,
43
+		Color $hover
44
+	) {
45
+		$this->default = $default;
46
+		$this->stroke = $stroke;
47
+		$this->max_value = $max_value;
48
+		$this->hover = $hover;
49
+	}
50 50
 
51
-    /**
52
-     * Get the default color for the features
53
-     *
54
-     * @return Color
55
-     */
56
-    public function defaultColor(): Color
57
-    {
58
-        return $this->default;
59
-    }
51
+	/**
52
+	 * Get the default color for the features
53
+	 *
54
+	 * @return Color
55
+	 */
56
+	public function defaultColor(): Color
57
+	{
58
+		return $this->default;
59
+	}
60 60
 
61
-    /**
62
-     * Get the color for the features' strokes
63
-     *
64
-     * @return Color
65
-     */
66
-    public function strokeColor(): Color
67
-    {
68
-        return $this->stroke;
69
-    }
61
+	/**
62
+	 * Get the color for the features' strokes
63
+	 *
64
+	 * @return Color
65
+	 */
66
+	public function strokeColor(): Color
67
+	{
68
+		return $this->stroke;
69
+	}
70 70
 
71
-    /**
72
-     * Get the color for the features with the lowest count
73
-     *
74
-     * @return Color
75
-     */
76
-    public function minValueColor(): Color
77
-    {
78
-        return new Rgb(255, 255, 255);
79
-    }
71
+	/**
72
+	 * Get the color for the features with the lowest count
73
+	 *
74
+	 * @return Color
75
+	 */
76
+	public function minValueColor(): Color
77
+	{
78
+		return new Rgb(255, 255, 255);
79
+	}
80 80
 
81
-    /**
82
-     * Get the color for the features with the highest count
83
-     *
84
-     * @return Color
85
-     */
86
-    public function maxValueColor(): Color
87
-    {
88
-        return $this->max_value;
89
-    }
81
+	/**
82
+	 * Get the color for the features with the highest count
83
+	 *
84
+	 * @return Color
85
+	 */
86
+	public function maxValueColor(): Color
87
+	{
88
+		return $this->max_value;
89
+	}
90 90
 
91
-    /**
92
-     * Get the color for feature hovering
93
-     *
94
-     * @return Color
95
-     */
96
-    public function hoverColor(): Color
97
-    {
98
-        return $this->hover;
99
-    }
91
+	/**
92
+	 * Get the color for feature hovering
93
+	 *
94
+	 * @return Color
95
+	 */
96
+	public function hoverColor(): Color
97
+	{
98
+		return $this->hover;
99
+	}
100 100
 
101
-    /**
102
-     * {@inheritDoc}
103
-     * @see JsonSerializable::jsonSerialize()
104
-     */
105
-    public function jsonSerialize()
106
-    {
107
-        return [
108
-            'default'   => (string) $this->defaultColor()->toHex(),
109
-            'stroke'    => (string) $this->strokeColor()->toHex(),
110
-            'maxvalue'  => (string) $this->maxValueColor()->toHex(),
111
-            'hover'     => (string) $this->hoverColor()->toHex(),
112
-        ];
113
-    }
101
+	/**
102
+	 * {@inheritDoc}
103
+	 * @see JsonSerializable::jsonSerialize()
104
+	 */
105
+	public function jsonSerialize()
106
+	{
107
+		return [
108
+			'default'   => (string) $this->defaultColor()->toHex(),
109
+			'stroke'    => (string) $this->strokeColor()->toHex(),
110
+			'maxvalue'  => (string) $this->maxValueColor()->toHex(),
111
+			'hover'     => (string) $this->hoverColor()->toHex(),
112
+		];
113
+	}
114 114
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -105,10 +105,10 @@
 block discarded – undo
105 105
     public function jsonSerialize()
106 106
     {
107 107
         return [
108
-            'default'   => (string) $this->defaultColor()->toHex(),
109
-            'stroke'    => (string) $this->strokeColor()->toHex(),
110
-            'maxvalue'  => (string) $this->maxValueColor()->toHex(),
111
-            'hover'     => (string) $this->hoverColor()->toHex(),
108
+            'default'   => (string)$this->defaultColor()->toHex(),
109
+            'stroke'    => (string)$this->strokeColor()->toHex(),
110
+            'maxvalue'  => (string)$this->maxValueColor()->toHex(),
111
+            'hover'     => (string)$this->hoverColor()->toHex(),
112 112
         ];
113 113
     }
114 114
 }
Please login to merge, or discard this patch.
app/Common/GeoDispersion/Config/NullPlaceMapperConfig.php 1 patch
Indentation   +52 added lines, -52 removed lines patch added patch discarded remove patch
@@ -26,61 +26,61 @@
 block discarded – undo
26 26
  */
27 27
 class NullPlaceMapperConfig implements PlaceMapperConfigInterface
28 28
 {
29
-    /**
30
-     * {@inheritDoc}
31
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::get()
32
-     */
33
-    public function get(string $key, $default = null)
34
-    {
35
-        return $default;
36
-    }
29
+	/**
30
+	 * {@inheritDoc}
31
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::get()
32
+	 */
33
+	public function get(string $key, $default = null)
34
+	{
35
+		return $default;
36
+	}
37 37
 
38
-    /**
39
-     * {@inheritDoc}
40
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::has()
41
-     */
42
-    public function has(string $key): bool
43
-    {
44
-        return false;
45
-    }
38
+	/**
39
+	 * {@inheritDoc}
40
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::has()
41
+	 */
42
+	public function has(string $key): bool
43
+	{
44
+		return false;
45
+	}
46 46
 
47
-    /**
48
-     * {@inheritDoc}
49
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::jsonDeserialize()
50
-     *
51
-     * @param mixed $config
52
-     * @return $this
53
-     */
54
-    public function jsonDeserialize($config): self
55
-    {
56
-        return $this;
57
-    }
47
+	/**
48
+	 * {@inheritDoc}
49
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::jsonDeserialize()
50
+	 *
51
+	 * @param mixed $config
52
+	 * @return $this
53
+	 */
54
+	public function jsonDeserialize($config): self
55
+	{
56
+		return $this;
57
+	}
58 58
 
59
-    /**
60
-     * {@inheritDoc}
61
-     * @see JsonSerializable::jsonSerialize()
62
-     */
63
-    public function jsonSerialize()
64
-    {
65
-        return [];
66
-    }
59
+	/**
60
+	 * {@inheritDoc}
61
+	 * @see JsonSerializable::jsonSerialize()
62
+	 */
63
+	public function jsonSerialize()
64
+	{
65
+		return [];
66
+	}
67 67
 
68
-    /**
69
-     * {@inheritDoc}
70
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::configContent()
71
-     */
72
-    public function configContent(ModuleInterface $module, Tree $tree): string
73
-    {
74
-        return '';
75
-    }
68
+	/**
69
+	 * {@inheritDoc}
70
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::configContent()
71
+	 */
72
+	public function configContent(ModuleInterface $module, Tree $tree): string
73
+	{
74
+		return '';
75
+	}
76 76
 
77
-    /**
78
-     * {@inheritDoc}
79
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::withConfigUpdate()
80
-     * @return $this
81
-     */
82
-    public function withConfigUpdate(ServerRequestInterface $request): self
83
-    {
84
-        return $this;
85
-    }
77
+	/**
78
+	 * {@inheritDoc}
79
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\PlaceMapperConfigInterface::withConfigUpdate()
80
+	 * @return $this
81
+	 */
82
+	public function withConfigUpdate(ServerRequestInterface $request): self
83
+	{
84
+		return $this;
85
+	}
86 86
 }
Please login to merge, or discard this patch.
app/Common/GeoDispersion/Config/MapViewConfig.php 1 patch
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -23,51 +23,51 @@
 block discarded – undo
23 23
  */
24 24
 class MapViewConfig implements MapViewConfigInterface
25 25
 {
26
-    private string $map_mapping_property;
27
-    private PlaceMapperConfigInterface $mapper_config;
26
+	private string $map_mapping_property;
27
+	private PlaceMapperConfigInterface $mapper_config;
28 28
 
29
-    /**
30
-     * Constructor for MapViewConfig
31
-     *
32
-     * @param string $map_mapping_property
33
-     * @param PlaceMapperConfigInterface $mapper_config
34
-     */
35
-    public function __construct(
36
-        string $map_mapping_property,
37
-        PlaceMapperConfigInterface $mapper_config = null
38
-    ) {
39
-        $this->map_mapping_property = $map_mapping_property;
40
-        $this->mapper_config = $mapper_config ?? new NullPlaceMapperConfig();
41
-    }
29
+	/**
30
+	 * Constructor for MapViewConfig
31
+	 *
32
+	 * @param string $map_mapping_property
33
+	 * @param PlaceMapperConfigInterface $mapper_config
34
+	 */
35
+	public function __construct(
36
+		string $map_mapping_property,
37
+		PlaceMapperConfigInterface $mapper_config = null
38
+	) {
39
+		$this->map_mapping_property = $map_mapping_property;
40
+		$this->mapper_config = $mapper_config ?? new NullPlaceMapperConfig();
41
+	}
42 42
 
43
-    /**
44
-     * {@inheritDoc}
45
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\MapViewConfigInterface::mapMappingProperty()
46
-     */
47
-    public function mapMappingProperty(): string
48
-    {
49
-        return $this->map_mapping_property;
50
-    }
43
+	/**
44
+	 * {@inheritDoc}
45
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\MapViewConfigInterface::mapMappingProperty()
46
+	 */
47
+	public function mapMappingProperty(): string
48
+	{
49
+		return $this->map_mapping_property;
50
+	}
51 51
 
52
-    /**
53
-     * {@inheritDoc}
54
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\MapViewConfigInterface::mapperConfig()
55
-     */
56
-    public function mapperConfig(): PlaceMapperConfigInterface
57
-    {
58
-        return $this->mapper_config;
59
-    }
52
+	/**
53
+	 * {@inheritDoc}
54
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\MapViewConfigInterface::mapperConfig()
55
+	 */
56
+	public function mapperConfig(): PlaceMapperConfigInterface
57
+	{
58
+		return $this->mapper_config;
59
+	}
60 60
 
61
-    /**
62
-     * {@inheritDoc}
63
-     * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\MapViewConfigInterface::with()
64
-     * @return static
65
-     */
66
-    public function with(string $mapping_property, PlaceMapperConfigInterface $mapper_config): self
67
-    {
68
-        $new = clone $this;
69
-        $new->map_mapping_property = $mapping_property;
70
-        $new->mapper_config = $mapper_config;
71
-        return $new;
72
-    }
61
+	/**
62
+	 * {@inheritDoc}
63
+	 * @see \MyArtJaub\Webtrees\Contracts\GeoDispersion\MapViewConfigInterface::with()
64
+	 * @return static
65
+	 */
66
+	public function with(string $mapping_property, PlaceMapperConfigInterface $mapper_config): self
67
+	{
68
+		$new = clone $this;
69
+		$new->map_mapping_property = $mapping_property;
70
+		$new->mapper_config = $mapper_config;
71
+		return $new;
72
+	}
73 73
 }
Please login to merge, or discard this patch.
app/Common/Tasks/TaskSchedule.php 1 patch
Indentation   +286 added lines, -286 removed lines patch added patch discarded remove patch
@@ -25,290 +25,290 @@
 block discarded – undo
25 25
 class TaskSchedule
26 26
 {
27 27
 
28
-    /**
29
-     * Task Schedule ID
30
-     * @var int $id
31
-     */
32
-    private $id;
33
-
34
-    /**
35
-     * Task schedule status
36
-     * @var bool $enabled
37
-     */
38
-    private $enabled;
39
-
40
-    /**
41
-     * ID of the task attached to schedule
42
-     * @var string $task_id
43
-     */
44
-    private $task_id;
45
-
46
-    /**
47
-     * Last updated date
48
-     * @var Carbon $last_run
49
-     */
50
-    private $last_run;
51
-
52
-    /**
53
-     * Last run result
54
-     * @var bool $last_result
55
-     */
56
-    private $last_result;
57
-
58
-    /**
59
-     * Task run frequency
60
-     * @var CarbonInterval $frequency
61
-     */
62
-    private $frequency;
63
-
64
-    /**
65
-     * Task remaining runs
66
-     * @var int $nb_occurrences
67
-     */
68
-    private $nb_occurrences;
69
-
70
-    /**
71
-     * Current running status of the task
72
-     * @var bool $is_running
73
-     */
74
-    private $is_running;
75
-
76
-    /**
77
-     * Constructor for TaskSchedule
78
-     *
79
-     * @param int $id Schedule ID
80
-     * @param string $task_id Task ID
81
-     * @param bool $enabled Is the schedule enabled
82
-     * @param Carbon $last_run Last successful run date/time
83
-     * @param bool $last_result Result of the last run
84
-     * @param CarbonInterval $frequency Schedule frequency
85
-     * @param int $nb_occurrences Number of remaining occurrences to be run
86
-     * @param bool $is_running Is the task currently running
87
-     */
88
-    public function __construct(
89
-        int $id,
90
-        string $task_id,
91
-        bool $enabled,
92
-        Carbon $last_run,
93
-        bool $last_result,
94
-        CarbonInterval $frequency,
95
-        int $nb_occurrences,
96
-        bool $is_running
97
-    ) {
98
-        $this->id = $id;
99
-        $this->task_id = $task_id;
100
-        $this->enabled = $enabled;
101
-        $this->last_run = $last_run;
102
-        $this->last_result = $last_result;
103
-        $this->frequency = $frequency;
104
-        $this->nb_occurrences = $nb_occurrences;
105
-        $this->is_running = $is_running;
106
-    }
107
-
108
-    /**
109
-     * Get the schedule ID.
110
-     *
111
-     * @return int
112
-     */
113
-    public function id(): int
114
-    {
115
-        return $this->id;
116
-    }
117
-
118
-    /**
119
-     * Get the task ID.
120
-     *
121
-     * @return string
122
-     */
123
-    public function taskId(): string
124
-    {
125
-        return $this->task_id;
126
-    }
127
-
128
-    /**
129
-     * Returns whether the schedule is enabled
130
-     *
131
-     * @return bool
132
-     */
133
-    public function isEnabled(): bool
134
-    {
135
-        return $this->enabled;
136
-    }
137
-
138
-    /**
139
-     * Enable the schedule
140
-     *
141
-     * @return $this
142
-     */
143
-    public function enable(): self
144
-    {
145
-        $this->enabled = true;
146
-        return $this;
147
-    }
148
-
149
-    /**
150
-     * Disable the schedule
151
-     *
152
-     * @return $this
153
-     */
154
-    public function disable(): self
155
-    {
156
-        $this->enabled = false;
157
-        return $this;
158
-    }
159
-
160
-    /**
161
-     * Get the frequency of the schedule
162
-     *
163
-     * @return CarbonInterval
164
-     */
165
-    public function frequency(): CarbonInterval
166
-    {
167
-        return $this->frequency;
168
-    }
169
-
170
-    /**
171
-     * Set the frequency of the schedule
172
-     *
173
-     * @param CarbonInterval $frequency
174
-     * @return $this
175
-     */
176
-    public function setFrequency(CarbonInterval $frequency): self
177
-    {
178
-        $this->frequency = $frequency;
179
-        return $this;
180
-    }
181
-
182
-    /**
183
-     * Get the date/time of the last successful run.
184
-     *
185
-     * @return Carbon
186
-     */
187
-    public function lastRunTime(): Carbon
188
-    {
189
-        return $this->last_run;
190
-    }
191
-
192
-    /**
193
-     * Set the last successful run date/time
194
-     *
195
-     * @param Carbon $last_run
196
-     * @return $this
197
-     */
198
-    public function setLastRunTime(Carbon $last_run): self
199
-    {
200
-        $this->last_run = $last_run;
201
-        return $this;
202
-    }
203
-
204
-    /**
205
-     * Returns whether the last run was successful
206
-     *
207
-     * @return bool
208
-     */
209
-    public function wasLastRunSuccess(): bool
210
-    {
211
-        return $this->last_result;
212
-    }
213
-
214
-    /**
215
-     * Set the last run result
216
-     *
217
-     * @param bool $last_result
218
-     * @return $this
219
-     */
220
-    public function setLastResult(bool $last_result): self
221
-    {
222
-        $this->last_result = $last_result;
223
-        return $this;
224
-    }
225
-
226
-    /**
227
-     * Get the number of remaining of occurrences of task runs.
228
-     * Returns 0 if the tasks must be run indefinitely.
229
-     *
230
-     * @return int
231
-     */
232
-    public function remainingOccurences(): int
233
-    {
234
-        return $this->nb_occurrences;
235
-    }
236
-
237
-    /**
238
-     * Decrements the number of remaining occurences by 1.
239
-     * The task will be disabled when the number reaches 0.
240
-     *
241
-     * @return $this
242
-     */
243
-    public function decrementRemainingOccurences(): self
244
-    {
245
-        if ($this->nb_occurrences > 0) {
246
-            $this->nb_occurrences--;
247
-            if ($this->nb_occurrences == 0) {
248
-                $this->disable();
249
-            }
250
-        }
251
-        return $this;
252
-    }
253
-
254
-    /**
255
-     * Set the number of remaining occurences of task runs.
256
-     *
257
-     * @param int $nb_occurrences
258
-     * @return $this
259
-     */
260
-    public function setRemainingOccurences(int $nb_occurrences): self
261
-    {
262
-        $this->nb_occurrences = $nb_occurrences;
263
-        return $this;
264
-    }
265
-
266
-    /**
267
-     * Returns whether the task is running
268
-     * @return bool
269
-     */
270
-    public function isRunning(): bool
271
-    {
272
-        return $this->is_running;
273
-    }
274
-
275
-    /**
276
-     * Informs the schedule that the task is going to run
277
-     *
278
-     * @return $this
279
-     */
280
-    public function startRunning(): self
281
-    {
282
-        $this->is_running = true;
283
-        return $this;
284
-    }
285
-
286
-    /**
287
-     * Informs the schedule that the task has stopped running.
288
-     * @return $this
289
-     */
290
-    public function stopRunning(): self
291
-    {
292
-        $this->is_running = false;
293
-        return $this;
294
-    }
295
-
296
-    /**
297
-     * Returns the schedule details as an associate array
298
-     *
299
-     * @return array
300
-     */
301
-    public function toArray(): array
302
-    {
303
-        return [
304
-            'id'            =>  $this->id,
305
-            'task_id'       =>  $this->task_id,
306
-            'enabled'       =>  $this->enabled,
307
-            'last_run'      =>  $this->last_run,
308
-            'last_result'   =>  $this->last_result,
309
-            'frequency'     =>  $this->frequency,
310
-            'nb_occurrences' =>  $this->nb_occurrences,
311
-            'is_running'    =>  $this->is_running
312
-        ];
313
-    }
28
+	/**
29
+	 * Task Schedule ID
30
+	 * @var int $id
31
+	 */
32
+	private $id;
33
+
34
+	/**
35
+	 * Task schedule status
36
+	 * @var bool $enabled
37
+	 */
38
+	private $enabled;
39
+
40
+	/**
41
+	 * ID of the task attached to schedule
42
+	 * @var string $task_id
43
+	 */
44
+	private $task_id;
45
+
46
+	/**
47
+	 * Last updated date
48
+	 * @var Carbon $last_run
49
+	 */
50
+	private $last_run;
51
+
52
+	/**
53
+	 * Last run result
54
+	 * @var bool $last_result
55
+	 */
56
+	private $last_result;
57
+
58
+	/**
59
+	 * Task run frequency
60
+	 * @var CarbonInterval $frequency
61
+	 */
62
+	private $frequency;
63
+
64
+	/**
65
+	 * Task remaining runs
66
+	 * @var int $nb_occurrences
67
+	 */
68
+	private $nb_occurrences;
69
+
70
+	/**
71
+	 * Current running status of the task
72
+	 * @var bool $is_running
73
+	 */
74
+	private $is_running;
75
+
76
+	/**
77
+	 * Constructor for TaskSchedule
78
+	 *
79
+	 * @param int $id Schedule ID
80
+	 * @param string $task_id Task ID
81
+	 * @param bool $enabled Is the schedule enabled
82
+	 * @param Carbon $last_run Last successful run date/time
83
+	 * @param bool $last_result Result of the last run
84
+	 * @param CarbonInterval $frequency Schedule frequency
85
+	 * @param int $nb_occurrences Number of remaining occurrences to be run
86
+	 * @param bool $is_running Is the task currently running
87
+	 */
88
+	public function __construct(
89
+		int $id,
90
+		string $task_id,
91
+		bool $enabled,
92
+		Carbon $last_run,
93
+		bool $last_result,
94
+		CarbonInterval $frequency,
95
+		int $nb_occurrences,
96
+		bool $is_running
97
+	) {
98
+		$this->id = $id;
99
+		$this->task_id = $task_id;
100
+		$this->enabled = $enabled;
101
+		$this->last_run = $last_run;
102
+		$this->last_result = $last_result;
103
+		$this->frequency = $frequency;
104
+		$this->nb_occurrences = $nb_occurrences;
105
+		$this->is_running = $is_running;
106
+	}
107
+
108
+	/**
109
+	 * Get the schedule ID.
110
+	 *
111
+	 * @return int
112
+	 */
113
+	public function id(): int
114
+	{
115
+		return $this->id;
116
+	}
117
+
118
+	/**
119
+	 * Get the task ID.
120
+	 *
121
+	 * @return string
122
+	 */
123
+	public function taskId(): string
124
+	{
125
+		return $this->task_id;
126
+	}
127
+
128
+	/**
129
+	 * Returns whether the schedule is enabled
130
+	 *
131
+	 * @return bool
132
+	 */
133
+	public function isEnabled(): bool
134
+	{
135
+		return $this->enabled;
136
+	}
137
+
138
+	/**
139
+	 * Enable the schedule
140
+	 *
141
+	 * @return $this
142
+	 */
143
+	public function enable(): self
144
+	{
145
+		$this->enabled = true;
146
+		return $this;
147
+	}
148
+
149
+	/**
150
+	 * Disable the schedule
151
+	 *
152
+	 * @return $this
153
+	 */
154
+	public function disable(): self
155
+	{
156
+		$this->enabled = false;
157
+		return $this;
158
+	}
159
+
160
+	/**
161
+	 * Get the frequency of the schedule
162
+	 *
163
+	 * @return CarbonInterval
164
+	 */
165
+	public function frequency(): CarbonInterval
166
+	{
167
+		return $this->frequency;
168
+	}
169
+
170
+	/**
171
+	 * Set the frequency of the schedule
172
+	 *
173
+	 * @param CarbonInterval $frequency
174
+	 * @return $this
175
+	 */
176
+	public function setFrequency(CarbonInterval $frequency): self
177
+	{
178
+		$this->frequency = $frequency;
179
+		return $this;
180
+	}
181
+
182
+	/**
183
+	 * Get the date/time of the last successful run.
184
+	 *
185
+	 * @return Carbon
186
+	 */
187
+	public function lastRunTime(): Carbon
188
+	{
189
+		return $this->last_run;
190
+	}
191
+
192
+	/**
193
+	 * Set the last successful run date/time
194
+	 *
195
+	 * @param Carbon $last_run
196
+	 * @return $this
197
+	 */
198
+	public function setLastRunTime(Carbon $last_run): self
199
+	{
200
+		$this->last_run = $last_run;
201
+		return $this;
202
+	}
203
+
204
+	/**
205
+	 * Returns whether the last run was successful
206
+	 *
207
+	 * @return bool
208
+	 */
209
+	public function wasLastRunSuccess(): bool
210
+	{
211
+		return $this->last_result;
212
+	}
213
+
214
+	/**
215
+	 * Set the last run result
216
+	 *
217
+	 * @param bool $last_result
218
+	 * @return $this
219
+	 */
220
+	public function setLastResult(bool $last_result): self
221
+	{
222
+		$this->last_result = $last_result;
223
+		return $this;
224
+	}
225
+
226
+	/**
227
+	 * Get the number of remaining of occurrences of task runs.
228
+	 * Returns 0 if the tasks must be run indefinitely.
229
+	 *
230
+	 * @return int
231
+	 */
232
+	public function remainingOccurences(): int
233
+	{
234
+		return $this->nb_occurrences;
235
+	}
236
+
237
+	/**
238
+	 * Decrements the number of remaining occurences by 1.
239
+	 * The task will be disabled when the number reaches 0.
240
+	 *
241
+	 * @return $this
242
+	 */
243
+	public function decrementRemainingOccurences(): self
244
+	{
245
+		if ($this->nb_occurrences > 0) {
246
+			$this->nb_occurrences--;
247
+			if ($this->nb_occurrences == 0) {
248
+				$this->disable();
249
+			}
250
+		}
251
+		return $this;
252
+	}
253
+
254
+	/**
255
+	 * Set the number of remaining occurences of task runs.
256
+	 *
257
+	 * @param int $nb_occurrences
258
+	 * @return $this
259
+	 */
260
+	public function setRemainingOccurences(int $nb_occurrences): self
261
+	{
262
+		$this->nb_occurrences = $nb_occurrences;
263
+		return $this;
264
+	}
265
+
266
+	/**
267
+	 * Returns whether the task is running
268
+	 * @return bool
269
+	 */
270
+	public function isRunning(): bool
271
+	{
272
+		return $this->is_running;
273
+	}
274
+
275
+	/**
276
+	 * Informs the schedule that the task is going to run
277
+	 *
278
+	 * @return $this
279
+	 */
280
+	public function startRunning(): self
281
+	{
282
+		$this->is_running = true;
283
+		return $this;
284
+	}
285
+
286
+	/**
287
+	 * Informs the schedule that the task has stopped running.
288
+	 * @return $this
289
+	 */
290
+	public function stopRunning(): self
291
+	{
292
+		$this->is_running = false;
293
+		return $this;
294
+	}
295
+
296
+	/**
297
+	 * Returns the schedule details as an associate array
298
+	 *
299
+	 * @return array
300
+	 */
301
+	public function toArray(): array
302
+	{
303
+		return [
304
+			'id'            =>  $this->id,
305
+			'task_id'       =>  $this->task_id,
306
+			'enabled'       =>  $this->enabled,
307
+			'last_run'      =>  $this->last_run,
308
+			'last_result'   =>  $this->last_result,
309
+			'frequency'     =>  $this->frequency,
310
+			'nb_occurrences' =>  $this->nb_occurrences,
311
+			'is_running'    =>  $this->is_running
312
+		];
313
+	}
314 314
 }
Please login to merge, or discard this patch.