Peter Mutwiri commited on
Commit Β·
ac073d2
1
Parent(s): b143861
fixed errors
Browse files- .vscode/settings.json +1 -1
- app/main.py +1 -1
- app/routers/analytics_stream.py +3 -1
- app/routers/datasources.py +1 -1
- app/routers/schema.py +1 -0
- app/schemas/org_schema.py +1 -1
- app/service/llm_service.py +1 -1
- app/tasks/analytics_worker.py +1 -1
- app/tasks/vector_cleanup_worker.py +1 -0
.vscode/settings.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
| 6 |
"python.linting.ruffEnabled": true,
|
| 7 |
"[python]": {
|
| 8 |
"editor.codeActionsOnSave": {
|
| 9 |
-
"source.fixAll.ruff":
|
| 10 |
},
|
| 11 |
"editor.defaultFormatter": "charliermarsh.ruff"
|
| 12 |
}
|
|
|
|
| 6 |
"python.linting.ruffEnabled": true,
|
| 7 |
"[python]": {
|
| 8 |
"editor.codeActionsOnSave": {
|
| 9 |
+
"source.fixAll.ruff": "explicit"
|
| 10 |
},
|
| 11 |
"editor.defaultFormatter": "charliermarsh.ruff"
|
| 12 |
}
|
app/main.py
CHANGED
|
@@ -14,7 +14,7 @@ import pathlib
|
|
| 14 |
from datetime import datetime, timedelta
|
| 15 |
|
| 16 |
# βββ Third-Party ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 17 |
-
from fastapi import FastAPI, Depends, HTTPException, Request, Query, BackgroundTasks
|
| 18 |
from fastapi.middleware.cors import CORSMiddleware
|
| 19 |
from fastapi.responses import JSONResponse
|
| 20 |
from contextlib import asynccontextmanager
|
|
|
|
| 14 |
from datetime import datetime, timedelta
|
| 15 |
|
| 16 |
# βββ Third-Party ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 17 |
+
from fastapi import FastAPI, Depends, HTTPException, Request, Query, BackgroundTasks,json
|
| 18 |
from fastapi.middleware.cors import CORSMiddleware
|
| 19 |
from fastapi.responses import JSONResponse
|
| 20 |
from contextlib import asynccontextmanager
|
app/routers/analytics_stream.py
CHANGED
|
@@ -4,12 +4,14 @@ from typing import List, Dict
|
|
| 4 |
import json
|
| 5 |
import asyncio
|
| 6 |
from datetime import datetime
|
|
|
|
| 7 |
from app.deps import get_current_user,APP_URL
|
| 8 |
|
| 9 |
from app.redis_client import redis
|
| 10 |
import uuid
|
| 11 |
from app.qstash_client import publish_message, is_qstash_available
|
| 12 |
from fastapi import BackgroundTasks, Body, Depends
|
|
|
|
| 13 |
router = APIRouter(prefix="/api/v1/analytics/stream", tags=["analytics"])
|
| 14 |
|
| 15 |
class AnalyticsStreamManager:
|
|
@@ -73,7 +75,7 @@ async def get_recent_analytics(
|
|
| 73 |
org_id = current_user["org_id"]
|
| 74 |
source_id = current_user.get("source_id", "default")
|
| 75 |
"""Poll recent analytics (replaces Socket.io)"""
|
| 76 |
-
if
|
| 77 |
raise HTTPException(status_code=403, detail="Unauthorized")
|
| 78 |
|
| 79 |
manager = AnalyticsStreamManager(org_id, source_id)
|
|
|
|
| 4 |
import json
|
| 5 |
import asyncio
|
| 6 |
from datetime import datetime
|
| 7 |
+
import logging
|
| 8 |
from app.deps import get_current_user,APP_URL
|
| 9 |
|
| 10 |
from app.redis_client import redis
|
| 11 |
import uuid
|
| 12 |
from app.qstash_client import publish_message, is_qstash_available
|
| 13 |
from fastapi import BackgroundTasks, Body, Depends
|
| 14 |
+
logger = logging.getLogger(__name__)
|
| 15 |
router = APIRouter(prefix="/api/v1/analytics/stream", tags=["analytics"])
|
| 16 |
|
| 17 |
class AnalyticsStreamManager:
|
|
|
|
| 75 |
org_id = current_user["org_id"]
|
| 76 |
source_id = current_user.get("source_id", "default")
|
| 77 |
"""Poll recent analytics (replaces Socket.io)"""
|
| 78 |
+
if current_user.org_id != org_id:
|
| 79 |
raise HTTPException(status_code=403, detail="Unauthorized")
|
| 80 |
|
| 81 |
manager = AnalyticsStreamManager(org_id, source_id)
|
app/routers/datasources.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
from fastapi import APIRouter, Query, Form, File, UploadFile, Depends, HTTPException
|
| 2 |
from typing import Dict, Any, List, Union
|
| 3 |
from fastapi.responses import JSONResponse
|
| 4 |
from pydantic import BaseModel
|
|
|
|
| 1 |
+
from fastapi import APIRouter, Query, Form, File, UploadFile, Depends, HTTPException
|
| 2 |
from typing import Dict, Any, List, Union
|
| 3 |
from fastapi.responses import JSONResponse
|
| 4 |
from pydantic import BaseModel
|
app/routers/schema.py
CHANGED
|
@@ -2,6 +2,7 @@
|
|
| 2 |
from fastapi import APIRouter, Depends
|
| 3 |
from app.deps import get_current_user
|
| 4 |
from typing import Dict
|
|
|
|
| 5 |
router = APIRouter(prefix="/api/v1/schema", tags=["schema"])
|
| 6 |
|
| 7 |
@router.get("/discover")
|
|
|
|
| 2 |
from fastapi import APIRouter, Depends
|
| 3 |
from app.deps import get_current_user
|
| 4 |
from typing import Dict
|
| 5 |
+
from app.service.schema_service import OrgSchema
|
| 6 |
router = APIRouter(prefix="/api/v1/schema", tags=["schema"])
|
| 7 |
|
| 8 |
@router.get("/discover")
|
app/schemas/org_schema.py
CHANGED
|
@@ -36,7 +36,7 @@ class OrgSchema:
|
|
| 36 |
self.org_id = org_id
|
| 37 |
self.cache_key = f"schema:{org_id}:ai:v3"
|
| 38 |
self.stats_key = f"schema:stats:{org_id}"
|
| 39 |
-
self.llm =
|
| 40 |
self.vector = VectorService()
|
| 41 |
|
| 42 |
def get_mapping(self) -> Dict[str, str]:
|
|
|
|
| 36 |
self.org_id = org_id
|
| 37 |
self.cache_key = f"schema:{org_id}:ai:v3"
|
| 38 |
self.stats_key = f"schema:stats:{org_id}"
|
| 39 |
+
self.llm = LocalLLMService()
|
| 40 |
self.vector = VectorService()
|
| 41 |
|
| 42 |
def get_mapping(self) -> Dict[str, str]:
|
app/service/llm_service.py
CHANGED
|
@@ -97,7 +97,7 @@ class LocalLLMService:
|
|
| 97 |
@property
|
| 98 |
def is_loading(self): # β
Add this missing property
|
| 99 |
with self._lock:
|
| 100 |
-
return self.
|
| 101 |
@property
|
| 102 |
def load_error(self):
|
| 103 |
with self._lock:
|
|
|
|
| 97 |
@property
|
| 98 |
def is_loading(self): # β
Add this missing property
|
| 99 |
with self._lock:
|
| 100 |
+
return self._is_loading
|
| 101 |
@property
|
| 102 |
def load_error(self):
|
| 103 |
with self._lock:
|
app/tasks/analytics_worker.py
CHANGED
|
@@ -3,7 +3,7 @@ import asyncio
|
|
| 3 |
import json
|
| 4 |
import pandas as pd
|
| 5 |
import logging
|
| 6 |
-
from datetime import datetime
|
| 7 |
from typing import Dict, Any
|
| 8 |
import time
|
| 9 |
|
|
|
|
| 3 |
import json
|
| 4 |
import pandas as pd
|
| 5 |
import logging
|
| 6 |
+
from datetime import datetime,timedelta
|
| 7 |
from typing import Dict, Any
|
| 8 |
import time
|
| 9 |
|
app/tasks/vector_cleanup_worker.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
| 1 |
# app/tasks/vector_cleanup_worker.py
|
| 2 |
import asyncio
|
|
|
|
| 3 |
from app.services.vector_service import VectorService
|
| 4 |
import logging
|
| 5 |
|
|
|
|
| 1 |
# app/tasks/vector_cleanup_worker.py
|
| 2 |
import asyncio
|
| 3 |
+
from app.redis_client import redis
|
| 4 |
from app.services.vector_service import VectorService
|
| 5 |
import logging
|
| 6 |
|