Skip to content

Commit 4d9c5ec

Browse files
committed
buncha fixes
1 parent 55725ed commit 4d9c5ec

42 files changed

Lines changed: 354 additions & 179 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/copilot-instructions.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,8 @@
1111
* **Never** edit files using sed, awk, or other shell utilities.
1212
* **Always** limit yourself to POSIX shell syntax when executing shell scripts.
1313
* **Always** run phpstan with 512MB of memory when analyzing generated code
14-
(e.g. `phpstan analyze -c phpstan.neon --memory-limit=512M src/`).
14+
(e.g. `phpstan analyze -c phpstan.neon --memory-limit=512M src/`).
15+
* **Always** specify `: void` for methods that do not return a value (e.g. `public function setFoo(string $foo): void`).
16+
* This includes unit test methods (e.g. `public function testFoo(): void`).
17+
* **Always** use `declare(strict_types=1);` at the top of all PHP files.
18+
* Do not do this in PHPUnit test class files, as PHPUnit does not support strict types.

phpunit.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
>
99

1010
<php>
11-
<env name="CONSUL_HTTP_ADDR" value="127.0.0.1:8500"/>
12-
<env name="CONSUL_HTTP_SSL" value="0"/>
11+
<env name="CONSUL_HTTP_ADDR" value="127.0.0.1:8500" force="true"/>
12+
<env name="CONSUL_HTTP_SSL" value="0" force="true"/>
1313
</php>
1414

1515
<testsuites>

src/ACL/ACLReplicationStatus.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
use DCarbone\Go\Time;
2424
use DCarbone\PHPConsulAPI\PHPLib\AbstractType;
25+
use function DCarbone\PHPConsulAPI\PHPLib\parse_time;
2526

