eregistrations-js
Version:
A JavaScript library that simplifies usage of eRegistrations APIs.
44 lines (43 loc) • 1.85 kB
JavaScript
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;
}
}
;