updates
This commit is contained in:
parent
4579b35fe0
commit
be443ae71b
|
|
@ -392,6 +392,9 @@ const uploadEOI = async (file: File) => {
|
|||
|
||||
const response = await $fetch<{ success: boolean; document: any; message: string }>('/api/eoi/upload-document', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'x-tag': '094ut234'
|
||||
},
|
||||
query: {
|
||||
interestId: props.interest.Id.toString()
|
||||
},
|
||||
|
|
|
|||
|
|
@ -6,6 +6,13 @@ export default defineEventHandler(async (event) => {
|
|||
const { fileName, isFolder, bucket } = body;
|
||||
const targetBucket = bucket || 'client-portal';
|
||||
|
||||
console.log('[delete] Delete request:', {
|
||||
fileName,
|
||||
isFolder,
|
||||
bucket,
|
||||
targetBucket
|
||||
});
|
||||
|
||||
if (!fileName) {
|
||||
throw createError({
|
||||
statusCode: 400,
|
||||
|
|
@ -61,7 +68,18 @@ export default defineEventHandler(async (event) => {
|
|||
});
|
||||
} else {
|
||||
// Delete single file
|
||||
console.log(`[delete] Attempting to delete file '${fileName}' from bucket '${targetBucket}'`);
|
||||
|
||||
// First check if the file exists
|
||||
try {
|
||||
const stat = await client.statObject(targetBucket, fileName);
|
||||
console.log('[delete] File exists in bucket:', stat);
|
||||
} catch (err: any) {
|
||||
console.error(`[delete] File '${fileName}' not found in bucket '${targetBucket}':`, err.message);
|
||||
}
|
||||
|
||||
await client.removeObject(targetBucket, fileName);
|
||||
console.log(`[delete] Successfully deleted '${fileName}' from '${targetBucket}'`);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,9 @@ export default defineEventHandler(async (event) => {
|
|||
if (prefix === 'Email Attachments/') {
|
||||
allFiles = formattedAttachmentFiles.map((file: any) => ({
|
||||
...file,
|
||||
name: file.name.replace(attachmentFolder + '/', '')
|
||||
displayName: file.name.replace(attachmentFolder + '/', ''),
|
||||
// Keep the full path in 'name' for operations like delete
|
||||
name: file.name
|
||||
}));
|
||||
}
|
||||
} catch (error) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,55 @@
|
|||
export default defineEventHandler(async (event) => {
|
||||
try {
|
||||
const { bucket, prefix } = getQuery(event);
|
||||
|
||||
if (!bucket) {
|
||||
return {
|
||||
success: false,
|
||||
error: 'Missing bucket parameter'
|
||||
};
|
||||
}
|
||||
|
||||
console.log('[test-list-bucket] Listing files:', {
|
||||
bucket: bucket as string,
|
||||
prefix: prefix as string || ''
|
||||
});
|
||||
|
||||
// Import MinIO client
|
||||
const { getMinioClient } = await import('~/server/utils/minio');
|
||||
const client = getMinioClient();
|
||||
|
||||
const files: any[] = [];
|
||||
|
||||
await new Promise((resolve, reject) => {
|
||||
const stream = client.listObjectsV2(bucket as string, prefix as string || '', true);
|
||||
|
||||
stream.on('data', (obj) => {
|
||||
if (obj && obj.name) {
|
||||
files.push({
|
||||
name: obj.name,
|
||||
size: obj.size,
|
||||
lastModified: obj.lastModified
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
stream.on('error', reject);
|
||||
stream.on('end', resolve);
|
||||
});
|
||||
|
||||
return {
|
||||
success: true,
|
||||
bucket: bucket as string,
|
||||
prefix: prefix as string || '',
|
||||
count: files.length,
|
||||
files: files
|
||||
};
|
||||
} catch (error: any) {
|
||||
console.error('[test-list-bucket] Error:', error);
|
||||
return {
|
||||
success: false,
|
||||
error: 'Failed to list bucket',
|
||||
details: error.message
|
||||
};
|
||||
}
|
||||
});
|
||||
Loading…
Reference in New Issue