diff --git a/src/modules/quizzes.js b/src/modules/quizzes.js index 9c13297c..f4e0e8d8 100644 --- a/src/modules/quizzes.js +++ b/src/modules/quizzes.js @@ -42,7 +42,11 @@ function createQuizUrl(quizId, parameters, options, path) { } if (parameters) { - const { section, answers, quizSessionId, quizVersionId, page, resultsPerPage, filters, fmtOptions, hiddenFields } = parameters; + const { section, answers, quizSessionId, quizVersionId, page, resultsPerPage, filters, fmtOptions, hiddenFields, direction } = parameters; + + if (direction) { + queryParams.direction = direction; + } // Pull section from parameters if (section) { diff --git a/src/types/quizzes.d.ts b/src/types/quizzes.d.ts index 43ae4eb8..6d158205 100644 --- a/src/types/quizzes.d.ts +++ b/src/types/quizzes.d.ts @@ -19,6 +19,7 @@ export interface QuizzesParameters { answers?: any[]; quizVersionId?: string; quizSessionId?: string; + direction?: 'next' | 'previous'; } export interface QuizResultsFmtOptions { @@ -66,6 +67,10 @@ export interface NextQuestionResponse extends Record { quiz_id?: string; quiz_session_id?: string; total_questions: number; + answers: Array<{ + questionId: number; + answerIds: string[]; + }>; } export interface QuizResultsResponse extends Record { @@ -164,25 +169,25 @@ export interface QuestionImages extends Record { type ResultConfigFields = { is_active: boolean; text: Nullable; -}; +} type ResponseSummary = ResultConfigFields & { items_separator: Nullable; last_separator: Nullable; -} +}; type ViewportResultsConfig = { title: Nullable; description: Nullable; response_summary: Nullable; -}; +} export interface QuizResultsConfig extends Record { desktop: ViewportResultsConfig; } export interface QuizResultsConfigResponse extends Record { - results_config: QuizResultsConfig, + results_config: QuizResultsConfig; quiz_version_id: string; quiz_id: string; }