Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • jw_sonar
  • jw_sonar_backup
  • main
  • move-to-esm-only
  • open_tool_for_self_hosting
  • v5.0
  • v4.1
  • v4.2
8 results

Target

Select target project
  • dojo_project/projects/shared/nodesharedcode
1 result
Select Git revision
  • jw_sonar
  • jw_sonar_backup
  • main
  • move-to-esm-only
  • open_tool_for_self_hosting
  • v5.0
  • v4.1
  • v4.2
8 results
Show changes
Commits on Source (1)
import Ajv, { ErrorObject, JTDSchemaType } from 'ajv/dist/jtd'; import Ajv, { ErrorObject, JTDSchemaType } from 'ajv/dist/jtd';
import fs from 'fs'; import fs from 'fs';
import JSON5 from 'json5'; import JSON5 from 'json5';
import EnonceFile from '../../types/Dojo/EnonceFile'; import AssignmentFile from '../../types/Dojo/AssignmentFile';
class SharedEnonceHelper { class SharedAssignmentHelper {
private validateDescriptionFileV1(resultsFilePathOrStr: string, isFile: boolean = true): { results: EnonceFile | undefined, isValid: boolean, errors: Array<ErrorObject | string> | null | undefined } { private validateDescriptionFileV1(resultsFilePathOrStr: string, isFile: boolean = true): { results: AssignmentFile | undefined, isValid: boolean, errors: Array<ErrorObject | string> | null | undefined } {
const ajv = new Ajv(); const ajv = new Ajv();
const schema: JTDSchemaType<EnonceFile> = { const schema: JTDSchemaType<AssignmentFile> = {
properties : { properties : {
dojoEnonceVersion: { type: 'uint32' }, dojoAssignmentVersion: { type: 'uint32' },
version : { type: 'uint32' }, version : { type: 'uint32' },
immutable: { immutable: {
...@@ -53,7 +53,7 @@ class SharedEnonceHelper { ...@@ -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 ) { switch ( version ) {
case 1: case 1:
return this.validateDescriptionFileV1(resultsFilePathOrStr, isFile); return this.validateDescriptionFileV1(resultsFilePathOrStr, isFile);
...@@ -68,4 +68,4 @@ class SharedEnonceHelper { ...@@ -68,4 +68,4 @@ class SharedEnonceHelper {
} }
export default new SharedEnonceHelper(); export default new SharedAssignmentHelper();
\ No newline at end of file \ No newline at end of file
import Ajv, { ErrorObject, JTDSchemaType } from 'ajv/dist/jtd'; import Ajv, { ErrorObject, JTDSchemaType } from 'ajv/dist/jtd';
import fs from 'fs'; import fs from 'fs';
import ExerciceResultsFile from '../../types/Dojo/ExerciceResultsFile'; import ExerciseResultsFile from '../../types/Dojo/ExerciseResultsFile';
import JSON5 from 'json5'; import JSON5 from 'json5';
class SharedExerciceHelper { class SharedExerciseHelper {
validateResultFile(resultsFilePathOrStr: string, isFile: boolean = true): { results: ExerciceResultsFile | undefined, isValid: boolean, errors: Array<ErrorObject<string, Record<string, any>, unknown> | string> | null | undefined } { 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 ajv = new Ajv();
const schema: JTDSchemaType<ExerciceResultsFile> = { const schema: JTDSchemaType<ExerciseResultsFile> = {
properties : { properties : {
success: { type: 'boolean' } success: { type: 'boolean' }
}, },
...@@ -62,4 +62,4 @@ class SharedExerciceHelper { ...@@ -62,4 +62,4 @@ class SharedExerciceHelper {
} }
export default new SharedExerciceHelper(); export default new SharedExerciseHelper();
\ No newline at end of file \ No newline at end of file
import ImmutableFileDescriptor from './ImmutableFileDescriptor'; import ImmutableFileDescriptor from './ImmutableFileDescriptor';
interface EnonceFile { interface AssignmentFile {
dojoEnonceVersion: number, dojoAssignmentVersion: number,
version: number, version: number,
immutable: Array<ImmutableFileDescriptor> immutable: Array<ImmutableFileDescriptor>
...@@ -13,4 +13,4 @@ interface EnonceFile { ...@@ -13,4 +13,4 @@ interface EnonceFile {
} }
export default EnonceFile; export default AssignmentFile;
\ No newline at end of file \ No newline at end of file
interface DojoResponse<T> { interface DojoBackendResponse<T> {
timestamp: string; timestamp: string;
code: number; code: number;
description: string; description: string;
...@@ -7,4 +7,4 @@ interface DojoResponse<T> { ...@@ -7,4 +7,4 @@ interface DojoResponse<T> {
} }
export default DojoResponse; export default DojoBackendResponse;
\ No newline at end of file \ No newline at end of file
enum ExerciceCheckerError { enum ExerciseCheckerError {
EXERCICE_ENONCE_GET_ERROR = 200, EXERCISE_ASSIGNMENT_GET_ERROR = 200,
DOCKER_COMPOSE_RUN_ERROR = 201, DOCKER_COMPOSE_RUN_ERROR = 201,
DOCKER_COMPOSE_LOGS_ERROR = 202, DOCKER_COMPOSE_LOGS_ERROR = 202,
DOCKER_COMPOSE_DOWN_ERROR = 203, DOCKER_COMPOSE_DOWN_ERROR = 203,
EXERCICE_RESULTS_FOLDER_TOO_BIG = 204, EXERCISE_RESULTS_FOLDER_TOO_BIG = 204,
EXERCICE_RESULTS_FILE_NOT_FOUND = 205, EXERCISE_RESULTS_FILE_NOT_FOUND = 205,
EXERCICE_RESULTS_FILE_SCHEMA_NOT_VALID = 206, EXERCISE_RESULTS_FILE_SCHEMA_NOT_VALID = 206,
UPLOAD = 207 UPLOAD = 207
} }
export default ExerciceCheckerError; export default ExerciseCheckerError;
\ No newline at end of file \ No newline at end of file
interface ExerciceResultsFile { interface ExerciseResultsFile {
success: boolean; success: boolean;
successfulTests?: number; successfulTests?: number;
...@@ -9,4 +9,4 @@ interface ExerciceResultsFile { ...@@ -9,4 +9,4 @@ interface ExerciceResultsFile {
} }
export default ExerciceResultsFile; export default ExerciseResultsFile;
\ No newline at end of file \ No newline at end of file