@flatfile/angular-sdk
Version:
Flatfile SDK for Angular
36 lines • 5 kB
JavaScript
import { getErrorMessage } from '@flatfile/embedded-utils';
import authenticate from './authenticate';
const getSpace = async (spaceProps) => {
const { space, apiUrl, spaceUrl = 'https://platform.flatfile.com/s/', } = spaceProps;
let spaceResponse;
try {
if (!space?.id) {
throw new Error('Missing required ID for Space');
}
if (!space?.accessToken) {
throw new Error('Missing required accessToken for Space');
}
const limitedAccessApi = authenticate(space?.accessToken, apiUrl);
try {
spaceResponse = await limitedAccessApi.spaces.get(space?.id);
}
catch (error) {
throw new Error(`Failed to get space: ${getErrorMessage(error)}`);
}
if (!spaceResponse.data.accessToken) {
throw new Error('Failed to retrieve accessToken');
}
if (!spaceResponse.data.guestLink) {
const guestLink = `${spaceUrl}space/${space?.id}?token=${spaceResponse.data.accessToken}`;
spaceResponse.data.guestLink = guestLink;
}
return { space: spaceResponse.data };
}
catch (error) {
const message = getErrorMessage(error);
console.error(`Failed to initialize space: ${message}`);
throw error;
}
};
export default getSpace;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U3BhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZ2V0U3BhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ2xFLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFBO0FBT3pDLE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxVQUFrQixFQUEyQixFQUFFO0lBQ3JFLE1BQU0sRUFDSixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsR0FBRyxrQ0FBa0MsR0FDOUMsR0FBRyxVQUFVLENBQUE7SUFDZCxJQUFJLGFBQWEsQ0FBQTtJQUVqQixJQUFJO1FBQ0YsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUE7U0FDakQ7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRTtZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUE7U0FDMUQ7UUFFRCxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2pFLElBQUk7WUFDRixhQUFhLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtTQUM3RDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtTQUNsRTtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUE7U0FDbEQ7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakMsTUFBTSxTQUFTLEdBQUcsR0FBRyxRQUFRLFNBQVMsS0FBSyxFQUFFLEVBQUUsVUFBVSxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1lBQ3pGLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtTQUN6QztRQUVELE9BQU8sRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFBO0tBQ3JDO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUN2RCxNQUFNLEtBQUssQ0FBQTtLQUNaO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsZUFBZSxRQUFRLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU3BhY2UsIGdldEVycm9yTWVzc2FnZSB9IGZyb20gJ0BmbGF0ZmlsZS9lbWJlZGRlZC11dGlscydcbmltcG9ydCBhdXRoZW50aWNhdGUgZnJvbSAnLi9hdXRoZW50aWNhdGUnXG5pbXBvcnQgeyBGbGF0ZmlsZSB9IGZyb20gJ0BmbGF0ZmlsZS9hcGknXG5cbmV4cG9ydCB0eXBlIEdldFNwYWNlUmV0dXJuID0ge1xuICBzcGFjZTogRmxhdGZpbGUuU3BhY2Vcbn1cblxuY29uc3QgZ2V0U3BhY2UgPSBhc3luYyAoc3BhY2VQcm9wczogSVNwYWNlKTogUHJvbWlzZTxHZXRTcGFjZVJldHVybj4gPT4ge1xuICBjb25zdCB7XG4gICAgc3BhY2UsXG4gICAgYXBpVXJsLFxuICAgIHNwYWNlVXJsID0gJ2h0dHBzOi8vcGxhdGZvcm0uZmxhdGZpbGUuY29tL3MvJyxcbiAgfSA9IHNwYWNlUHJvcHNcbiAgbGV0IHNwYWNlUmVzcG9uc2VcblxuICB0cnkge1xuICAgIGlmICghc3BhY2U/LmlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgSUQgZm9yIFNwYWNlJylcbiAgICB9XG4gICAgaWYgKCFzcGFjZT8uYWNjZXNzVG9rZW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyByZXF1aXJlZCBhY2Nlc3NUb2tlbiBmb3IgU3BhY2UnKVxuICAgIH1cblxuICAgIGNvbnN0IGxpbWl0ZWRBY2Nlc3NBcGkgPSBhdXRoZW50aWNhdGUoc3BhY2U/LmFjY2Vzc1Rva2VuLCBhcGlVcmwpXG4gICAgdHJ5IHtcbiAgICAgIHNwYWNlUmVzcG9uc2UgPSBhd2FpdCBsaW1pdGVkQWNjZXNzQXBpLnNwYWNlcy5nZXQoc3BhY2U/LmlkKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBnZXQgc3BhY2U6ICR7Z2V0RXJyb3JNZXNzYWdlKGVycm9yKX1gKVxuICAgIH1cblxuICAgIGlmICghc3BhY2VSZXNwb25zZS5kYXRhLmFjY2Vzc1Rva2VuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byByZXRyaWV2ZSBhY2Nlc3NUb2tlbicpXG4gICAgfVxuXG4gICAgaWYgKCFzcGFjZVJlc3BvbnNlLmRhdGEuZ3Vlc3RMaW5rKSB7XG4gICAgICBjb25zdCBndWVzdExpbmsgPSBgJHtzcGFjZVVybH1zcGFjZS8ke3NwYWNlPy5pZH0/dG9rZW49JHtzcGFjZVJlc3BvbnNlLmRhdGEuYWNjZXNzVG9rZW59YFxuICAgICAgc3BhY2VSZXNwb25zZS5kYXRhLmd1ZXN0TGluayA9IGd1ZXN0TGlua1xuICAgIH1cblxuICAgIHJldHVybiB7IHNwYWNlOiBzcGFjZVJlc3BvbnNlLmRhdGEgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBnZXRFcnJvck1lc3NhZ2UoZXJyb3IpXG4gICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGluaXRpYWxpemUgc3BhY2U6ICR7bWVzc2FnZX1gKVxuICAgIHRocm93IGVycm9yXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZ2V0U3BhY2VcbiJdfQ==