From ce33884d8f2e8b96565a1b6bfbcdd2c6b5d378e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <git@minelli.swiss>
Date: Fri, 11 Oct 2024 23:43:11 +0200
Subject: [PATCH] Exercises / Assignments => Add image option on yml files

---
 ExpressAPI/assets/assignment_gitlab_ci.yml | 2 +-
 ExpressAPI/assets/exercise_gitlab_ci.yml   | 2 +-
 ExpressAPI/src/routes/AssignmentRoutes.ts  | 2 +-
 ExpressAPI/src/routes/ExerciseRoutes.ts    | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/ExpressAPI/assets/assignment_gitlab_ci.yml b/ExpressAPI/assets/assignment_gitlab_ci.yml
index 7eadda7..2ed66f7 100644
--- a/ExpressAPI/assets/assignment_gitlab_ci.yml
+++ b/ExpressAPI/assets/assignment_gitlab_ci.yml
@@ -20,7 +20,7 @@ dojo:
     services:
         - docker:24.0.6-dind
     image:
-        name: dojohesso/dojo_assignment_checker:latest
+        name: {{DOCKERHUB_REPO_ASSIGNMENT_CHECKER}}:latest
     script:
         - dojo_assignment_checker
     allow_failure: false
\ No newline at end of file
diff --git a/ExpressAPI/assets/exercise_gitlab_ci.yml b/ExpressAPI/assets/exercise_gitlab_ci.yml
index 27c2bd7..e15282d 100644
--- a/ExpressAPI/assets/exercise_gitlab_ci.yml
+++ b/ExpressAPI/assets/exercise_gitlab_ci.yml
@@ -20,7 +20,7 @@ dojo:
     services:
         - docker:24.0.6-dind
     image:
-        name: dojohesso/dojo_exercise_checker:latest
+        name: {{DOCKERHUB_REPO_EXERCISE_CHECKER}}:latest
     script:
         - dojo_exercise_checker
     artifacts:
diff --git a/ExpressAPI/src/routes/AssignmentRoutes.ts b/ExpressAPI/src/routes/AssignmentRoutes.ts
index 0f06d74..1259cb0 100644
--- a/ExpressAPI/src/routes/AssignmentRoutes.ts
+++ b/ExpressAPI/src/routes/AssignmentRoutes.ts
@@ -164,7 +164,7 @@ class AssignmentRoutes implements RoutesManager {
             await repoCreationFnExec(() => GitlabManager.protectBranch(repository.id, '*', true, Gitlab.AccessLevel.DEVELOPER, Gitlab.AccessLevel.DEVELOPER, Gitlab.AccessLevel.ADMIN), 'Branch protection modification error');
             await repoCreationFnExec(() => GitlabManager.addRepositoryBadge(repository.id, Config.gitlab.badges.pipeline.link, Config.gitlab.badges.pipeline.imageUrl, 'Pipeline Status'), 'Pipeline badge addition error');
             await repoCreationFnExec(() => GitlabManager.deleteFile(repository.id, '.gitlab-ci.yml', 'Remove .gitlab-ci.yml'));
-            await repoCreationFnExec(() => GitlabManager.createFile(repository.id, '.gitlab-ci.yml', fs.readFileSync(path.join(__dirname, '../../assets/assignment_gitlab_ci.yml'), 'base64'), 'Add .gitlab-ci.yml (DO NOT MODIFY THIS FILE)'), 'CI/CD file creation error');
+            await repoCreationFnExec(() => GitlabManager.createFile(repository.id, '.gitlab-ci.yml', Buffer.from(fs.readFileSync(path.join(__dirname, '../../assets/assignment_gitlab_ci.yml'), 'utf8').replace('{{DOCKERHUB_REPO_ASSIGNMENT_CHECKER}}', Config.dockerhub.repositories.assignmentChecker)).toString('base64'), 'Add .gitlab-ci.yml (DO NOT MODIFY THIS FILE)'), 'CI/CD file creation error');
 
             await repoCreationFnExec(() => Promise.all(params.members.map(member => member.id).map(GlobalHelper.addRepoMember(repository.id))), 'Add repository members error');
 
diff --git a/ExpressAPI/src/routes/ExerciseRoutes.ts b/ExpressAPI/src/routes/ExerciseRoutes.ts
index 463f353..f3939c7 100644
--- a/ExpressAPI/src/routes/ExerciseRoutes.ts
+++ b/ExpressAPI/src/routes/ExerciseRoutes.ts
@@ -212,7 +212,7 @@ class ExerciseRoutes implements RoutesManager {
                 await GitlabManager.addRepositoryVariable(repository.id, 'DOJO_RESULTS_FOLDER', Config.exercise.pipelineResultsFolder, false, false);
             }, 'Pipeline variables addition error');
 
-            await repoCreationFnExec(() => GitlabManager.updateFile(repository.id, '.gitlab-ci.yml', fs.readFileSync(path.join(__dirname, '../../assets/exercise_gitlab_ci.yml'), 'base64'), 'Add .gitlab-ci.yml (DO NOT MODIFY THIS FILE)'), 'CI/CD file update error');
+            await repoCreationFnExec(() => GitlabManager.updateFile(repository.id, '.gitlab-ci.yml', Buffer.from(fs.readFileSync(path.join(__dirname, '../../assets/exercise_gitlab_ci.yml'), 'utf8').replace('{{DOCKERHUB_REPO_EXERCISE_CHECKER}}', Config.dockerhub.repositories.exerciseChecker)).toString('base64'), 'Add .gitlab-ci.yml (DO NOT MODIFY THIS FILE)'), 'CI/CD file update error');
 
             await repoCreationFnExec(async () => Promise.all([ ...new Set([ ...assignment.staff, ...params.members ].map(member => member.id)) ].map(GlobalHelper.addRepoMember(repository.id))), 'Add repository members error');
 
-- 
GitLab