|
|
@@ -6,13 +6,23 @@ use Illuminate\Support\Facades\Cache; |
|
|
|
|
|
|
|
class Subforum { |
|
|
|
|
|
|
|
private static function unwrap($subforum) |
|
|
|
public $id; |
|
|
|
public $name; |
|
|
|
public $description; |
|
|
|
|
|
|
|
public $threads; |
|
|
|
|
|
|
|
public static function unwrap($subforum) |
|
|
|
{ |
|
|
|
$s = new self(); |
|
|
|
|
|
|
|
$s->id = $subforum->id; |
|
|
|
$s->name = $subforum->name; |
|
|
|
$s->description = $subforum->description; |
|
|
|
$s->description = $subforum->description ?? null; |
|
|
|
|
|
|
|
$s->threads = array_map(function($thread) { |
|
|
|
return Thread::unwrap($thread); |
|
|
|
}, $subforum->threads ?? []); |
|
|
|
|
|
|
|
return $s; |
|
|
|
} |
|
|
@@ -26,6 +36,13 @@ class Subforum { |
|
|
|
}, $json->list); |
|
|
|
} |
|
|
|
|
|
|
|
public static function get(int $subforumId, int $page = 1) |
|
|
|
{ |
|
|
|
$data = (new AbstractData)->httpGet(sprintf('/subforum/%s/%s', $subforumId, $page)); |
|
|
|
$json = json_decode($data); |
|
|
|
return self::unwrap($json); |
|
|
|
} |
|
|
|
|
|
|
|
public static function updateCache() |
|
|
|
{ |
|
|
|
Cache::forever('subforums', self::getAll()); |
|
|
@@ -33,7 +50,7 @@ class Subforum { |
|
|
|
|
|
|
|
public static function getCache() |
|
|
|
{ |
|
|
|
return Cache::get('subforums', []); |
|
|
|
return Cache::get('subforums', self::getAll()); |
|
|
|
} |
|
|
|
|
|
|
|
} |