2627
class ACLReplicationStatus extends AbstractType
2728
{
@@ -147,9 +148,9 @@ public static function jsonUnserialize(\stdClass $decoded): self
147148
$n = new self();
148149
foreach ((array)$decoded as $k => $v) {
149150
if ('LastSuccess' === $k) {
150-
$n->LastSuccess = Time\Time::createFromFormat(DATE_RFC3339, $v);
151+
$n->LastSuccess = parse_time($v);
151152
} elseif ('LastError' === $k) {
152-
$n->LastError = Time\Time::createFromFormat(DATE_RFC3339, $v);
153+
$n->LastError = parse_time($v);
153154
} else {
154155
$n->{$k} = $v;
155156
}

src/ACL/ACLTokenFields.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
*/
2222

2323
use DCarbone\Go\Time;
24+
use function DCarbone\PHPConsulAPI\PHPLib\parse_time;
2425

2526
trait ACLTokenFields
2627
{
@@ -43,7 +44,7 @@ trait ACLTokenFields
4344
public string $AuthMethod;
4445
public Time\Duration $ExpirationTTL;
4546
public null|Time\Time $ExpirationTime = null;
46-
public Time\Time $CreateTime;
47+
public null|Time\Time $CreateTime;
4748
public string $Hash;
4849
public string $Namespace;
4950
public string $Partition;
@@ -220,12 +221,12 @@ public function setExpirationTime(null|Time\Time $ExpirationTime): self
220221
return $this;
221222
}
222223

223-
public function getCreateTime(): Time\Time
224+
public function getCreateTime(): null|Time\Time
224225
{
225226
return $this->CreateTime;
226227
}
227228

228-
public function setCreateTime(Time\Time $CreateTime): self
229+
public function setCreateTime(null|Time\Time $CreateTime): self
229230
{
230231
$this->CreateTime = $CreateTime;
231232
return $this;
@@ -311,9 +312,9 @@ protected function _jsonUnserializeField(string $k, mixed $v, object $n): bool
311312
} elseif ('ExpirationTTL' === $k) {
312313
$n->setExpirationTTL($v);
313314
} elseif ('ExpirationTime' === $k) {
314-
$n->ExpirationTime = (null === $v ? $v : Time\Time::createFromFormat(DATE_RFC3339, $v));
315+
$n->ExpirationTime = (null === $v ? $v : parse_time($v));
315316
} elseif ('CreateTime' === $k) {
316-
$n->CreateTime = Time\Time::createFromFormat(DATE_RFC3339, $v);
317+
$n->CreateTime = parse_time($v);
317318
} else {
318319
return false;
319320
}
@@ -353,7 +354,7 @@ protected function _jsonSerialize(\stdClass $out): void
353354
if (null !== $this->ExpirationTime) {
354355
$out->ExpirationTime = $this->ExpirationTime->format(DATE_RFC3339);
355356
}
356-
if (!$this->CreateTime->isZero()) {
357+
if (null !== $this->CreateTime && !$this->CreateTime->isZero()) {
357358
$out->CreateTime = $this->CreateTime->format(DATE_RFC3339);
358359
}
359360
$out->Hash = $this->Hash;

src/ACL/ACLTokenListEntry.php

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
use DCarbone\Go\Time;
2424
use DCarbone\PHPConsulAPI\PHPLib\AbstractType;
25+
use function DCarbone\PHPConsulAPI\PHPLib\parse_time;
2526

2627
class ACLTokenListEntry extends AbstractType
2728
{
@@ -43,7 +44,7 @@ class ACLTokenListEntry extends AbstractType
4344
public bool $Local;
4445
public string $AuthMethod;
4546
public null|Time\Time $ExpirationTime = null;
46-
public Time\Time $CreateTime;
47+
public null|Time\Time $CreateTime;
4748
public string $Hash;
4849
public bool $Legacy;
4950
public string $Namespace;
@@ -257,12 +258,12 @@ public function setExpirationTime(null|Time\Time $ExpirationTime): self
257258
return $this;
258259
}
259260

260-
public function getCreateTime(): Time\Time
261+
public function getCreateTime(): null|Time\Time
261262
{
262263
return $this->CreateTime;
263264
}
264265

265-
public function setCreateTime(Time\Time $CreateTime): self
266+
public function setCreateTime(null|Time\Time $CreateTime): self
266267
{
267268
$this->CreateTime = $CreateTime;
268269
return $this;
@@ -348,9 +349,9 @@ public static function jsonUnserialize(\stdClass $decoded): self
348349
$n->TemplatedPolicies[] = ACLTemplatedPolicy::jsonUnserialize($vv);
349350
}
350351
} elseif ('ExpirationTime' === $k) {
351-
$n->ExpirationTime = (null === $v ? null : Time\Time::createFromFormat(DATE_RFC3339, $v));
352+
$n->ExpirationTime = (null === $v ? null : parse_time($v));
352353
} elseif ('CreateTime' === $k) {
353-
$n->CreateTime = Time\Time::createFromFormat(DATE_RFC3339, $v);
354+
$n->CreateTime = parse_time($v);
354355
} else {
355356
$n->{$k} = $v;
356357
}
@@ -388,7 +389,9 @@ public function jsonSerialize(): \stdClass
388389
if (null !== $this->ExpirationTime) {
389390
$out->ExpirationTime = $this->ExpirationTime->format(DATE_RFC3339);
390391
}
391-
$out->CreateTime = $this->CreateTime->format(DATE_RFC3339);
392+
if (null !== $this->CreateTime) {
393+
$out->CreateTime = $this->CreateTime->format(DATE_RFC3339);
394+
}
392395
$out->Hash = $this->Hash;
393396
if ('' !== $this->Namespace) {
394397
$out->Namespace = $this->Namespace;

src/Agent/AgentClient.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ public function NodeName(bool $refresh = false): ValuedStringResponse
8686
if (null !== $self->Err) {
8787
return $ret;
8888
}
89-
if (isset($self->Map['Config'], $self->Map['Config']['NodeName'])) {
90-
$ret->Value = $self->Map['Config']['NodeName'];
89+
if (isset($self->Map['Config']->NodeName)) {
90+
$ret->Value = $self->Map['Config']->NodeName;
9191
}
9292
return $ret;
9393
}

src/Agent/AgentService.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public function __construct(
8787
$this->setTags(...$Tags);
8888
$this->Address = $Address;
8989
$this->SocketPath = $SocketPath;
90-
$this->setTaggedAddresses($TaggedAddresses);
90+
$this->setTaggedAddresses($TaggedAddresses ?: null);
9191
$this->Weights = $Weights ?? new AgentWeights();
9292
$this->EnableTagOverride = $EnableTagOverride;
9393
$this->CreateIndex = $CreateIndex;
@@ -185,14 +185,11 @@ public function getTaggedAddresses(): null|array
185185
*/
186186
public function setTaggedAddresses(null|\stdClass|array $TaggedAddresses): self
187187
{
188-
if (null === $TaggedAddresses) {
188+
if (null === $TaggedAddresses || [] === $TaggedAddresses) {
189189
$this->TaggedAddresses = null;
190190
return $this;
191191
}
192-
$this->TaggedAddresses = [];
193-
foreach ($TaggedAddresses as $k => $v) {
194-
$this->TaggedAddresses[] = $v;
195-
}
192+
$this->TaggedAddresses = (array)$TaggedAddresses;
196193
return $this;
197194
}
198195

src/Agent/AgentServiceCheck.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,10 @@ public function setHTTP(string $HTTP): self
212212

213213
public function getHeader(): null|Values
214214
{
215-
return $this->Header ?? null;
215+
if (!isset($this->Header)) {
216+
return null;
217+
}
218+
return $this->Header;
216219
}
217220

218221
/**

src/Agent/AgentServiceConnectProxyConfig.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,10 @@ public function setTransparentProxy(null|TransparentProxyConfig $TransparentProx
184184
*/
185185
public function getConfig(): null|array
186186
{
187-
return $this->Config ?? null;
187+
if (!isset($this->Config)) {
188+
return null;
189+
}
190+
return $this->Config;
188191
}
189192

190193
/**

src/Agent/AgentServiceRegistration.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public function __construct(
7878
$this->setTags(...$Tags);
7979
$this->Port = $Port;
8080
$this->Address = $Address;
81-
$this->setTaggedAddresses($TaggedAddresses);
81+
$this->setTaggedAddresses($TaggedAddresses ?: null);
8282
$this->EnableTagOverride = $EnableTagOverride;
8383
$this->setMeta($Meta);
8484
$this->Weights = $Weights;
@@ -165,7 +165,10 @@ public function setAddress(string $Address): self
165165
*/
166166
public function getTaggedAddresses(): null|array
167167
{
168-
return $this->TaggedAddresses ?? null;
168+
if (!isset($this->TaggedAddresses)) {
169+
return null;
170+
}
171+
return $this->TaggedAddresses;
169172
}
170173

171174
public function setTaggedAddress(string $Tag, ServiceAddress $Address): self
@@ -348,7 +351,7 @@ public function jsonSerialize(): \stdClass
348351
if ('' !== $this->Address) {
349352
$out->Address = $this->Address;
350353
}
351-
if (isset($this->TaggedAddresses)) {
354+
if (isset($this->TaggedAddresses) && [] !== $this->TaggedAddresses) {
352355
$out->TaggedAddresses = $this->TaggedAddresses;
353356
}
354357
if ($this->EnableTagOverride) {

0 commit comments

Comments
 (0)