feat: implementing embedding AI

This commit is contained in:
2026-03-18 17:15:39 -03:00
parent e8cdf61468
commit 64d3d5be91
32 changed files with 3568 additions and 174 deletions
+48
View File
@@ -0,0 +1,48 @@
#!/bin/bash
# Import MySQL courses and question bank into PostgreSQL
CMS_API_URL="http://localhost:3001"
EMAIL="admin@norteamericano.cl"
PASSWORD="Admin123!"
echo "📥 Importando cursos y planes desde MySQL..."
# Step 1: Register admin user (in case it doesn't exist after DB reset)
echo "📝 Registrando usuario admin..."
REGISTER_RESULT=$(curl -s -X POST "$CMS_API_URL/auth/register" \
-H "Content-Type: application/json" \
-d "{\"email\":\"$EMAIL\",\"password\":\"$PASSWORD\",\"full_name\":\"Administrador\"}")
echo "Registro: $REGISTER_RESULT"
# Step 2: Login to get JWT token
echo "🔑 Obteniendo token de autenticación..."
TOKEN=$(curl -s -X POST "$CMS_API_URL/auth/login" \
-H "Content-Type: application/json" \
-d "{\"email\":\"$EMAIL\",\"password\":\"$PASSWORD\"}" \
| jq -r '.token')
if [ -z "$TOKEN" ] || [ "$TOKEN" = "null" ]; then
echo "❌ Error: No se pudo obtener el token. Verifica las credenciales."
exit 1
fi
echo "✅ Token obtenido: ${TOKEN:0:20}..."
# Step 2: Import all from MySQL
echo "📊 Importando cursos, planes y preguntas desde MySQL..."
RESULT=$(curl -s -X POST "$CMS_API_URL/question-bank/import-mysql-all" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN")
echo "📋 Resultado:"
echo "$RESULT" | jq .
# Check if import was successful
IMPORTED=$(echo "$RESULT" | jq -r '.imported // 0')
if [ "$IMPORTED" != "null" ] && [ "$IMPORTED" -gt 0 ]; then
echo "✅ Importación completada: $IMPORTED preguntas importadas"
else
echo "⚠️ Revisa el resultado para más detalles"
fi
+47
View File
@@ -0,0 +1,47 @@
#!/bin/bash
# Import MySQL courses and plans into PostgreSQL
CMS_API_URL="http://localhost:3001"
EMAIL="admin@norteamericano.cl"
PASSWORD="Admin123!"
echo "📥 Importando cursos y planes desde MySQL..."
# Step 1: Login to get JWT token
echo "🔑 Obteniendo token de autenticación..."
TOKEN=$(curl -s -X POST "$CMS_API_URL/auth/login" \
-H "Content-Type: application/json" \
-d "{\"email\":\"$EMAIL\",\"password\":\"$PASSWORD\"}" \
| jq -r '.token')
if [ -z "$TOKEN" ] || [ "$TOKEN" = "null" ]; then
echo "❌ Error: No se pudo obtener el token."
exit 1
fi
echo "✅ Token obtenido: ${TOKEN:0:20}..."
# Step 2: Import courses and plans from MySQL
echo "📊 Importando cursos y planes desde MySQL..."
RESULT=$(curl -s -X POST "$CMS_API_URL/question-bank/import-mysql" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"import_all": true}')
echo "📋 Resultado:"
echo "$RESULT" | jq .
# Check result
COUNT=$(echo "$RESULT" | jq 'length')
if [ "$COUNT" != "null" ] && [ "$COUNT" -gt 0 ]; then
echo "✅ Importación completada: $COUNT preguntas importadas"
else
echo "⚠️ No se importaron preguntas"
fi
# Verify courses and plans
echo ""
echo "📊 Verificando datos importados..."
docker compose exec -T db psql -U user -d openccb_cms -c "SELECT COUNT(*) as planes FROM mysql_study_plans;" 2>/dev/null
docker compose exec -T db psql -U user -d openccb_cms -c "SELECT COUNT(*) as cursos FROM mysql_courses;" 2>/dev/null