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', {
|
const response = await $fetch<{ success: boolean; document: any; message: string }>('/api/eoi/upload-document', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'x-tag': '094ut234'
|
||||||
|
},
|
||||||
query: {
|
query: {
|
||||||
interestId: props.interest.Id.toString()
|
interestId: props.interest.Id.toString()
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,13 @@ export default defineEventHandler(async (event) => {
|
||||||
const { fileName, isFolder, bucket } = body;
|
const { fileName, isFolder, bucket } = body;
|
||||||
const targetBucket = bucket || 'client-portal';
|
const targetBucket = bucket || 'client-portal';
|
||||||
|
|
||||||
|
console.log('[delete] Delete request:', {
|
||||||
|
fileName,
|
||||||
|
isFolder,
|
||||||
|
bucket,
|
||||||
|
targetBucket
|
||||||
|
});
|
||||||
|
|
||||||
if (!fileName) {
|
if (!fileName) {
|
||||||
throw createError({
|
throw createError({
|
||||||
statusCode: 400,
|
statusCode: 400,
|
||||||
|
|
@ -61,7 +68,18 @@ export default defineEventHandler(async (event) => {
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// Delete single file
|
// 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);
|
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/') {
|
if (prefix === 'Email Attachments/') {
|
||||||
allFiles = formattedAttachmentFiles.map((file: any) => ({
|
allFiles = formattedAttachmentFiles.map((file: any) => ({
|
||||||
...file,
|
...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) {
|
} 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