89bf07d2ef
- Add app/tasks/upload_to_user_integration.py: new Celery task that uploads a processed document to a specific UserIntegration using its own per-user config and Fernet-decrypted credentials. Supports all DESTINATION types: Dropbox, S3, Google Drive, OneDrive, WebDAV, Nextcloud, FTP, SFTP, Paperless-ngx, Email (SMTP), and Rclone. - Extend app/tasks/send_to_all.py: add send_to_user_destinations task (queries active DESTINATION UserIntegrations for an owner and dispatches one upload_to_user_integration task per integration) and get_user_destination_count helper used by finalize_document_storage. - Refactor app/tasks/finalize_document_storage.py: after processing, look up the document owner; if the owner has active DESTINATION integrations route exclusively to those (user-specific routing), otherwise fall back to the global send_to_all_destinations. - Update tests/test_finalize_storage.py: add autouse fixture to prevent Redis hangs, update all existing tests with new mock parameters, add TestFinalizeDocumentStorageUserRouting class with four new tests that validate user-specific vs global routing decisions. - Add tests/test_user_integration_upload.py: 14 new unit tests covering upload_to_user_integration (handler dispatch, error persistence, last_used_at update, credential decryption, skip for unknown types) and send_to_user_destinations / get_user_destination_count. - Update docs/StorageArchitecture.md: document the user-specific destination routing feature, supported types, multiple-destination behaviour, and global fallback semantics. Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
DocuElevate Documentation
Welcome to the DocuElevate documentation. This directory contains comprehensive guides to help you install, configure, and use DocuElevate effectively.
Available Documentation
Getting Started
- Setup Wizard Guide - First-run wizard walkthrough and initial configuration
- User Guide - How to use DocuElevate's features and interface
- Browser Extension - Send files and clip web pages directly from your browser
Deployment
- Deployment Guide - Docker Compose and Kubernetes/Helm deployment
- Kubernetes Deployment Guide - Detailed Kubernetes/Helm reference
- Production Readiness Guide - Checklist to go from "it works" to production-hardened
Configuration
- Configuration Overview - Overview of configuration options, including:
- Configuration Guide - Complete list of all available configuration parameters
- Settings Management - Web-based settings UI and API reference
- Database Configuration - SQLite, PostgreSQL, migrations, and optimization
- Google Drive Setup - How to set up Google Drive integration
- Dropbox Setup - How to set up Dropbox integration
- OneDrive Setup - How to set up Microsoft OneDrive/Graph integration
- Amazon S3 Setup - How to set up Amazon S3 integration
- Authentication Setup - How to set up user authentication
- Notifications Setup - How to set up system notifications
Security
- Credential Rotation Guide - Procedures for rotating API keys, passwords, and OAuth tokens
Reference
- API Documentation - Complete API reference for developers
- Configuration Troubleshooting - Solutions to common configuration issues
- Troubleshooting - General troubleshooting and solutions to common issues
- Licensing & Compliance - License information and third-party dependency compliance
Additional Resources
- Contributing Guide - How to contribute to DocuElevate development
- License Information - Apache License 2.0 details
Support
If you need additional assistance beyond what's covered in these guides:
- Check the GitHub repository for updates and issues
- Contact the developer through the information provided on the About page



