From f74f94d00565359cc2f8b876127d853becc3b2bd Mon Sep 17 00:00:00 2001 From: Nurfog Date: Thu, 9 Apr 2026 17:20:43 -0400 Subject: [PATCH] feat(question-bank): extend source options to include 'rag-ai' for AI-generated questions --- services/cms-service/src/handlers_question_bank.rs | 2 +- web/studio/src/app/question-bank/page.tsx | 2 +- web/studio/src/components/QuestionBank/QuestionBankCard.tsx | 1 + web/studio/src/lib/api.ts | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/services/cms-service/src/handlers_question_bank.rs b/services/cms-service/src/handlers_question_bank.rs index 8ecb776..ee6715f 100644 --- a/services/cms-service/src/handlers_question_bank.rs +++ b/services/cms-service/src/handlers_question_bank.rs @@ -456,7 +456,7 @@ pub async fn list_questions( "ai" => { sqlx::query_as::<_, QuestionBank>( &format!( - "SELECT {} FROM question_bank WHERE organization_id = $1 AND is_archived = false AND source = 'ai-generated' ORDER BY created_at DESC", + "SELECT {} FROM question_bank WHERE organization_id = $1 AND is_archived = false AND source IN ('ai-generated', 'rag-ai') ORDER BY created_at DESC", QUESTION_BANK_SELECT_COLUMNS ) ) diff --git a/web/studio/src/app/question-bank/page.tsx b/web/studio/src/app/question-bank/page.tsx index 2a74f32..bfea662 100644 --- a/web/studio/src/app/question-bank/page.tsx +++ b/web/studio/src/app/question-bank/page.tsx @@ -12,7 +12,7 @@ import MySQLImportModal from '@/components/QuestionBank/MySQLImportModal'; const isMySqlOrigin = (source?: string) => source === 'imported-mysql' || source === 'sam-diagnostico'; const isMaterialsOrigin = (source?: string) => source === 'imported-material'; -const isAiOrigin = (source?: string) => source === 'ai-generated'; +const isAiOrigin = (source?: string) => source === 'ai-generated' || source === 'rag-ai'; const toSafeText = (value: unknown): string => { if (value === null || value === undefined) return ''; diff --git a/web/studio/src/components/QuestionBank/QuestionBankCard.tsx b/web/studio/src/components/QuestionBank/QuestionBankCard.tsx index f14197a..d013917 100644 --- a/web/studio/src/components/QuestionBank/QuestionBankCard.tsx +++ b/web/studio/src/components/QuestionBank/QuestionBankCard.tsx @@ -82,6 +82,7 @@ export default function QuestionBankCard({ question, onEdit, onDelete }: Questio ); case 'ai-generated': + case 'rag-ai': return ( IA diff --git a/web/studio/src/lib/api.ts b/web/studio/src/lib/api.ts index 5ce598d..14f83f7 100644 --- a/web/studio/src/lib/api.ts +++ b/web/studio/src/lib/api.ts @@ -1272,7 +1272,7 @@ export interface QuestionBank { difficulty?: 'easy' | 'medium' | 'hard'; tags?: string[]; skill_assessed?: 'reading' | 'listening' | 'speaking' | 'writing'; - source?: 'manual' | 'ai-generated' | 'imported-mysql' | 'imported-csv'; + source?: 'manual' | 'ai-generated' | 'rag-ai' | 'imported-mysql' | 'imported-material' | 'imported-csv' | 'sam-diagnostico'; source_metadata?: unknown; usage_count?: number; last_used_at?: string;