import { get_object } from './api_get_object'; import type { key_val } from '$lib/stores/ae_stores'; /** * Get a list of lookup objects (V3) * Standardized lookup data like countries, timezones, and subdivisions. * Updated 2026-02-20 * * Endpoint: GET /v3/lookup/{lu_type}/list */ export async function get_ae_lookup_li_v3({ api_cfg, lu_type, site_id, for_type, for_id, include_disabled = false, only_priority = false, params = {}, headers = {}, log_lvl = 0 }: { api_cfg: any; lu_type: 'country' | 'country_subdivision' | 'time_zone' | string; site_id?: string; for_type?: string; for_id?: string; include_disabled?: boolean; only_priority?: boolean; params?: key_val; headers?: Record; log_lvl?: number; }) { if (log_lvl) { console.log(`*** get_ae_lookup_li_v3() *** lu_type=${lu_type}`); } const endpoint = `/v3/lookup/${lu_type}/list`; // Build query params if (site_id) params['site_id'] = site_id; if (for_type) params['for_type'] = for_type; if (for_id) params['for_id'] = for_id; if (include_disabled) params['include_disabled'] = true; if (only_priority) params['only_priority'] = true; // Lookup data is often global; ensure account context is handled if needed, // but GUIDE says it uses site Whitelist Policy. // If no account_id is present in api_cfg, we might need 'x-no-account-id' // for some lookups if they are public. return await get_object({ api_cfg, endpoint, params, headers, log_lvl }); }