Lines 100.00% 2 / 2
Functions and Methods 100.00% 2 / 2
Classes and Traits 100.00% 1 / 1
Name Lines Functions and Methods CRAP Classes and Traits
AdminAppView 100.00% 2 / 2 100.00% 2 / 2 2 100.00% 1 / 1
 __construct 100.00% 1 / 1 100.00% 1 / 1 1
 fromAppStatus 100.00% 1 / 1 100.00% 1 / 1 1
1<?php
2
3declare(strict_types=1);
4
5namespace Stewart\Runtime\Http\Admin\Response;
6
7use Stewart\Runtime\Control\Protocol\Status\AppPauseStatus;
8use Stewart\Runtime\Control\Protocol\Status\AppStatus;
9use Stewart\Runtime\Lifecycle\AppState;
10
11final readonly class AdminAppView
12{
13    public function __construct(
14        public string $id,
15        public ?AppState $state,
16        public bool $paused,
17        public ?AppPauseStatus $pause,
18        public ?AppPauseStatus $configPauseOverride,
19    ) {}
20
21    public static function fromAppStatus(AppStatus $status): self
22    {
23        return new self($status->id, $status->state, $status->pause !== null, $status->pause, $status->configPauseOverride);
24    }
25}