Skip to content

Commit fb1220a

Browse files
authored
Merge pull request #410 from ember-nexus/feature/gh-408-fix-elasticsearch-created-updated-properties-to-datetime-type
created and updated properties in Elasticsearch now use correct datet…
2 parents 916db1d + 6e8bac3 commit fb1220a

File tree

4 files changed

+11
-7
lines changed

4 files changed

+11
-7
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010

1111
### Fixed
1212
- Fix issue with deserializing array data from MongoDB which lead to exceptions.
13+
- Created and updated properties in Elasticsearch now use correct datetime type and no longer plain text, closes #408.
1314

1415
### Changed
1516
- Upgrade PHP to 8.4.13, skipping 8.4.12, closes #405.

src/EventSystem/ElementFragmentize/EventListener/CreatedPropertyElementFragmentizeEventListener.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use App\EventSystem\ElementFragmentize\Event\NodeElementFragmentizeEvent;
88
use App\EventSystem\ElementFragmentize\Event\RelationElementFragmentizeEvent;
99
use App\Factory\Exception\Server500InternalServerErrorExceptionFactory;
10+
use DateTime;
1011
use DateTimeInterface;
1112
use Laudis\Neo4j\Types\DateTimeZoneId;
1213
use MongoDB\BSON\UTCDateTime;
@@ -58,6 +59,6 @@ private function handleEvent(NodeElementFragmentizeEvent|RelationElementFragment
5859
}
5960
$cypherFragment->addProperty('created', $created);
6061
$mongoFragment->addProperty('created', new UTCDateTime($created));
61-
$elasticFragment->addProperty('created', $created->format('Uu'));
62+
$elasticFragment->addProperty('created', $created->format(DateTime::ATOM));
6263
}
6364
}

src/EventSystem/ElementFragmentize/EventListener/GenericPropertyElementFragmentizeEventListener.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use App\EventSystem\ElementFragmentize\Event\NodeElementFragmentizeEvent;
88
use App\EventSystem\ElementFragmentize\Event\RelationElementFragmentizeEvent;
99
use App\Factory\Exception\Server500InternalServerErrorExceptionFactory;
10+
use DateTime;
1011
use DateTimeInterface;
1112
use Laudis\Neo4j\Types\Date as LaudisDate;
1213
use Laudis\Neo4j\Types\DateTime as LaudisDateTime;
@@ -56,27 +57,27 @@ private function handleEvent(NodeElementFragmentizeEvent|RelationElementFragment
5657
}
5758
if ($value instanceof DateTimeInterface) {
5859
$cypherFragment->addProperty($name, $value);
59-
$elasticFragment->addProperty($name, $value->format('Uu'));
60+
$elasticFragment->addProperty($name, $value->format(DateTime::ATOM));
6061
continue;
6162
}
6263
if ($value instanceof LaudisDateTimeZoneId) {
6364
$cypherFragment->addProperty($name, $value);
64-
$elasticFragment->addProperty($name, $value->toDateTime()->format('Uu'));
65+
$elasticFragment->addProperty($name, $value->toDateTime()->format(DateTime::ATOM));
6566
continue;
6667
}
6768
if ($value instanceof LaudisDateTime) {
6869
$cypherFragment->addProperty($name, $value);
69-
$elasticFragment->addProperty($name, $value->toDateTime()->format('Uu'));
70+
$elasticFragment->addProperty($name, $value->toDateTime()->format(DateTime::ATOM));
7071
continue;
7172
}
7273
if ($value instanceof LaudisDate) {
7374
$cypherFragment->addProperty($name, $value);
74-
$elasticFragment->addProperty($name, $value->toDateTime()->format('Uu'));
75+
$elasticFragment->addProperty($name, $value->toDateTime()->format(DateTime::ATOM));
7576
continue;
7677
}
7778
if ($value instanceof LaudisLocalDateTime) {
7879
$cypherFragment->addProperty($name, $value);
79-
$elasticFragment->addProperty($name, $value->toDateTime()->format('Uu'));
80+
$elasticFragment->addProperty($name, $value->toDateTime()->format(DateTime::ATOM));
8081
continue;
8182
}
8283
if ($value instanceof LaudisLocalTime) {

src/EventSystem/ElementFragmentize/EventListener/UpdatedPropertyElementFragmentizeEventListener.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use App\EventSystem\ElementFragmentize\Event\NodeElementFragmentizeEvent;
88
use App\EventSystem\ElementFragmentize\Event\RelationElementFragmentizeEvent;
99
use App\Factory\Exception\Server500InternalServerErrorExceptionFactory;
10+
use DateTime;
1011
use DateTimeInterface;
1112
use Laudis\Neo4j\Types\DateTimeZoneId;
1213
use MongoDB\BSON\UTCDateTime;
@@ -53,6 +54,6 @@ private function handleEvent(NodeElementFragmentizeEvent|RelationElementFragment
5354
}
5455
$cypherFragment->addProperty('updated', $updated);
5556
$mongoFragment->addProperty('updated', new UTCDateTime($updated));
56-
$elasticFragment->addProperty('updated', $updated->format('Uu'));
57+
$elasticFragment->addProperty('updated', $updated->format(DateTime::ATOM));
5758
}
5859
}

0 commit comments

Comments
 (0)