Skip to content
Snippets Groups Projects
Commit 4cbcc739 authored by michael.minelli's avatar michael.minelli
Browse files

Rename enonce and exercice to assignment and exercise

parent f33e4e0c
No related branches found
No related tags found
No related merge requests found
import Ajv, { ErrorObject, JTDSchemaType } from 'ajv/dist/jtd';
import fs from 'fs';
import JSON5 from 'json5';
import EnonceFile from '../../types/Dojo/EnonceFile';
import AssignmentFile from '../../types/Dojo/AssignmentFile';
class SharedEnonceHelper {
private validateDescriptionFileV1(resultsFilePathOrStr: string, isFile: boolean = true): { results: EnonceFile | undefined, isValid: boolean, errors: Array<ErrorObject | string> | null | undefined } {
class SharedAssignmentHelper {
private validateDescriptionFileV1(resultsFilePathOrStr: string, isFile: boolean = true): { results: AssignmentFile | undefined, isValid: boolean, errors: Array<ErrorObject | string> | null | undefined } {
const ajv = new Ajv();
const schema: JTDSchemaType<EnonceFile> = {
const schema: JTDSchemaType<AssignmentFile> = {
properties : {
dojoEnonceVersion: { type: 'uint32' },
dojoAssignmentVersion: { type: 'uint32' },
version : { type: 'uint32' },
immutable: {
......@@ -53,7 +53,7 @@ class SharedEnonceHelper {
}
}
validateDescriptionFile(resultsFilePathOrStr: string, isFile: boolean = true, version: number = 1): { results: EnonceFile | undefined, isValid: boolean, errors: Array<ErrorObject | string> | null | undefined } {
validateDescriptionFile(resultsFilePathOrStr: string, isFile: boolean = true, version: number = 1): { results: AssignmentFile | undefined, isValid: boolean, errors: Array<ErrorObject | string> | null | undefined } {
switch ( version ) {
case 1:
return this.validateDescriptionFileV1(resultsFilePathOrStr, isFile);
......@@ -68,4 +68,4 @@ class SharedEnonceHelper {
}
export default new SharedEnonceHelper();
\ No newline at end of file
export default new SharedAssignmentHelper();
\ No newline at end of file
import Ajv, { ErrorObject, JTDSchemaType } from 'ajv/dist/jtd';
import fs from 'fs';
import ExerciceResultsFile from '../../types/Dojo/ExerciceResultsFile';
import ExerciseResultsFile from '../../types/Dojo/ExerciseResultsFile';
import JSON5 from 'json5';
class SharedExerciceHelper {
validateResultFile(resultsFilePathOrStr: string, isFile: boolean = true): { results: ExerciceResultsFile | undefined, isValid: boolean, errors: Array<ErrorObject<string, Record<string, any>, unknown> | string> | null | undefined } {
class SharedExerciseHelper {
validateResultFile(resultsFilePathOrStr: string, isFile: boolean = true): { results: ExerciseResultsFile | undefined, isValid: boolean, errors: Array<ErrorObject<string, Record<string, any>, unknown> | string> | null | undefined } {
const ajv = new Ajv();
const schema: JTDSchemaType<ExerciceResultsFile> = {
const schema: JTDSchemaType<ExerciseResultsFile> = {
properties : {
success: { type: 'boolean' }
},
......@@ -62,4 +62,4 @@ class SharedExerciceHelper {
}
export default new SharedExerciceHelper();
\ No newline at end of file
export default new SharedExerciseHelper();
\ No newline at end of file
import ImmutableFileDescriptor from './ImmutableFileDescriptor';
interface EnonceFile {
dojoEnonceVersion: number,
interface AssignmentFile {
dojoAssignmentVersion: number,
version: number,
immutable: Array<ImmutableFileDescriptor>
......@@ -13,4 +13,4 @@ interface EnonceFile {
}
export default EnonceFile;
\ No newline at end of file
export default AssignmentFile;
\ No newline at end of file
interface DojoResponse<T> {
interface DojoBackendResponse<T> {
timestamp: string;
code: number;
description: string;
......@@ -7,4 +7,4 @@ interface DojoResponse<T> {
}
export default DojoResponse;
\ No newline at end of file
export default DojoBackendResponse;
\ No newline at end of file
enum ExerciceCheckerError {
EXERCICE_ENONCE_GET_ERROR = 200,
enum ExerciseCheckerError {
EXERCISE_ASSIGNMENT_GET_ERROR = 200,
DOCKER_COMPOSE_RUN_ERROR = 201,
DOCKER_COMPOSE_LOGS_ERROR = 202,
DOCKER_COMPOSE_DOWN_ERROR = 203,
EXERCICE_RESULTS_FOLDER_TOO_BIG = 204,
EXERCICE_RESULTS_FILE_NOT_FOUND = 205,
EXERCICE_RESULTS_FILE_SCHEMA_NOT_VALID = 206,
EXERCISE_RESULTS_FOLDER_TOO_BIG = 204,
EXERCISE_RESULTS_FILE_NOT_FOUND = 205,
EXERCISE_RESULTS_FILE_SCHEMA_NOT_VALID = 206,
UPLOAD = 207
}
export default ExerciceCheckerError;
\ No newline at end of file
export default ExerciseCheckerError;
\ No newline at end of file
interface ExerciceResultsFile {
interface ExerciseResultsFile {
success: boolean;
successfulTests?: number;
......@@ -9,4 +9,4 @@ interface ExerciceResultsFile {
}
export default ExerciceResultsFile;
\ No newline at end of file
export default ExerciseResultsFile;
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment