Commit Graph

36 Commits

Author SHA1 Message Date
f6f50532a6 简化数据库模型 2026-01-08 15:48:32 +08:00
01747cc3d7 优化路由结构 2026-01-08 15:19:08 +08:00
91208352f8 支持管理员读写设置 2026-01-08 14:54:30 +08:00
baf59b9903 新增查看站点概况 2026-01-08 14:41:10 +08:00
d8a229fccd Add Redis-based one-time download token support
Integrate Redis as a backend for one-time download token validation, with in-memory fallback. Added RedisManager for connection lifecycle, TokenStore for atomic token usage checks, and related configuration via environment variables. Updated download flow to ensure tokens are single-use, and improved API robustness for batch operations. Updated dependencies to include redis and cachetools.
2025-12-26 18:47:46 +08:00
3088a9d548 Refactor JWT utilities and download token logic
Merged JWT utility functions into utils/JWT/__init__.py and removed utils/JWT/JWT.py. Refactored download token creation and verification to use new functions, replacing DownloadTokenManager with create_download_token and verify_download_token. Updated imports across the codebase to reflect the new JWT utility structure. Improved download file logic to use physical file storage path and added a dedicated response model for download tokens.
2025-12-26 17:47:51 +08:00
54784eea3b Update codebase and add coverage report
Removed an old run configuration, added a new coverage XML report, and updated multiple source files including main.py, middleware, models, routers, services, tests, and utility modules. Also updated pyproject.toml and the lock file. These changes likely include code improvements, test coverage updates, and dependency adjustments.
2025-12-26 14:56:08 +08:00
abd85e2290 Refactor auth and unify error handling in routers
Renamed AuthRequired/AdminRequired to auth_required/admin_required and updated all references. Replaced direct HTTPException usage with utils.http_exceptions for consistent error handling. Updated router endpoints to use new auth dependency and standardized not implemented responses. Cleaned up unused theme fields in SiteConfigResponse and improved site config endpoint. Minor type and import cleanups across routers and middleware.
2025-12-25 19:08:46 +08:00
44a8959aa5 feat: 更新验证码请求模型,添加 Google reCAPTCHA 和 Cloudflare Turnstile 验证功能
refactor: 修改用户状态字段类型,优化用户模型
fix: 修复启动服务的错误提示信息
refactor: 统一认证依赖,替换为 AuthRequired
docs: 添加用户会话刷新接口
2025-12-25 10:26:45 +08:00
16cec42181 feat: Implement file download token management and restructure file routes
- Added DownloadTokenManager for creating and verifying JWT download tokens.
- Introduced new download routes for creating download tokens and downloading files using tokens.
- Restructured file upload routes into a dedicated sub-router.
- Updated file upload session management with improved error handling and response structures.
- Created a new MCP (Microservice Communication Protocol) router with basic request and response models.
- Added base models for MCP requests and responses, including method enumeration.
2025-12-23 18:12:11 +08:00
446d219aca Refactor import statements for ResponseBase in API routers
- Updated import statements in the following files to import ResponseBase directly from models instead of models.response:
  - routers/api/v1/share/__init__.py
  - routers/api/v1/site/__init__.py
  - routers/api/v1/slave/__init__.py
  - routers/api/v1/tag/__init__.py
  - routers/api/v1/user/__init__.py
  - routers/api/v1/vas/__init__.py
  - routers/api/v1/webdav/__init__.py

Enhance user registration and related endpoints in user router

- Changed return type annotations from models.response.ResponseBase to models.ResponseBase in multiple functions.
- Updated return statements to reflect the new import structure.
- Improved documentation for clarity.

Add PhysicalFile model and storage service implementation

- Introduced PhysicalFile model to represent actual files on disk with reference counting logic.
- Created storage service module with local storage implementation, including file operations and error handling.
- Defined exceptions for storage operations to improve error handling.
- Implemented naming rule parser for generating file and directory names based on templates.

Update dependency management in uv.lock

