Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions src/grader_interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -166,10 +166,6 @@ WHERE tm_submissions.ID = :idSubmission
throw new InvalidInputError('Cannot find source code associated with this submission');
}

if (!submissionData.answerToken && !appConfig.testMode.enabled && 'UserTest' !== submission.sMode) {
throw new InvalidInputError('Missing answerToken, required for this type of submission');
}

let tests: TaskTest[] = [];
if ('UserTest' === submission.sMode) {
tests = await Db.execute<TaskTest[]>('SELECT tm_tasks_tests.* FROM tm_tasks_tests WHERE idUser = :idUser and idPlatform = :idPlatform and idTask = :idTask and idSubmission = :idSubmission ORDER BY iRank ASC', {
Expand Down
2 changes: 1 addition & 1 deletion src/platform_interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ export async function extractPlatformTaskTokenData(token: string|null|undefined,
}
}

if (!payload.idUser || (!payload.idItem && !payload.itemUrl)) {
if (undefined === payload.idUser || null === payload.idUser || (!payload.idItem && !payload.itemUrl)) {
throw new InvalidInputError('Missing idUser or idItem in token');
}

Expand Down
6 changes: 4 additions & 2 deletions src/submissions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -168,9 +168,13 @@ export async function createSubmission(submissionData: SubmissionParameters): Pr
throw new InvalidInputError(`Invalid task id: ${taskTokenData.taskId}`);
}

const mode = submissionData.userTests && submissionData.userTests.length ? SubmissionMode.UserTest : SubmissionMode.Submitted;

let answerTokenData: PlatformAnswerTokenData|null = null;
if (submissionData.answerToken) {
answerTokenData = await extractPlatformAnswerTaskTokenData(submissionData.answerToken, submissionData.platform, submissionData.taskId);
} else if (!appConfig.testMode.enabled && 'UserTest' !== mode && '0' !== String(taskTokenData.payload.idUser)) {
throw new InvalidInputError('Missing answerToken, required for this type of submission');
}

const submissionParamsKeys: (keyof PlatformTaskTokenPayload)[] = [
Expand All @@ -188,8 +192,6 @@ export async function createSubmission(submissionData: SubmissionParameters): Pr

checkAnswerTokenValid(answerTokenData, taskTokenData);

const mode = submissionData.userTests && submissionData.userTests.length ? SubmissionMode.UserTest : SubmissionMode.Submitted;

// save source code (with bSubmission = 1)
const idNewSourceCode = getRandomId();
const idSubmission = getRandomId();
Expand Down