Jake Vanderwerf
2026-08-27 f0645f805ecdd19cf5ed9842f9e6b69a86dbcdeb
inc/rest/Rest.php
@@ -4,9 +4,11 @@
use JVBase\Instance;
use JVBase\integrations\services\Cloudflare;
use JVBase\managers\Cache;
use JVBase\managers\Errors;
use JVBase\meta\Meta;
use JVBase\registrar\Registrar;
use JVBase\base\Site;
use JVBase\rest\routes\TermRoutes;
use WP_REST_Request;
use WP_REST_Response;
use Exception;
@@ -485,10 +487,20 @@
    */
   protected function checkUser(int $userId): bool
   {
      $cache = Cache::for('checkUser', DAY_IN_SECONDS)->connect('user');
      $cache = Cache::for('checkUser', 'user',DAY_IN_SECONDS);
      return $cache->remember($userId, fn() => (bool) get_userdata($userId));
   }
   protected function checkArray(string $value, array $search, bool $lowercase = true):string|false
   {
      if ($lowercase) {
         $value = strtolower($value);
      }
      return in_array($value, $search) ? $value : false;
   }
   /**
    * Check if term exists (cached)
    */
@@ -501,7 +513,7 @@
         return false;
      }
      $cache = Cache::for('checkTerm', DAY_IN_SECONDS)->connect('taxonomy');
      $cache = Cache::for('checkTerm', 'term', DAY_IN_SECONDS);
      return $cache->remember($termId, fn() => (bool) term_exists($termId, jvbCheckBase($taxonomy)));
   }
@@ -510,7 +522,7 @@
    */
   protected function isVerifiedUser(int $userId): bool
   {
      $cache = Cache::for('verifiedUsers', DAY_IN_SECONDS)->connect('user');
      $cache = Cache::for('verifiedUsers', 'user',DAY_IN_SECONDS);
      return $cache->remember($userId, fn() => user_can($userId, 'skip_moderation'));
   }
@@ -634,7 +646,7 @@
      ]);
      try {
         JVB()->error()->log('security_audit', $event, $context, 'info');
         Errors::getInstance()->log('security_audit', $event, $context, 'info');
      } catch (Exception $e) {
         error_log("Security Audit: {$event} - " . json_encode($context));
      }
@@ -646,7 +658,7 @@
   protected function logError(string $message, array $context = [], string $severity = 'error'): void
   {
      try {
         JVB()->error()->log(static::class, $message, $context, $severity);
         Errors::getInstance()->log(static::class, $message, $context, $severity);
      } catch (Exception $e) {
         error_log(static::class . " Error: {$message} - " . json_encode($context));
      }
@@ -880,7 +892,7 @@
         return $terms;
      }
      $ids = array_map('absint', explode(',',$value));
      $cache = Cache::for('term_data')->connect('taxonomy');
      $cache = Cache::for('term_data','term');
      $cache->flush();
      if (!array_key_exists($taxonomy, $terms)) {
         $terms[$taxonomy] = [];
@@ -898,7 +910,7 @@
                     'name'   => $term->name,
                     'slug'   => $term->slug,
                     'parent' => $term->parent,
                     'path'   => JVB()->routes('term')->getTermPath($term->term_id, $term->name, $taxonomy),
                     'path'   => TermRoutes::getInstance()->getTermPath($term->term_id, $term->name, $taxonomy),
                     'taxonomy'  => jvbNoBase($term->taxonomy),
                     'count'  => $term->count,
                  ];