feat: migrate ORM base to sqlmodel-ext, add file viewers and WOPI integration
All checks were successful
Test / test (push) Successful in 1m45s

- Migrate SQLModel base classes, mixins, and database management to
  external sqlmodel-ext package; remove sqlmodels/base/, sqlmodels/mixin/,
  and sqlmodels/database.py
- Add file viewer/editor system with WOPI protocol support for
  collaborative editing (OnlyOffice, Collabora)
- Add enterprise edition license verification module (ee/)
- Add Dockerfile multi-stage build with Cython compilation support
- Add new dependencies: sqlmodel-ext, cryptography, whatthepatch

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-14 14:23:17 +08:00
parent 53b757de7a
commit ccadfe57cd
81 changed files with 5106 additions and 4837 deletions

30
ee/service/__init__.py Normal file
View File

@@ -0,0 +1,30 @@
"""
EE 许可证服务模块
提供许可证加载、验证和缓存功能。
"""
from datetime import datetime
from sqlmodel_ext import SQLModelBase
class LicensePayload(SQLModelBase):
"""许可证载荷RSA 验签后的明文数据)"""
domain: str
"""授权域名"""
expires_at: datetime
"""过期时间UTC"""
max_users: int
"""最大用户数0 = 无限制)"""
features: list[str]
"""已授权的功能列表"""
issued_at: datetime
"""签发时间UTC"""
from .license_service import get_cached_license, load_and_validate_license