CristalTeam / php-api-wrapper

:rainbow: Work with APIs like with Laravel Eloquent or Doctrine (no longer a dream)
MIT License
117 stars 32 forks source link

Cristal\ApiWrapper\Api::findOne doesn't utillize cache #28

Open toddb02 opened 2 years ago

toddb02 commented 2 years ago

I was wondering if the findOne method in Cristal\ApiWrapper\Api purposely doesn't save to cache like the other find methods do. It does check if the cache key exists so it seems like more of an omission.


     * Call API for find entity of entrypoint.
     *
     * @param string $endpoint
     * @param int    $id
     * @param array  $filters
     *
     * @return array
     */
    protected function findOne(string $endpoint, $id, array $filters = [])
    {
        $uri = '/'.$endpoint.'/'.$id;
        $key = $uri.'?'.http_build_query($filters);
        if ($this->hasCache($key)) {
            return $this->getCache($key);
        }

        return $this->getTransport()->request($uri, $filters) ?? []; // <-- doesn't save to cache but checks for cache in above if statement
    }