diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index 6a06a56491..fd5e3ff14f 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -17,6 +17,7 @@ use Utopia\Abuse\Adapters\TimeLimit; use Utopia\Cache\Adapter\Filesystem; use Utopia\Cache\Cache; use Utopia\Database\Database; +use Utopia\Database\DateTime; use Utopia\Database\Document; use Utopia\Database\Validator\Authorization; @@ -103,7 +104,7 @@ App::init() $abuse = new Abuse($timeLimit); $remaining = $timeLimit->remaining(); $limit = $timeLimit->limit(); - $time = (new DateTime($timeLimit->time()))->getTimestamp() + $route->getLabel('abuse-time', 3600); + $time = (new \DateTime($timeLimit->time()))->getTimestamp() + $route->getLabel('abuse-time', 3600); if ($limit && ($remaining < $closestLimit || is_null($closestLimit))) { $closestLimit = $remaining; @@ -373,18 +374,18 @@ App::shutdown() $signature = md5($data); $cacheLog = $dbForProject->getDocument('cache', $key); - $now = date('d-m-Y H:i:s', time()); + $accessedAt = $cacheLog->getAttribute('accessedAt', ''); + $accessedAt = (new \DateTime($accessedAt))->format('Y/m/d'); + if ($cacheLog->isEmpty()) { Authorization::skip(fn () => $dbForProject->createDocument('cache', new Document([ '$id' => $key, 'resource' => $resource, - 'accessedAt' => $now, + 'accessedAt' => DateTime::now(), 'signature' => $signature, ]))); - } elseif (date('Y/m/d', \time()) > date('Y/m/d', strtotime($cacheLog->getAttribute('accessedAt')))) { - var_dump('update'); - var_dump($now); - $cacheLog->setAttribute('accessedAt', $now); + } elseif ((new \DateTime(DateTime::now()))->format('Y/m/d') > $accessedAt) { + $cacheLog->setAttribute('accessedAt', DateTime::now()); Authorization::skip(fn () => $dbForProject->updateDocument('cache', $cacheLog->getId(), $cacheLog)); } diff --git a/composer.lock b/composer.lock index ad0eb287bb..66b4315e4a 100644 --- a/composer.lock +++ b/composer.lock @@ -2841,12 +2841,12 @@ "source": { "type": "git", "url": "https://github.com/appwrite/sdk-generator.git", - "reference": "6e630a62f522ac68a7056bebf81cd032c7a053ba" + "reference": "532d4d15ec8f11539972f2848c2e230c49b24f65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/6e630a62f522ac68a7056bebf81cd032c7a053ba", - "reference": "6e630a62f522ac68a7056bebf81cd032c7a053ba", + "url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/532d4d15ec8f11539972f2848c2e230c49b24f65", + "reference": "532d4d15ec8f11539972f2848c2e230c49b24f65", "shasum": "" }, "require": { @@ -2883,7 +2883,7 @@ "issues": "https://github.com/appwrite/sdk-generator/issues", "source": "https://github.com/appwrite/sdk-generator/tree/feat-new-headers" }, - "time": "2022-08-29T10:43:33+00:00" + "time": "2022-08-20T07:42:55+00:00" }, { "name": "doctrine/instantiator",