chore(query.php): rename proxy endpoint to query to better reflect how it's used
This commit is contained in:
parent
92a3730e61
commit
aa33cd72df
4 changed files with 42 additions and 34 deletions
|
@ -5,7 +5,7 @@ use App\Classes\BaseHandler;
|
|||
require __DIR__ . '/../server/utils/init.php';
|
||||
require __DIR__ . "/Classes/BaseHandler.php";
|
||||
|
||||
class ProxyHandler extends BaseHandler
|
||||
class QueryHandler extends BaseHandler
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
|
@ -55,23 +55,13 @@ class ProxyHandler extends BaseHandler
|
|||
|
||||
try {
|
||||
$response = $this->fetchFromApi($data, $query);
|
||||
$markdownFields = $_GET['markdown'] ?? [];
|
||||
$markdownFields = is_array($markdownFields)
|
||||
? $markdownFields
|
||||
: explode(',', $markdownFields);
|
||||
$markdownFields = array_map('trim', array_filter($markdownFields));
|
||||
$markdownFields = $this->getMarkdownFieldsFromQuery();
|
||||
|
||||
if (!empty($response) && !empty($markdownFields)) {
|
||||
foreach ($markdownFields as $field) {
|
||||
if (!empty($response[0][$field])) $response[0]["{$field}_html"] = parseMarkdown($response[0][$field]);
|
||||
}
|
||||
}
|
||||
if (!empty($response) && !empty($markdownFields)) $response = $this->parseMarkdownFields($response, $markdownFields);
|
||||
|
||||
$json = json_encode($response);
|
||||
|
||||
if ($this->cache) {
|
||||
$this->cache->setex($cacheKey, $cacheDuration, $json);
|
||||
}
|
||||
if ($this->cache) $this->cache->setex($cacheKey, $cacheDuration, $json);
|
||||
|
||||
header('Content-Type: application/json');
|
||||
echo $json;
|
||||
|
@ -84,7 +74,25 @@ class ProxyHandler extends BaseHandler
|
|||
{
|
||||
return "proxy_{$data}" . ($id ? "_{$id}" : "");
|
||||
}
|
||||
|
||||
private function getMarkdownFieldsFromQuery(): array {
|
||||
$fields = $_GET['markdown'] ?? [];
|
||||
|
||||
if (!is_array($fields)) $fields = explode(',', $fields);
|
||||
|
||||
return array_map('trim', array_filter($fields));
|
||||
}
|
||||
|
||||
private function parseMarkdownFields(array $data, array $fields): array {
|
||||
foreach ($data as &$item) {
|
||||
foreach ($fields as $field) {
|
||||
if (!empty($item[$field])) $item["{$field}_html"] = parseMarkdown($item[$field]);
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
$handler = new ProxyHandler();
|
||||
$handler = new QueryHandler();
|
||||
$handler->handleRequest();
|
Loading…
Add table
Add a link
Reference in a new issue