@@ -19,6 +19,7 @@ import {
1919 IXmlParseStrTask
2020} from '../utils/xmlParseStrShapes' ;
2121
22+ const editingId = - 1 ;
2223
2324const capitalizeFirstLetter = ( str : string ) => {
2425 return str . charAt ( 0 ) . toUpperCase ( ) + str . slice ( 1 )
@@ -32,7 +33,7 @@ export const makeAssessmentOverview = (result: any) : IAssessmentOverview => {
3233 closeAt : rawOverview . duedate ,
3334 coverImage : rawOverview . coverimage ,
3435 grade : 1 ,
35- id : 7 ,
36+ id : editingId ,
3637 maxGrade : 3000 ,
3738 maxXp : 1000 ,
3839 openAt : rawOverview . startdate ,
@@ -50,7 +51,7 @@ export const makeAssessment = (result: any) : IAssessment => {
5051 const rawOverview : IXmlParseStrOverview = task . $ ;
5152 return {
5253 category : capitalizeFirstLetter ( rawOverview . kind ) as AssessmentCategories ,
53- id : 7 ,
54+ id : editingId ,
5455 longSummary : task . TEXT [ 0 ] ,
5556 missionPDF : 'google.com' ,
5657 questions : makeQuestions ( task ) ,
@@ -63,27 +64,36 @@ const altEval = (str: string) : any => {
6364}
6465
6566const makeLibrary = ( task : IXmlParseStrTask ) : Library => {
66- const symbolsVal : string [ ] = task . DEPLOYMENT [ 0 ] . EXTERNAL [ 0 ] . SYMBOL || [ ] ;
67- const globalsVal = task . GLOBAL . map ( ( x ) => [ x . IDENTIFIER [ 0 ] , altEval ( x . VALUE [ 0 ] ) ] ) as Array < [ string , any ] > ;
67+ const external = task . DEPLOYMENT [ 0 ] . EXTERNAL ;
68+ const nameVal = external ?
69+ external [ 0 ] . $ . name
70+ : "NONE" ;
71+ const symbolsVal : string [ ] = external ?
72+ external [ 0 ] . SYMBOL
73+ : [ ] ;
74+ const globalsVal = task . GLOBAL ?
75+ task . GLOBAL . map ( ( x ) => [ x . IDENTIFIER [ 0 ] , altEval ( x . VALUE [ 0 ] ) ] ) as Array < [ string , any ] >
76+ : [ ] ;
6877 return {
6978 chapter : parseInt ( task . DEPLOYMENT [ 0 ] . $ . interpreter , 10 ) ,
7079 external : {
71- name : task . DEPLOYMENT [ 0 ] . EXTERNAL [ 0 ] . $ . name ,
80+ name : nameVal ,
7281 symbols : symbolsVal
7382 } ,
7483 globals : globalsVal ,
7584 }
7685}
7786
7887const makeQuestions = ( task : IXmlParseStrTask ) : IQuestion [ ] => {
88+ const libraryVal = makeLibrary ( task ) ;
7989 const questions : Array < IProgrammingQuestion | IMCQQuestion > = [ ]
8090 task . PROBLEMS [ 0 ] . PROBLEM . forEach ( ( problem : IXmlParseStrProblem , curId : number ) => {
8191 const question : IQuestion = {
8292 answer : null ,
8393 comment : null ,
8494 content : problem . TEXT [ 0 ] ,
8595 id : curId ,
86- library : makeLibrary ( task ) ,
96+ library : libraryVal ,
8797 type : problem . $ . type ,
8898 grader : {
8999 name : 'fake person' ,
0 commit comments