20 lines
635 B
TypeScript
20 lines
635 B
TypeScript
import { fetchJson } from './apiClient';
|
|
|
|
export type EventQrCodePayload = {
|
|
url?: string | null;
|
|
qr_code_data_url?: string | null;
|
|
};
|
|
|
|
export async function fetchEventQrCode(eventToken: string, size = 240): Promise<EventQrCodePayload> {
|
|
const params = new URLSearchParams();
|
|
if (Number.isFinite(size)) {
|
|
params.set('size', String(size));
|
|
}
|
|
const query = params.toString();
|
|
const url = `/api/v1/events/${encodeURIComponent(eventToken)}/qr${query ? `?${query}` : ''}`;
|
|
|
|
const response = await fetchJson<EventQrCodePayload>(url, { noStore: true });
|
|
|
|
return response.data ?? { url: null, qr_code_data_url: null };
|
|
}
|