Merge branch 'main' into default-data
This commit is contained in:
commit
34739193eb
2 changed files with 57 additions and 13 deletions
|
|
@ -13,12 +13,25 @@ async def upload(request: Request, document_service, session_manager):
|
|||
user = request.state.user
|
||||
jwt_token = request.state.jwt_token
|
||||
|
||||
from config.settings import is_no_auth_mode
|
||||
|
||||
# In no-auth mode, pass None for owner fields so documents have no owner
|
||||
# This allows all users to see them when switching to auth mode
|
||||
if is_no_auth_mode():
|
||||
owner_user_id = None
|
||||
owner_name = None
|
||||
owner_email = None
|
||||
else:
|
||||
owner_user_id = user.user_id
|
||||
owner_name = user.name
|
||||
owner_email = user.email
|
||||
|
||||
result = await document_service.process_upload_file(
|
||||
upload_file,
|
||||
owner_user_id=user.user_id,
|
||||
owner_user_id=owner_user_id,
|
||||
jwt_token=jwt_token,
|
||||
owner_name=user.name,
|
||||
owner_email=user.email,
|
||||
owner_name=owner_name,
|
||||
owner_email=owner_email,
|
||||
)
|
||||
return JSONResponse(result, status_code=201) # Created
|
||||
except Exception as e:
|
||||
|
|
@ -48,12 +61,25 @@ async def upload_path(request: Request, task_service, session_manager):
|
|||
|
||||
user = request.state.user
|
||||
jwt_token = request.state.jwt_token
|
||||
|
||||
from config.settings import is_no_auth_mode
|
||||
|
||||
# In no-auth mode, pass None for owner fields so documents have no owner
|
||||
if is_no_auth_mode():
|
||||
owner_user_id = None
|
||||
owner_name = None
|
||||
owner_email = None
|
||||
else:
|
||||
owner_user_id = user.user_id
|
||||
owner_name = user.name
|
||||
owner_email = user.email
|
||||
|
||||
task_id = await task_service.create_upload_task(
|
||||
user.user_id,
|
||||
owner_user_id,
|
||||
file_paths,
|
||||
jwt_token=jwt_token,
|
||||
owner_name=user.name,
|
||||
owner_email=user.email,
|
||||
owner_name=owner_name,
|
||||
owner_email=owner_email,
|
||||
)
|
||||
|
||||
return JSONResponse(
|
||||
|
|
@ -146,18 +172,31 @@ async def upload_bucket(request: Request, task_service, session_manager):
|
|||
jwt_token = request.state.jwt_token
|
||||
|
||||
from models.processors import S3FileProcessor
|
||||
from config.settings import is_no_auth_mode
|
||||
|
||||
# In no-auth mode, pass None for owner fields so documents have no owner
|
||||
if is_no_auth_mode():
|
||||
owner_user_id = None
|
||||
owner_name = None
|
||||
owner_email = None
|
||||
task_user_id = None
|
||||
else:
|
||||
owner_user_id = user.user_id
|
||||
owner_name = user.name
|
||||
owner_email = user.email
|
||||
task_user_id = user.user_id
|
||||
|
||||
processor = S3FileProcessor(
|
||||
task_service.document_service,
|
||||
bucket,
|
||||
s3_client=s3_client,
|
||||
owner_user_id=user.user_id,
|
||||
owner_user_id=owner_user_id,
|
||||
jwt_token=jwt_token,
|
||||
owner_name=user.name,
|
||||
owner_email=user.email,
|
||||
owner_name=owner_name,
|
||||
owner_email=owner_email,
|
||||
)
|
||||
|
||||
task_id = await task_service.create_custom_task(user.user_id, keys, processor)
|
||||
task_id = await task_service.create_custom_task(task_user_id, keys, processor)
|
||||
|
||||
return JSONResponse(
|
||||
{"task_id": task_id, "total_files": len(keys), "status": "accepted"},
|
||||
|
|
|
|||
|
|
@ -207,13 +207,18 @@ class S3FileProcessor(TaskProcessor):
|
|||
"page": chunk["page"],
|
||||
"text": chunk["text"],
|
||||
"chunk_embedding": vect,
|
||||
"owner": self.owner_user_id,
|
||||
"owner_name": self.owner_name,
|
||||
"owner_email": self.owner_email,
|
||||
"file_size": file_size,
|
||||
"connector_type": "s3", # S3 uploads
|
||||
"indexed_time": datetime.datetime.now().isoformat(),
|
||||
}
|
||||
|
||||
# Only set owner fields if owner_user_id is provided (for no-auth mode support)
|
||||
if self.owner_user_id is not None:
|
||||
chunk_doc["owner"] = self.owner_user_id
|
||||
if self.owner_name is not None:
|
||||
chunk_doc["owner_name"] = self.owner_name
|
||||
if self.owner_email is not None:
|
||||
chunk_doc["owner_email"] = self.owner_email
|
||||
chunk_id = f"{slim_doc['id']}_{i}"
|
||||
try:
|
||||
await opensearch_client.index(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue