in frontend/app/PremiereVersionChange/VersionChangeService.ts [87:120]
async function performConversion(
fileId: number,
requiredVersion: string
): Promise<FileEntry> {
try {
const response = await axios.post(
`/api/file/${fileId}/changePremiereVersion?requiredDisplayVersion=${encodeURIComponent(
requiredVersion
)}`,
null,
{ validateStatus: (status) => status === 200 || status === 400 }
);
switch (response.status) {
case 200: //conversion was done ok
const data = response.data as ConversionResponse;
return data.entry;
case 400: //there was a problem with the input
const problem = response.data as GenericErrorResponse;
return Promise.reject(
problem.detail ?? "Server returned an unknown error"
);
default:
//the construct of the axios call above should guarantee that only 200 or 400 responses come through here
return Promise.reject(
`Internal error, unexpected return code ${response.status} should not happen`
);
}
} catch (err) {
console.error("Could not request conversion: ", err);
return Promise.reject(
"Unable to request conversion, please see the javascript console log for details."
);
}
}