Files
web/server/api/models/index.js
2026-03-02 09:45:33 +07:00

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,
})
}
}
})