From 3e0fc237b9be704c87338881a4e95894f6287492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me> Date: Wed, 2 Aug 2023 22:55:50 +0200 Subject: [PATCH] Config => Add some folders const and init --- ExerciceChecker/src/config/Config.ts | 30 ++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/ExerciceChecker/src/config/Config.ts b/ExerciceChecker/src/config/Config.ts index 73fd829..3c17a1f 100644 --- a/ExerciceChecker/src/config/Config.ts +++ b/ExerciceChecker/src/config/Config.ts @@ -1,6 +1,11 @@ +import fs from 'fs'; +import path from 'path'; + + class Config { - public readonly filesFolder: string; - public readonly resultsFolder: string; + public readonly folders: { + project: string; resultsVolume: string; resultsDojo: string; resultsExercice: string + }; public readonly exercice: { id: string; secret: string; @@ -11,8 +16,13 @@ class Config { }; constructor() { - this.filesFolder = process.env.FILES_FOLDER || './'; - this.resultsFolder = process.env.RESULTS_FOLDER || ''; + this.folders = { + project : process.env.FILES_FOLDER || './', + resultsVolume : process.env.RESULTS_VOLUME || '', + resultsDojo : path.join(process.env.RESULTS_VOLUME || './', 'Dojo/'), + resultsExercice: path.join(process.env.RESULTS_VOLUME || './', 'Exercice/') + }; + this.resetResultsVolume(); this.exercice = { id : process.env.DOJO_EXERCICE_ID || '', @@ -23,6 +33,18 @@ class Config { projectName: process.env.DOCKER_COMPOSE_PROJECT_NAME || '' }; } + + private resetResultsVolume(): void { + if ( this.folders.resultsVolume !== '' && fs.existsSync(this.folders.resultsVolume) ) { + fs.rmSync(this.folders.resultsVolume, { + recursive: true, + force : true + }); + } + fs.mkdirSync(this.folders.resultsVolume, { recursive: true }); + fs.mkdirSync(this.folders.resultsDojo, { recursive: true }); + fs.mkdirSync(this.folders.resultsExercice, { recursive: true }); + } } -- GitLab