Commit Graph

27 Commits

Author SHA1 Message Date
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