refactor: use epoch timestamp
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
@@ -15,6 +15,7 @@ use KTXF\Resource\Identifier\CollectionIdentifierInterface;
|
||||
use KTXF\Resource\Identifier\EntityIdentifierInterface;
|
||||
use KTXF\Resource\Identifier\ResourceIdentifier;
|
||||
use KTXF\Resource\Identifier\ServiceIdentifier;
|
||||
use KTXF\Utile\Timestamp;
|
||||
|
||||
/**
|
||||
* Abstract Node Base Class
|
||||
@@ -119,18 +120,14 @@ abstract class NodeBaseAbstract implements NodeBaseInterface {
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function created(): DateTimeImmutable|null {
|
||||
return isset($this->data[static::PROPERTY_CREATED])
|
||||
? new DateTimeImmutable($this->data[static::PROPERTY_CREATED])
|
||||
: null;
|
||||
return Timestamp::toDateTime($this->data[static::PROPERTY_CREATED] ?? null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function modified(): DateTimeImmutable|null {
|
||||
return isset($this->data[static::PROPERTY_MODIFIED])
|
||||
? new DateTimeImmutable($this->data[static::PROPERTY_MODIFIED])
|
||||
: null;
|
||||
return Timestamp::toDateTime($this->data[static::PROPERTY_MODIFIED] ?? null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -9,6 +9,8 @@ declare(strict_types=1);
|
||||
|
||||
namespace KTXF\Resource\Provider\Node;
|
||||
|
||||
use KTXF\Utile\Timestamp;
|
||||
|
||||
/**
|
||||
* Abstract Node Mutable Class
|
||||
*
|
||||
@@ -56,19 +58,21 @@ abstract class NodeMutableAbstract extends NodeBaseAbstract implements NodeMutab
|
||||
}
|
||||
|
||||
if (isset($data[static::PROPERTY_CREATED])) {
|
||||
if (!is_string($data[static::PROPERTY_CREATED])) {
|
||||
throw new \InvalidArgumentException("Created date must be a string in ISO 8601 format");
|
||||
$created = Timestamp::normalize($data[static::PROPERTY_CREATED]);
|
||||
if ($created === null) {
|
||||
throw new \InvalidArgumentException("Created date must be a valid epoch millisecond or ISO 8601 date");
|
||||
}
|
||||
$this->data[static::PROPERTY_CREATED] = $data[static::PROPERTY_CREATED];
|
||||
$this->data[static::PROPERTY_CREATED] = $created;
|
||||
} else {
|
||||
$this->data[static::PROPERTY_CREATED] = null;
|
||||
}
|
||||
|
||||
if (isset($data[static::PROPERTY_MODIFIED])) {
|
||||
if (!is_string($data[static::PROPERTY_MODIFIED])) {
|
||||
throw new \InvalidArgumentException("Modified date must be a string in ISO 8601 format");
|
||||
$modified = Timestamp::normalize($data[static::PROPERTY_MODIFIED]);
|
||||
if ($modified === null) {
|
||||
throw new \InvalidArgumentException("Modified date must be a valid epoch millisecond or ISO 8601 date");
|
||||
}
|
||||
$this->data[static::PROPERTY_MODIFIED] = $data[static::PROPERTY_MODIFIED];
|
||||
$this->data[static::PROPERTY_MODIFIED] = $modified;
|
||||
} else {
|
||||
$this->data[static::PROPERTY_MODIFIED] = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user