diff --git a/admin/src/services/api.js b/admin/src/services/api.js index 3a1d97c..6b68add 100644 --- a/admin/src/services/api.js +++ b/admin/src/services/api.js @@ -115,16 +115,30 @@ export const chatAPI = { }, async sendStreamingMessage(data, onChunk, files = []) { + // Ensure userId is included in the request + const currentUser = localStorage.getItem('currentUser'); + const user = currentUser ? JSON.parse(currentUser) : null; + + if (!user?.id) { + throw new Error('User not authenticated'); + } + + // Add userId to data + const dataWithUser = { ...data, userId: user.id }; + let requestBody - let headers = {} + let headers = { + // Include Authorization header manually since we're using fetch + 'Authorization': `Bearer ${localStorage.getItem('authToken') || localStorage.getItem('azureAuthToken')}` + } if (files && files.length > 0) { const formData = new FormData() // Add text data - Object.keys(data).forEach(key => { + Object.keys(dataWithUser).forEach(key => { if (key !== 'files') { - formData.append(key, typeof data[key] === 'object' ? JSON.stringify(data[key]) : data[key]) + formData.append(key, typeof dataWithUser[key] === 'object' ? JSON.stringify(dataWithUser[key]) : dataWithUser[key]) } }) formData.append('stream', 'true') @@ -137,7 +151,7 @@ export const chatAPI = { requestBody = formData } else { headers['Content-Type'] = 'application/json' - requestBody = JSON.stringify({ ...data, stream: true }) + requestBody = JSON.stringify({ ...dataWithUser, stream: true }) } const response = await fetch(`${API_BASE_URL}/chat/completions`, { diff --git a/docker/simple-setup.sh b/docker/simple-setup.sh index 88a4e8d..0100203 100755 --- a/docker/simple-setup.sh +++ b/docker/simple-setup.sh @@ -138,6 +138,11 @@ read echo "Starting deployment..." echo "" +# Clean up any existing volumes first (ensures fresh database) +echo "Cleaning up any existing Docker volumes..." +$COMPOSE down --volumes 2>/dev/null || true +docker system prune -f >/dev/null 2>&1 || true + # Start the deployment $COMPOSE up -d --build