feat: Implement Aliyun TTS backend integration and API key management
This commit is contained in:
@@ -103,6 +103,21 @@ def change_user_password(
|
||||
db.refresh(user)
|
||||
return user
|
||||
|
||||
def update_user_aliyun_key(
|
||||
db: Session,
|
||||
user_id: int,
|
||||
encrypted_api_key: str
|
||||
) -> Optional[User]:
|
||||
user = get_user_by_id(db, user_id)
|
||||
if not user:
|
||||
return None
|
||||
|
||||
user.aliyun_api_key = encrypted_api_key
|
||||
user.updated_at = datetime.utcnow()
|
||||
db.commit()
|
||||
db.refresh(user)
|
||||
return user
|
||||
|
||||
def create_job(db: Session, user_id: int, job_type: str, input_data: Dict[str, Any]) -> Job:
|
||||
job = Job(
|
||||
user_id=user_id,
|
||||
|
||||
@@ -20,6 +20,7 @@ class User(Base):
|
||||
hashed_password = Column(String(255), nullable=False)
|
||||
is_active = Column(Boolean, default=True, nullable=False)
|
||||
is_superuser = Column(Boolean, default=False, nullable=False)
|
||||
aliyun_api_key = Column(Text, nullable=True)
|
||||
created_at = Column(DateTime, default=datetime.utcnow, nullable=False)
|
||||
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False)
|
||||
|
||||
@@ -33,6 +34,7 @@ class Job(Base):
|
||||
user_id = Column(Integer, ForeignKey("users.id"), nullable=False, index=True)
|
||||
job_type = Column(String(50), nullable=False)
|
||||
status = Column(String(50), default="pending", nullable=False, index=True)
|
||||
backend_type = Column(String(20), default="local", nullable=False)
|
||||
input_data = Column(Text, nullable=True)
|
||||
input_params = Column(JSON, nullable=True)
|
||||
output_path = Column(String(500), nullable=True)
|
||||
|
||||
Reference in New Issue
Block a user