- Added aiofiles version 25.1.0 to the project dependencies.
2025-12-23 12:20:06 +08:00
f93cb3eedb Add unit tests for models and services
- Implemented unit tests for Object model including folder and file creation, properties, and path retrieval.
- Added unit tests for Setting model covering creation, unique constraints, and type enumeration.
- Created unit tests for User model focusing on user creation, uniqueness, and group relationships.
- Developed unit tests for Login service to validate login functionality, including 2FA and token generation.
- Added utility tests for JWT creation and verification, ensuring token integrity and expiration handling.
- Implemented password utility tests for password generation, hashing, and TOTP verification.
2025-12-19 19:48:05 +08:00
51b6de921b feat: Implement API routers for user, tag, vas, webdav, and slave functionalities
- Added user authentication and registration endpoints with JWT support.
- Created tag management routes for creating and deleting tags.
- Implemented value-added service (VAS) endpoints for managing storage packs and orders.
- Developed WebDAV account management routes for creating, updating, and deleting accounts.
- Introduced slave router for handling file uploads, downloads, and aria2 task management.
- Enhanced JWT utility functions for token creation and secret key management.
- Established lifespan management for FastAPI application startup and shutdown processes.
- Integrated password handling utilities with Argon2 hashing and two-factor authentication support.
2025-12-19 18:04:34 +08:00
11b67bde6d feat: 更新存储策略相关逻辑,使用 UUID 替代 int 类型,优化响应模型 2025-12-19 17:32:26 +08:00
28401d6053 feat: 更新目录获取逻辑,确保路径以用户名开头并添加错误处理 2025-12-19 17:21:59 +08:00
922692b820 feat: 更新模型以支持 UUID,添加注册请求 DTO,重构用户注册逻辑 2025-12-19 16:32:49 +08:00
e031f3cc40 feat: 重构主题相关逻辑,移动 ThemeResponse 到 color.py,更新相关引用,优化目录路径处理 2025-12-19 15:35:34 +08:00
20753f1725 feat: 添加两步验证功能,重构相关逻辑,移除冗余代码 2025-12-19 14:30:13 +08:00
b7c5d5aec7 feat: 添加两步验证功能,优化用户登录逻辑,更新相关模型和依赖 2025-12-19 14:11:24 +08:00
89e837d91c feat: 重构模型和响应结构,优化用户和对象管理逻辑,添加 Dockerfile 2025-12-18 18:28:41 +08:00
68343c710b feat: 合并 File 和 Folder 模型为统一的 Object 模型,优化对象管理逻辑
refactor: 更新相关模型和路由以支持新对象模型,移除冗余代码
2025-12-18 17:18:40 +08:00
d271c81de7 feat: 更新用户组和选项模型,优化存储信息获取逻辑 2025-12-18 14:27:41 +08:00
a977f5b261 优化数据表结构 2025-12-18 12:17:17 +08:00
8b6e18f0e2 feat: 更新数据模型和API路由,优化用户信息获取及设置管理 2025-12-02 21:36:19 +08:00
b02a4638da feat: add database session dependency for FastAPI routes
- Introduced a new dependency in `middleware/dependencies.py` to provide an asynchronous database session using SQLModel.
- This dependency can be utilized in route functions to facilitate database operations.
2025-11-27 22:18:50 +08:00
1533d9e89c Refactor code structure for improved readability and maintainability 2025-11-27 20:56:48 +08:00
83276c8b95 优化用户登录逻辑,简化错误处理,更新密码哈希生成方式为Argon2 2025-11-01 19:41:19 +08:00
2a173c0566 添加Github登录,优化数据库模型 2025-09-01 00:21:06 +08:00
f3a5ae9c40 优化部分代码实现 2025-08-28 02:23:26 +08:00
9f93f6040b 完成部分Github登录回调 2025-08-27 13:49:17 +08:00
6f83022a79 新增获取用户信息 /api/user/me 2025-07-17 23:26:36 +08:00
e98c46f44a 用户登录 2025-07-17 19:33:48 +08:00
557a50f539 单元测试:新建用户与用户组 2025-07-14 15:13:05 +08:00
e011a1ea0e 完善 /api/site/config 路由,修复数据库无法二次启动 2025-07-02 00:42:54 +08:00
6094d8219e 路由与数据表优化 2025-06-20 22:26:28 +08:00
eb3d2843eb 完成部分API路由以及文档 2025-06-18 02:14:37 +08:00