CodebaseEnvironmentResponse   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 55
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 32
c 1
b 0
f 0
dl 0
loc 55
rs 10
wmc 5

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 24 5
1
<?php
2
3
namespace AcquiaCloudApi\Response;
4
5
class CodebaseEnvironmentResponse
6
{
7
    public object $links;
8
9
    public string $id;
10
11
    public string $name;
12
13
    public string $label;
14
15
    public string $description;
16
17
    public string $status;
18
19
    public string $reference;
20
21
    public string $code_switch_status;
22
23
    public string $ssh_url;
24
25
    public object $flags;
26
27
    /**
28
     * @var array<string, mixed> $properties
29
     */
30
    public array $properties;
31
32
    public object $codebase;
33
34
    public ?string $codebase_uuid = null;
35
36
    public function __construct(object $environment)
37
    {
38
        $this->links = $environment->_links;
39
        $this->id = $environment->id;
40
        $this->name = $environment->name;
41
        $this->label = $environment->label;
42
        $this->description = $environment->description;
43
        $this->status = $environment->status;
44
        $this->reference = $environment->reference;
45
        $this->code_switch_status = $environment->code_switch_status ?? 'IDLE';
46
        $this->ssh_url = $environment->ssh_url ?? '';
47
        $this->flags = $environment->flags;
48
        $this->properties = (array) ($environment->properties ?? []);
49
50
        // Initialize codebase as empty object by default
51
        $this->codebase = new \stdClass();
52
53
        // Handle embedded codebase or direct codebase reference
54
        if (isset($environment->_embedded->codebase)) {
55
            $hasId = isset($environment->_embedded->codebase->id);
56
            $this->codebase_uuid = $hasId ? $environment->_embedded->codebase->id : null;
57
        } elseif (isset($environment->codebase)) {
58
            $hasId = isset($environment->codebase->id);
59
            $this->codebase_uuid = $hasId ? $environment->codebase->id : null;
60
        }
61
    }
62
}
63