From 04205b4c47e5f6eb4e56403ee7c98f7501da9900 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <git@minelli.me>
Date: Tue, 19 Mar 2024 12:50:21 +0100
Subject: [PATCH] Move to Gitbeaker

---
 ExerciseChecker/.idea/.gitignore              |  2 ++
 ExerciseChecker/src/app.ts                    |  8 +++++---
 ExerciseChecker/src/managers/GitlabManager.ts | 13 +++++++++++++
 ExerciseChecker/src/shared                    |  2 +-
 ExerciseChecker/src/sharedByClients           |  2 +-
 5 files changed, 22 insertions(+), 5 deletions(-)
 create mode 100644 ExerciseChecker/src/managers/GitlabManager.ts

diff --git a/ExerciseChecker/.idea/.gitignore b/ExerciseChecker/.idea/.gitignore
index 13566b8..a9d7db9 100644
--- a/ExerciseChecker/.idea/.gitignore
+++ b/ExerciseChecker/.idea/.gitignore
@@ -6,3 +6,5 @@
 # Datasource local storage ignored files
 /dataSources/
 /dataSources.local.xml
+# GitHub Copilot persisted chat sessions
+/copilot/chatSessions
diff --git a/ExerciseChecker/src/app.ts b/ExerciseChecker/src/app.ts
index fd63ba8..4ffeb03 100644
--- a/ExerciseChecker/src/app.ts
+++ b/ExerciseChecker/src/app.ts
@@ -50,9 +50,11 @@ async function downloadImmutablesFiles() {
     }
 
     exerciseAssignment.immutable.forEach(immutableFile => {
-        const filePath = path.join(Config.folders.project, immutableFile.file_path);
-        fs.mkdirSync(path.dirname(filePath), { recursive: true });
-        fs.writeFileSync(filePath, immutableFile.content, { encoding: 'base64' });
+        if ( typeof immutableFile.content === 'string' ) {
+            const filePath = path.join(Config.folders.project, immutableFile.file_path);
+            fs.mkdirSync(path.dirname(filePath), { recursive: true });
+            fs.writeFileSync(filePath, immutableFile.content, { encoding: 'base64' });
+        }
     });
 
     haveResultsVolume = exerciseAssignment.assignmentFile.result.volume !== undefined;
diff --git a/ExerciseChecker/src/managers/GitlabManager.ts b/ExerciseChecker/src/managers/GitlabManager.ts
new file mode 100644
index 0000000..3d1c050
--- /dev/null
+++ b/ExerciseChecker/src/managers/GitlabManager.ts
@@ -0,0 +1,13 @@
+import SharedGitlabManager from '../shared/managers/SharedGitlabManager';
+
+// NOT USED
+// File present only for prevent errors from shared submodules
+
+class GitlabManager extends SharedGitlabManager {
+    constructor() {
+        super('');
+    }
+}
+
+
+export default new GitlabManager();
\ No newline at end of file
diff --git a/ExerciseChecker/src/shared b/ExerciseChecker/src/shared
index 75fedb2..e1ffeb5 160000
--- a/ExerciseChecker/src/shared
+++ b/ExerciseChecker/src/shared
@@ -1 +1 @@
-Subproject commit 75fedb26c47bb6f707725307a79a45a13e62496d
+Subproject commit e1ffeb584f5c7805befd951cb82ca179eabcaabb
diff --git a/ExerciseChecker/src/sharedByClients b/ExerciseChecker/src/sharedByClients
index c4efbcf..488f4ee 160000
--- a/ExerciseChecker/src/sharedByClients
+++ b/ExerciseChecker/src/sharedByClients
@@ -1 +1 @@
-Subproject commit c4efbcfb2a50e7108e101fb673e84f87fad8e246
+Subproject commit 488f4ee9aab9fb87d198af93fdb860cc626963d8
-- 
GitLab