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