diff --git a/ExpressAPI/src/config/Config.ts b/ExpressAPI/src/config/Config.ts index a88b015f2497e28edbacfc5f054c325c77c5bb1c..4097324791e961ef4c38172662eebc2b166e362d 100644 --- a/ExpressAPI/src/config/Config.ts +++ b/ExpressAPI/src/config/Config.ts @@ -4,6 +4,9 @@ import fs from 'fs'; import { Exercise } from '../types/DatabaseTypes'; +type ConfigGitlabBadge = { link: string, imageUrl: string } + + class Config { public readonly api: { port: number @@ -18,7 +21,7 @@ class Config { }; public gitlab: { - apiURL: string; urls: Array<string>; account: { id: number; username: string; token: string; }; group: { root: number; templates: number; assignments: number; exercises: number; }; + apiURL: string; urls: Array<string>; account: { id: number; username: string; token: string; }; group: { root: number; templates: number; assignments: number; exercises: number; }, badges: { pipeline: ConfigGitlabBadge } }; public assignment: { @@ -46,10 +49,14 @@ class Config { }; this.gitlab = { - apiURL : process.env.GITLAB_API_URL || '', urls: JSON.parse(process.env.GITLAB_URLS || '[]'), account: { + apiURL : process.env.GITLAB_API_URL || '', urls: JSON.parse(process.env.GITLAB_URLS || '[]'), account: { id: Number(process.env.GITLAB_DOJO_ACCOUNT_ID || 0), username: process.env.GITLAB_DOJO_ACCOUNT_USERNAME || '', token: process.env.GITLAB_DOJO_ACCOUNT_TOKEN || '' - }, group: { + }, group : { root: Number(process.env.GITLAB_GROUP_ROOT_ID || 0), templates: Number(process.env.GITLAB_GROUP_TEMPLATES_ID || 0), assignments: Number(process.env.GITLAB_GROUP_ASSIGNMENTS_ID || 0), exercises: Number(process.env.GITLAB_GROUP_EXERCISES_ID || 0) + }, badges: { + pipeline: { + link: process.env.GITLAB_BADGE_PIPELINE_LINK || '', imageUrl: process.env.GITLAB_BADGE_PIPELINE_IMAGE_URL || '' + } } };