From dbb3d88df3ed57a6bc375036aa1a49aa1e869c3d Mon Sep 17 00:00:00 2001
From: VIAUD Nathan <nathan.viaud@inria.fr>
Date: Thu, 19 Oct 2023 17:23:32 +0200
Subject: [PATCH] feat(prune)

---
 electron/components/file.js           | 28 ---------------------------
 electron/components/ipc.js            |  8 +-------
 src/features/topBar/TopBar.vue        |  7 +------
 src/shared/services/editor.service.ts |  5 -----
 src/shared/services/graph.service.ts  |  4 ----
 5 files changed, 2 insertions(+), 50 deletions(-)

diff --git a/electron/components/file.js b/electron/components/file.js
index cd04d04e..6e5141e8 100644
--- a/electron/components/file.js
+++ b/electron/components/file.js
@@ -144,8 +144,6 @@ const saveEpocProject = async function (project) {
         return saveAsEpocProject(project);
     }
 
-    // const cleanedWorkidr = project.workdir;
-
     return zipEpocProject(project.workdir, project.filepath);
 };
 
@@ -362,31 +360,6 @@ const getUnusedAssets = function (workdir) {
     return unusedAssets;
 };
 
-// TODO: Remove this function if not used
-/**
- * Remove the unused assets from the workdir
- * @param {string} workdir
- * @return{string}
- */
-const pruneWorkdir= function (workdir) {
-    if(!workdir) return;
-
-    const unusedAssets = getUnusedAssets(workdir);
-    const assetsDir = path.join(workdir, 'assets');
-
-    unusedAssets.forEach(assetName => {
-        const assetPath = path.join(assetsDir, assetName);
-
-        if(fs.existsSync(assetPath)) {
-            // fs.unlinkSync(assetPath);
-            console.log('Asset removed', assetPath);
-        } else {
-            console.error('Asset not found', assetPath);
-        }
-    });
-
-};
-
 module.exports = {
     getRecentFiles,
     openFile,
@@ -403,5 +376,4 @@ module.exports = {
     copyFileToWorkdir,
     cleanAllWorkdir,
     getAllAssets,
-    pruneWorkdir
 };
\ No newline at end of file
diff --git a/electron/components/ipc.js b/electron/components/ipc.js
index 51dd9403..b6d7aae7 100644
--- a/electron/components/ipc.js
+++ b/electron/components/ipc.js
@@ -2,7 +2,7 @@ const path = require('path');
 const store = require('./store');
 const { ipcMain } = require('electron');
 const { runPreview } = require('./preview');
-const { pruneWorkdir, getRecentFiles, pickEpocProject, openEpocProject, newEpocProject, saveEpocProject, exportProject, writeProjectData, writeEpocData, readProjectData, copyFileToWorkdir, getAllAssets } = require('./file');
+const { getRecentFiles, pickEpocProject, openEpocProject, newEpocProject, saveEpocProject, exportProject, writeProjectData, writeEpocData, readProjectData, copyFileToWorkdir } = require('./file');
 const { Menu } = require('electron');
 const contextMenu = require('./contextMenu');
 
@@ -109,12 +109,6 @@ const setupIpcListener = function (targetWindow) {
         sendToFrontend(event.sender, 'fileImported', await copyFileToWorkdir(store.state.projects[targetWindow.id].workdir, filepath, isIcon));
     });
 
-    ipcMain.on('pruneWorkdir', async(event) => {
-        if(event.sender !== targetWindow.webContents) return;
-
-        pruneWorkdir(store.state.projects[targetWindow.id].workdir);
-    });
-
     ipcMain.on('graphCopy', async (event, data) => {
         if(event.sender !== targetWindow.webContents) return;
 
diff --git a/src/features/topBar/TopBar.vue b/src/features/topBar/TopBar.vue
index ee93eae8..430b0980 100644
--- a/src/features/topBar/TopBar.vue
+++ b/src/features/topBar/TopBar.vue
@@ -3,7 +3,7 @@ import TopActionButton from './TopActionButton.vue';
 import TopActionDropdown from './TopActionDropdown.vue';
 import { useEditorStore, useUndoRedoStore } from '@/src/shared/stores';
 import { computed, ref } from 'vue';
-import { editorService, pruneWorkdir } from '@/src/shared/services';
+import { editorService } from '@/src/shared/services';
 import { useVueFlow } from '@vue-flow/core';
 
 const editorStore = useEditorStore();
@@ -50,10 +50,6 @@ setInterval(() => {
     savedSince.value = since(editorStore.currentProject.modified);
 }, 60000);
 
-function testAssets() {
-    pruneWorkdir();
-}
-
 </script>
 
 <template>
@@ -69,7 +65,6 @@ function testAssets() {
                 <TopActionButton icon="icon-arriere" :disabled="undoRedoStore.undoStack.length <= 0" @click="undoRedoStore.undo()" />
                 <TopActionButton icon="icon-avant" :disabled="undoRedoStore.redoStack.length <= 0" @click="undoRedoStore.redo()" />
                 <hr class="vertical-separator">
-                <TopActionButton icon="icon-play" text="assetsTest" position="right" @click="testAssets" />
                 <TopActionButton icon="icon-save" text="Sauvegarder" position="right" :disabled="editorStore.saving" @click="editorService.saveEpocProject" />
                 <TopActionButton icon="icon-play" text="Aperçu" position="right" :disabled="editorStore.loadingPreview" @click="editorService.runPreviewAtPage()" />
                 <TopActionButton icon="icon-export" text="Exporter archive" position="right" :disabled="editorStore.exporting" @click="editorService.exportProject()" />
diff --git a/src/shared/services/editor.service.ts b/src/shared/services/editor.service.ts
index 1a55d42d..b1f750bd 100644
--- a/src/shared/services/editor.service.ts
+++ b/src/shared/services/editor.service.ts
@@ -221,10 +221,6 @@ function exportProject(): void {
     api.send('exportProject');
 }
 
-function getAllAssets() {
-    api.send('getAllAssets');
-}
-
 export const editorService = {
     setup,
     newEpocProject,
@@ -234,7 +230,6 @@ export const editorService = {
     runPreview,
     runPreviewAtPage,
     exportProject,
-    getAllAssets
 };
 
 
diff --git a/src/shared/services/graph.service.ts b/src/shared/services/graph.service.ts
index 7860c6e5..b216ed92 100644
--- a/src/shared/services/graph.service.ts
+++ b/src/shared/services/graph.service.ts
@@ -387,8 +387,4 @@ export function exportBadgesToPage(badges: Record<string, Badge>): Record<string
     }
 
     return res;
-}
-
-export function pruneWorkdir() {
-    api.send('pruneWorkdir');
 }
\ No newline at end of file
-- 
GitLab