From 4ccf27c04475c1fb9ee9abf3dcb71c7d3bc10b11 Mon Sep 17 00:00:00 2001 From: estifanos Date: Fri, 24 Jul 2026 08:39:31 +0000 Subject: [PATCH] fixes on the file uploader --- .../src/app/features/vessel-transfer/mock.ts | 4 +++- libs/api/src/lib/file-upload/index.ts | 16 ++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/apps/portal/src/app/features/vessel-transfer/mock.ts b/apps/portal/src/app/features/vessel-transfer/mock.ts index 6281c923e..094723c6d 100644 --- a/apps/portal/src/app/features/vessel-transfer/mock.ts +++ b/apps/portal/src/app/features/vessel-transfer/mock.ts @@ -1,5 +1,7 @@ // ponytail: in-memory mock array, resets on reload — swap for RTK Query endpoint when backend lands. +import type { UploadFileInfo } from '@ema-platform/api'; + export interface Vessel { id: string; name: string; @@ -44,7 +46,7 @@ export interface TransferRequest { submitted: string; approvedOn?: string; rejectionReason?: string; - documentFileInfo?: unknown; + documentFileInfo?: UploadFileInfo; } export const MOCK_REQUESTS: TransferRequest[] = [ diff --git a/libs/api/src/lib/file-upload/index.ts b/libs/api/src/lib/file-upload/index.ts index ff7b2c2be..cdf8b10ef 100644 --- a/libs/api/src/lib/file-upload/index.ts +++ b/libs/api/src/lib/file-upload/index.ts @@ -2,9 +2,17 @@ import { useCallback, useState } from 'react'; import { baseApi } from '../base-api'; import { resolveTokenFromStorage } from '../session'; -export interface UploadKeyResponse { +export interface UploadFileInfo { + bucket: string; + fileName: string; + contentType: string; + originalname: string; + size: number; +} + +export interface UploadKeyResponse { + fileInfo: UploadFileInfo; presigned: string; - fileInfo: TFileInfo; } const fileUploadApi = baseApi.injectEndpoints({ @@ -65,12 +73,12 @@ export function useDocumentUpload() { const [isUploading, setIsUploading] = useState(false); const upload = useCallback( - async (file: File, endpoint: string): Promise> => { + async (file: File, endpoint: string): Promise => { setIsUploading(true); try { const { presigned, fileInfo } = await getFileUploadKey({ endpoint, file }).unwrap(); await uploadToPresigned(file, presigned); - return { presigned, fileInfo: fileInfo as TFileInfo }; + return { presigned, fileInfo }; } finally { setIsUploading(false); }