feat: add download button

This commit is contained in:
omar rashed
2024-10-31 10:27:23 +03:00
committed by James Murdza
parent 95154af074
commit 60c5345753
3 changed files with 50 additions and 1 deletions

View File

@ -15,7 +15,7 @@ import { SecureGitClient } from "./SecureGitClient"
import { TerminalManager } from "./TerminalManager"
import { TFile, TFolder } from "./types"
import { LockManager } from "./utils"
import { TFileData } from "./types"
const lockManager = new LockManager()
// Define a type for SocketHandler functions
@ -218,9 +218,23 @@ export class Sandbox {
return this.aiWorker.generateCode(connection.userId, fileName, code, line, instructions)
}
// Handle downloading files by download button
const handleDownloadFiles: SocketHandler = async () => {
if (!this.fileManager) throw Error("No file manager")
// Get all files with their data through fileManager
const files = this.fileManager.fileData.map((file: TFileData) => ({
path: file.id.startsWith('/') ? file.id.slice(1) : file.id,
content: file.data
}))
return { files }
}
return {
"heartbeat": handleHeartbeat,
"getFile": handleGetFile,
"downloadFiles": handleDownloadFiles,
"getFolder": handleGetFolder,
"saveFile": handleSaveFile,
"moveFile": handleMoveFile,