mcp-google-drive
Version:
Advanced MCP server for Google Drive integration with full CRUD operations, file management, and sharing capabilities. Supports both OAuth2 and Service Account authentication.
36 lines • 1.14 kB
JavaScript
import { z } from "zod";
import { BaseToolHandler } from "./BaseToolHandler.js";
const DeleteFileSchema = z.object({
fileId: z.string(),
permanent: z.boolean().default(false),
});
export class DeleteFileHandler extends BaseToolHandler {
async runTool(args, drive) {
const validArgs = DeleteFileSchema.parse(args);
await this.deleteFile(validArgs, drive);
return {
content: [{
type: "text",
text: `File ${validArgs.permanent ? 'permanently deleted' : 'moved to trash'} successfully`,
}],
isError: false,
};
}
async deleteFile(args, drive) {
try {
if (args.permanent) {
await drive.files.delete({ fileId: args.fileId });
}
else {
await drive.files.update({
fileId: args.fileId,
resource: { trashed: true },
});
}
}
catch (error) {
throw this.handleGoogleApiError(error);
}
}
}
//# sourceMappingURL=DeleteFileHandler.js.map