From 7e710f04a972801aec045ef14016f2ca82020ace Mon Sep 17 00:00:00 2001 From: Nikolay Marchuk Date: Fri, 2 May 2025 13:06:52 +0700 Subject: [PATCH] Provide same response format for front and datalake upload (#8809) Signed-off-by: Nikolay Marchuk --- server/front/src/index.ts | 15 +++++++++++---- .../datalake/pod-datalake/src/handlers/blob.ts | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/server/front/src/index.ts b/server/front/src/index.ts index 378f54974c..90bcea90a3 100644 --- a/server/front/src/index.ts +++ b/server/front/src/index.ts @@ -52,7 +52,7 @@ async function storageUpload ( storageAdapter: StorageAdapter, wsIds: WorkspaceIds, file: UploadedFile -): Promise { +): Promise<{ uuid: string, etag: string }> { const uuid = file.name const data = file.tempFilePath !== undefined ? fs.createReadStream(file.tempFilePath) : file.data const resp = await ctx.with( @@ -63,7 +63,7 @@ async function storageUpload ( ) ctx.info('storage upload', resp) - return uuid + return { uuid, etag: resp.etag } } function getRange (range: string, size: number): [number, number] { @@ -602,12 +602,19 @@ export function start ( res.status(403).send() return } - const uuid = await storageUpload(ctx, config.storageAdapter, workspaceDataId, file) + const { uuid, etag } = await storageUpload(ctx, config.storageAdapter, workspaceDataId, file) res.status(200).send([ { key: 'file', - id: uuid + id: uuid, + metadata: { + name: uuid, + etag, + size: file.size, + contentType: file.mimetype, + lastModified: Date.now() + } } ]) } catch (error: any) { diff --git a/services/datalake/pod-datalake/src/handlers/blob.ts b/services/datalake/pod-datalake/src/handlers/blob.ts index 1733167345..71680411e4 100644 --- a/services/datalake/pod-datalake/src/handlers/blob.ts +++ b/services/datalake/pod-datalake/src/handlers/blob.ts @@ -237,7 +237,7 @@ export async function handleUploadFormData ( ctx.info('uploaded', { workspace, name, etag: metadata.etag, type: contentType }) - return { key, metadata } + return { key, id: name, metadata } } catch (err: any) { Analytics.handleError(err) const error = err instanceof Error ? err.message : String(err)