Initial commit. I think this works.
This commit is contained in:
29
background.js
Normal file
29
background.js
Normal file
@@ -0,0 +1,29 @@
|
||||
// background.js - Background script for handling downloads
|
||||
|
||||
browser.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
||||
if (request.action === "downloadSQL") {
|
||||
const { sqlQuery, filename } = request;
|
||||
|
||||
// Create blob with SQL content
|
||||
const blob = new Blob([sqlQuery], { type: 'text/sql' });
|
||||
const url = URL.createObjectURL(blob);
|
||||
|
||||
// Generate filename if not provided
|
||||
const finalFilename = filename || `sql_query_${new Date().toISOString().slice(0, 19).replace(/:/g, '-')}.sql`;
|
||||
|
||||
// Download the file
|
||||
browser.downloads.download({
|
||||
url: url,
|
||||
filename: finalFilename,
|
||||
saveAs: true
|
||||
}).then(() => {
|
||||
URL.revokeObjectURL(url);
|
||||
sendResponse({ success: true });
|
||||
}).catch((error) => {
|
||||
console.error('Download failed:', error);
|
||||
sendResponse({ success: false, error: error.message });
|
||||
});
|
||||
|
||||
return true; // Keep the message channel open for async response
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user