Compare commits

2 Commits
main ... dev

Author SHA1 Message Date
759669e0dc added JsonSerializable interface 2025-10-10 00:13:58 +02:00
3fe6def6ab typo 2025-10-10 00:09:04 +02:00

View File

@@ -4,15 +4,16 @@ namespace Magdev\DolibarrApi\Model;
use DateTimeImmutable;
use DateTimeZone;
use JsonSerializable;
class StatusModel extends AbstractModel implements ModelInterface
class StatusModel extends AbstractModel implements ModelInterface, JsonSerializable
{
private ?string $dolibarVersion = null;
private ?string $dolibarrVersion = null;
private ?bool $accessLocked = null;
private ?string $environment = null;
private ?DateTimeImmutable $timestampNowUtc = null;
private ?DateTimeZone $timestampPhpTz = null;
private ?DateTimeImmutable $dateTz = null;
private ?DateTimeZone $timestampPhpTz = null;
public function __construct(?array $data = null)
{
@@ -21,12 +22,20 @@ class StatusModel extends AbstractModel implements ModelInterface
}
}
public function jsonSerialize(): mixed
{
return $this->toArray();
}
public function fromArray(array $data): static
{
$this->setDolibarrVersion(dolibarVersion: $data['dolibarr_version'])
$this->setDolibarrVersion(dolibarrVersion: $data['dolibarr_version'])
->setAccessLocked(accessLocked: (bool) $data['access_locked'])
->setEnvironment(environment: $data['environment'])
->setTimestampNowUtc(timestampNowUtc: new DateTimeImmutable('@'.$data['timestamp_now_utc'], new DateTimeZone('UTC')))
->setTimestampNowUtc(timestampNowUtc: new DateTimeImmutable(
'@'.$data['timestamp_now_utc'],
new DateTimeZone('UTC')
))
->setDateTz(dateTz: $data['date_tz'])
->setTimestampPhpTz(timestampPhpTz: $data['timestamp_php_tz'])
->setStatusCode(statusCode: $data['code'])
@@ -49,12 +58,12 @@ class StatusModel extends AbstractModel implements ModelInterface
public function getDolibarrVersion(): ?string
{
return $this->dolibarVersion;
return $this->dolibarrVersion;
}
public function setDolibarrVersion(?string $dolibarVersion): self
public function setDolibarrVersion(?string $dolibarrVersion): self
{
$this->dolibarVersion = $dolibarVersion;
$this->dolibarrVersion = $dolibarrVersion;
return $this;
}