UNPKG

eregistrations-js

Version:

A JavaScript library that simplifies usage of eRegistrations APIs.

44 lines (43 loc) 1.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getServiceFields = getServiceFields; /** * Fetches fields for a specific service * @param config Configuration object with API and auth details including serviceId * @returns Service fields data */ async function getServiceFields(config) { try { if (!config || !config.baseApiUrl) { throw new Error('Invalid configuration: baseApiUrl is required'); } if (!config.serviceId) { throw new Error('serviceId is required in config'); } const url = `${config.baseApiUrl}/bparest/bpa/v2016/06/service/${config.serviceId}/fields?onlyEventComponents=false&addDeterminants=true&addRegistrations=true&addActions=true&addButtons=true`; console.log(`Fetching service fields for service ${config.serviceId}...`); const response = await fetch(url, { method: 'GET', headers: { 'Authorization': `Bearer ${config.token}`, 'Content-Type': 'application/json' } }); if (!response.ok) { const errorBody = await response.text(); console.error(`Failed to fetch service fields: ${response.status} ${response.statusText}`); console.error(`Error details: ${errorBody}`); if (response.status === 404) { throw new Error(`Service not found: ${config.serviceId}`); } throw new Error(`Failed to fetch service fields: ${response.status} ${response.statusText}`); } const fields = await response.json(); console.log(`Successfully fetched ${fields.length || 0} service fields`); return fields; } catch (error) { console.error('Error fetching service fields:', error); throw error; } }