Phase 3.1: OSS storage config management (MinIO/AliyunOSS/AWS S3)
Backend: - Add OSSStorageConfig model (models.py) - Create storage_admin.py API (9 endpoints): stats, CRUD, toggle, set-default, test connection - Register route /app/api/admin/storage in main.py - Create oss_storage_configs table in MySQL Frontend: - Add Storage.tsx admin page (713 lines) with stats, table, create/edit modal - Register /admin/storage route in App.tsx - Add nav item and icon in AdminLayout.tsx - Add 9 API methods in api/index.ts
This commit is contained in:
1 parent
5d1ad26874
commit
b2ba75a666
7 files changed
+2265
-468
No files matched your search
@@ -979,3 +979,22 @@ class ExternalKBService(Base):
|
||||
status = Column(String(20), default="disconnected")
|
||||
created_at = Column(DateTime, default=datetime.now)
|
||||
updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now)
|
||||
|
||||
class OSSStorageConfig(Base):
|
||||
__tablename__ = "oss_storage_configs"
|
||||
|
||||
id = Column(String(36), primary_key=True, default=gen_uuid)
|
||||
name = Column(String(200), nullable=False)
|
||||
provider = Column(String(20), nullable=False)
|
||||
endpoint = Column(String(500), nullable=False)
|
||||
access_key = Column(String(255), nullable=False)
|
||||
secret_key = Column(String(255), nullable=False)
|
||||
bucket = Column(String(200), nullable=False)
|
||||
region = Column(String(100), default="")
|
||||
base_path = Column(String(300), default="")
|
||||
is_default = Column(Boolean, default=False)
|
||||
is_enabled = Column(Boolean, default=True)
|
||||
status = Column(String(20), default="disconnected")
|
||||
config = Column(JSON, default=None)
|
||||
created_at = Column(DateTime, default=datetime.now)
|
||||
updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now)
|
||||
Reference in new issue
Block a user