From 2fb2e98f3fc189008063f1d8384e1a02f17e4efe Mon Sep 17 00:00:00 2001 From: Ben Warzeski Date: Mon, 13 Sep 2021 13:35:05 -0400 Subject: [PATCH] api updates --- src/data/services/lms/api.js | 57 +++++++++++++------ src/data/services/lms/fakeData/learners.js | 14 ----- .../services/lms/fakeData/submissionFull.js | 6 +- .../services/lms/fakeData/submissionList.js | 2 +- 4 files changed, 44 insertions(+), 35 deletions(-) delete mode 100644 src/data/services/lms/fakeData/learners.js diff --git a/src/data/services/lms/api.js b/src/data/services/lms/api.js index c7fcba9..f6150b3 100644 --- a/src/data/services/lms/api.js +++ b/src/data/services/lms/api.js @@ -20,14 +20,14 @@ const mockFailure = (returnValFn) => (...args) => ( ); /** - * get('/api/initialize') + * get('/api/initialize', { ora_location, course_id? }) * @return { - * oraMetadata: { name, prompt }, + * oraMetadata: { name, prompt, type ('individual' vs 'team') }, * submissions: { - * [learnerId]: { + * [submissionId]: { * id: , (not currently used) * username, - * learnerId, + * submissionId, * dateSubmitted, (timestamp) * status, ['ungraded', 'graded', 'locked', 'locked_by_you'?] * grade, (number) @@ -42,12 +42,13 @@ const initializeApp = mockSuccess(() => ({ })); /** - * get('/api/submission', { learnerId }) + * get('/api/submission', { submissionId }) * @return { * submision: { * grade, - * learnerId, + * submissionId, * response: { files: [], text: }, + * status, * rubric: { * name, * comments (optional), @@ -64,30 +65,51 @@ const initializeApp = mockSuccess(() => ({ * }, * } */ -const fetchSubmission = mockSuccess((learnerId) => ({ - submission: fakeData.mockSubmission(learnerId), +const fetchSubmission = mockSuccess((submissionId) => ({ + submission: fakeData.mockSubmission(submissionId), +})); + +/** + * get('/api/submissionStatus', { submissionId }) + * submission: { + * grade, + * status, + * rubricResponses: { + * rubricComment: '', + * criteria: [ + * { grade, comments }, + * ], + * }, + * }, + */ +const fetchSubmissionStatus = mockSuccess((submissionId) => ({ + submissionData: fakeData.mockSubmission(submissionId), })); /* I assume this is the "Start Grading" call, even for if a * submission is already graded and we are attempting re-lock. * Assuming the check for if allowed would happen locally first. - * post('api/lockSubmission', { learnerId }); + * post('api/lock', { ora_location, submissionId }); + * @param {bool} value - new lock value + * @param {string} submissionId */ -const lockSubmission = mockSuccess((learnerId) => { - console.log({ lockSubmission: { learnerId } }); +const lockSubmission = mockSuccess(({ value, submissionId }) => { + console.log({ lockSubmission: { value, submissionId } }); }); /* * Assuming we do not care who has locked it or why, as there * is no design around communicating that info - * post('api/lockSubmission', { learnerId }); + * post('api/lock', { submissionId }); + * @param {bool} value - new lock value + * @param {string} submissionId */ -const lockSubmissionFail = mockFailure((learnerId) => { - console.log({ lockSubmissionFail: learnerId }); +const lockSubmissionFail = mockFailure(({ value, submissionId }) => { + console.log({ lockSubmissionFail: { value, submissionId } }); }); /* - * post('api/updateGrade', { learnerId, gradeData }) + * post('api/updateGrade', { submissionId, gradeData }) * @param {object} gradeData - full grading submission data * { * rubricComments: '', (optional) @@ -100,13 +122,14 @@ const lockSubmissionFail = mockFailure((learnerId) => { * ], * } */ -const updateGrade = mockSuccess((learnerId, gradeData) => { - console.log({ updateGrade: { learnerId, gradeData } }); +const updateGrade = mockSuccess((submissionId, gradeData) => { + console.log({ updateGrade: { submissionId, gradeData } }); }); export default StrictDict({ initializeApp, fetchSubmission, + fetchSubmissionStatus, lockSubmission, lockSubmissionFail, updateGrade, diff --git a/src/data/services/lms/fakeData/learners.js b/src/data/services/lms/fakeData/learners.js deleted file mode 100644 index cd291fd..0000000 --- a/src/data/services/lms/fakeData/learners.js +++ /dev/null @@ -1,14 +0,0 @@ -export const learner0 = 'LEARNER_ID-0'; -export const learner1 = 'LEARNER_ID-1'; -export const learner2 = 'LEARNER_ID-2'; -export const learner3 = 'LEARNER_ID-3'; -export const learner4 = 'LEARNER_ID-4'; -export const learner5 = 'LEARNER_ID-5'; - -export default [ - learner0, - learner1, - learner3, - learner4, - learner5, -]; diff --git a/src/data/services/lms/fakeData/submissionFull.js b/src/data/services/lms/fakeData/submissionFull.js index e91f678..1189c9e 100644 --- a/src/data/services/lms/fakeData/submissionFull.js +++ b/src/data/services/lms/fakeData/submissionFull.js @@ -36,12 +36,12 @@ const rubric = { ], }; -export const mockSubmission = (learnerId) => ({ +export const mockSubmission = (submissionId) => ({ response: { text: responseText, files: [], }, - status: submissionList[learnerId].status, - grade: submissionList[learnerId].grade, + status: submissionList[submissionId].status, + grade: submissionList[submissionId].grade, rubric, }); diff --git a/src/data/services/lms/fakeData/submissionList.js b/src/data/services/lms/fakeData/submissionList.js index 5bed9bc..bdc7bd4 100644 --- a/src/data/services/lms/fakeData/submissionList.js +++ b/src/data/services/lms/fakeData/submissionList.js @@ -23,7 +23,7 @@ const createSubmission = (grade, status) => { lastIndex += 1; const submissionId = ids.submissionId(index); const learnerId = ids.learnerId(index); - submissions[learnerId] = { + submissions[submissionId] = { id: submissionId, username: ids.username(index), learnerId,