diff --git a/src/Appwrite/Utopia/Response/Filters/V15.php b/src/Appwrite/Utopia/Response/Filters/V15.php index 8e688d58ff..a859c6c52a 100644 --- a/src/Appwrite/Utopia/Response/Filters/V15.php +++ b/src/Appwrite/Utopia/Response/Filters/V15.php @@ -210,7 +210,11 @@ class V15 extends Filter protected function parseDatetimeAttributes(array $content, array $attributes): array { foreach ($attributes as $attribute) { - if (isset($content[$attribute])) { + if (array_key_exists($attribute, $content)) { + if (empty($content[$attribute])) { + $content[$attribute] = 0; + continue; + } $content[$attribute] = strtotime($content[$attribute]); } } diff --git a/tests/unit/Utopia/Response/Filters/V15Test.php b/tests/unit/Utopia/Response/Filters/V15Test.php index a68da474d9..76b8b20b59 100644 --- a/tests/unit/Utopia/Response/Filters/V15Test.php +++ b/tests/unit/Utopia/Response/Filters/V15Test.php @@ -1077,6 +1077,14 @@ class V15Test extends TestCase 'providerAccessTokenExpiry' => 1592981250, ], ], + 'empty values' => [ + [ + 'providerAccessTokenExpiry' => '', + ], + [ + 'providerAccessTokenExpiry' => 0, + ], + ], ]; } @@ -1089,7 +1097,7 @@ class V15Test extends TestCase $result = $this->filter->parse($content, $model); - $this->assertEquals($expected, $result); + $this->assertSame($expected, $result); } /**