Skip to content

Commit

Permalink
Unify logic, refactor names
Browse files Browse the repository at this point in the history
  • Loading branch information
apata committed Mar 6, 2025
1 parent f9604f4 commit 032aa43
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
19 changes: 10 additions & 9 deletions assets/js/dashboard/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export class ApiError extends Error {
}
}

function serialize(obj: Record<string, string | boolean | number>) {
export function serialize(obj: Record<string, string | boolean | number>) {
const str: string[] = []
/* eslint-disable-next-line no-prototype-builtins */
for (const p in obj)
Expand All @@ -34,7 +34,7 @@ export function cancelAll() {
abortController = new AbortController()
}

export function serializeQuery(
export function queryToSearchParams(
query: DashboardQuery,
extraQuery: unknown[] = []
) {
Expand Down Expand Up @@ -71,7 +71,7 @@ export function serializeQuery(

Object.assign(queryObj, ...extraQuery)

return serialize(queryObj)
return queryObj
}

function getHeaders(): Record<string, string> {
Expand All @@ -87,7 +87,7 @@ async function handleApiResponse(response: Response) {
return payload
}

function getSharedLinkQueryParams(): Record<string, string> {
function getSharedLinkSearchParams(): Record<string, string> {
return SHARED_LINK_AUTH ? { auth: SHARED_LINK_AUTH } : {}
}

Expand All @@ -96,11 +96,13 @@ export async function get(
query?: DashboardQuery,
...extraQueryParams: unknown[]
) {
const sharedLinkParams = getSharedLinkQueryParams()
const sharedLinkParams = getSharedLinkSearchParams()

const queryString = query
? serializeQuery(query, [...extraQueryParams, sharedLinkParams])
: new URLSearchParams(sharedLinkParams).toString()
? serialize(
queryToSearchParams(query, [...extraQueryParams, sharedLinkParams])
)
: serialize(sharedLinkParams)

const response = await fetch(queryString ? `${url}?${queryString}` : url, {
signal: abortController.signal,
Expand All @@ -118,8 +120,7 @@ export const mutation = async <
| { body: TBody; method: 'PATCH' | 'PUT' | 'POST' }
| { method: 'DELETE' }
) => {
const sharedLinkParams = getSharedLinkQueryParams()
const queryString = new URLSearchParams(sharedLinkParams).toString()
const queryString = serialize(getSharedLinkSearchParams())
const fetchOptions =
options.method === 'DELETE'
? {}
Expand Down
4 changes: 2 additions & 2 deletions assets/js/dashboard/stats/graph/stats-export.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ export default function StatsExport() {

function renderExportLink() {
const interval = getCurrentInterval(site, query)
const queryParams = api.serializeQuery(query, [{ interval, comparison: undefined }])
const endpoint = `/${encodeURIComponent(site.domain)}/export${queryParams}`
const queryParams = api.serialize(api.queryToSearchParams(query, [{ interval, comparison: undefined }]))
const endpoint = `/${encodeURIComponent(site.domain)}/export?${queryParams}`

return (
<a href={endpoint} download onClick={startExport}>
Expand Down

0 comments on commit 032aa43

Please sign in to comment.