cloud_server.routers¶
Routers for the FastAPI server.
- class cloud_server.routers.FilesRouter(prefix)[source]¶
Router for the cloud server file operations.
- configure_router(db, storage_directory, storage_config, thumbnail_generator)[source]¶
Configure the router with necessary dependencies.
- Return type:
- async list_files(request)[source]¶
Get metadata for all files.
- Parameters:
request (
Request) – The incoming HTTP request- Return ListFilesResponse:
Files metadata response
- Return type:
- async upload_file(request, file, parent_directory)[source]¶
Upload a file.
- Parameters:
request (
Request) – The incoming HTTP requestfile (
UploadFile) – The file to uploadparent_directory (
str) – Parent directory path relative to storage directory
- Return UploadFileResponse:
File upload response
- Raises:
HTTPException – If file validation fails or storage operation fails
- Return type:
- async get_file(request, file_id)[source]¶
Get a file by its ID.
- Parameters:
request (
Request) – The incoming HTTP requestfile_id (
int) – The ID of the file to retrieve
- Return FileResponse:
The requested file
- Raises:
HTTPException – If the file metadata doesn’t exist in the database or if the file is not found in storage
- Return type:
FileResponse
- async delete_file(request, file_id)[source]¶
Delete a file by its ID.
- Parameters:
request (
Request) – The incoming HTTP requestfile_id (
int) – The ID of the file to delete
- Return DeleteFileResponse:
File deletion response
- Raises:
HTTPException – If the file metadata doesn’t exist in the database or if the file is not found in storage
- Return type:
- async update_file_metadata(request, file_id, body)[source]¶
Update metadata for a file by its ID.
- Parameters:
request (
Request) – The incoming HTTP requestfile_id (
int) – The ID of the file to update metadata forbody (
UpdateFileMetadataRequest) – The updated filename and parent directory
- Return UpdateFileMetadataResponse:
File metadata update response
- Raises:
HTTPException – If the file metadata doesn’t exist in the database or file operations fail
- Return type:
- async get_thumbnail(request, file_id)[source]¶
Get a thumbnail for a file by its ID.
- Parameters:
request (
Request) – The incoming HTTP requestfile_id (
int) – The ID of the file to get a thumbnail for
- Return FileResponse:
The requested thumbnail image
- Raises:
HTTPException – If the file metadata doesn’t exist in the database or if the file is not found in storage
- Return type:
FileResponse
Modules
Cloud server router with file operations endpoints. |