mirror of
https://github.com/DI0IK/homepage-plus.git
synced 2025-07-08 06:38:46 +00:00
Allow coinmarketcap slugs
This commit is contained in:
parent
276edb2069
commit
1e60553904
4 changed files with 40 additions and 19 deletions
|
@ -22,6 +22,7 @@ export default async function handler(req, res) {
|
|||
if (widget?.mappings) {
|
||||
const mapping = widget?.mappings?.[req.query.endpoint];
|
||||
const mappingParams = mapping?.params;
|
||||
const optionalParams = mapping?.optionalParams;
|
||||
const map = mapping?.map;
|
||||
const endpoint = mapping?.endpoint;
|
||||
const endpointProxy = mapping?.proxyHandler || serviceProxyHandler;
|
||||
|
@ -40,9 +41,17 @@ export default async function handler(req, res) {
|
|||
req.query.endpoint = formatApiCall(endpoint, segments);
|
||||
}
|
||||
|
||||
if (req.query.query && mappingParams) {
|
||||
if (req.query.query && (mappingParams || optionalParams)) {
|
||||
const queryParams = JSON.parse(req.query.query);
|
||||
const query = new URLSearchParams(mappingParams.map((p) => [p, queryParams[p]]));
|
||||
|
||||
let filteredOptionalParams = []
|
||||
if (optionalParams) filteredOptionalParams = optionalParams.filter(p => queryParams[p] !== undefined);
|
||||
|
||||
let params = [];
|
||||
if (mappingParams) params = params.concat(mappingParams);
|
||||
if (filteredOptionalParams) params = params.concat(filteredOptionalParams);
|
||||
|
||||
const query = new URLSearchParams(params.map((p) => [p, queryParams[p]]));
|
||||
req.query.endpoint = `${req.query.endpoint}?${query}`;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue