feat(api): create DateTimeImmutable from timestamp for coffee POST endpoint

This commit is contained in:
Victor Westerlund 2025-08-24 03:30:35 +02:00
parent d4d73e9278
commit 456aba3895
Signed by: vlw
GPG key ID: D0AD730E1057DFC6

View file

@ -16,6 +16,7 @@
parent::__construct(new Ruleset()->POST([
new Rules(CoffeeTable::DATE_CREATED->value)
->type(Type::STRING)
->type(Type::NUMBER)
->default(null)
]));
}
@ -26,7 +27,10 @@
// Parse DateTime from POST string
if ($_POST[CoffeeTable::DATE_CREATED->value]) {
try {
$datetime = new DateTimeImmutable($_POST[CoffeeTable::DATE_CREATED->value]);
// Create DateTimeImmutable from Unix timestamp or datetime string
$datetime = gettype($_POST[CoffeeTable::DATE_CREATED->value]) === "integer"
? DateTimeImmutable::createFromTimestamp($_POST[CoffeeTable::DATE_CREATED->value])
: new DateTimeImmutable($_POST[CoffeeTable::DATE_CREATED->value]);
} catch (DateMalformedStringException $error) {
return new Response($error->getMessage(), 400);
}