Spaces:
Sleeping
Sleeping
@startuml userupload | |
actor Client | |
participant "APIRouter" as router | |
participant "UploadFile" as file | |
participant "Sanitizer" as sanitizer | |
participant "DocumentIngestor" as ingestor | |
Client -> router : upload_file(file) | |
activate router | |
router -> file : check_content_type() | |
activate file | |
file --> router : valid/invalid | |
deactivate file | |
alt if file is valid | |
router -> sanitizer : sanitize_collection_name(current_user["user_id"]) | |
activate sanitizer | |
sanitizer --> router : sanitized_name | |
deactivate sanitizer | |
router -> ingestor : ingest_document(file_location, sanitized_name) | |
activate ingestor | |
ingestor --> router : success/failure | |
deactivate ingestor | |
router --> Client : {"status": "File uploaded and processed successfully."} | |
else if file is invalid | |
router --> Client : {"status": "Unsupported file type."} | |
end | |
deactivate router | |
@enduml | |