38 lines
907 B
JavaScript
38 lines
907 B
JavaScript
export default defineEventHandler(async (event) => {
|
|
if (event.method === 'GET') {
|
|
const objects = await listObjects();
|
|
return objects.map((o) => ({
|
|
name: o.objectKey,
|
|
urn: urnify(o.objectId),
|
|
}));
|
|
}
|
|
|
|
if (event.method === 'POST') {
|
|
const formData = await readMultipartFormData(event);
|
|
if (!formData) {
|
|
throw createError({
|
|
statusCode: 400,
|
|
statusMessage: `formData should not be ${formData}`,
|
|
})
|
|
}
|
|
|
|
const file = formData[0];
|
|
|
|
try {
|
|
const obj = await uploadObject(file.filename, file.data);
|
|
await translateObject(urnify(obj.objectId), req.fields['model-zip-entrypoint']);
|
|
|
|
return {
|
|
name: obj.objectKey,
|
|
urn: urnify(obj.objectId),
|
|
}
|
|
} catch (error) {
|
|
throw createError({
|
|
statusCode: 400,
|
|
statusMessage: 'Upload file failed',
|
|
error,
|
|
})
|
|
}
|
|
}
|
|
})
|