feat(model): add validation for custom disclaimer length (#10287)

This commit is contained in:
-LAN- 2024-11-05 14:40:57 +08:00 committed by GitHub
parent 08c731fd84
commit 249b897872
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1298,7 +1298,7 @@ class Site(db.Model):
privacy_policy = db.Column(db.String(255))
show_workflow_steps = db.Column(db.Boolean, nullable=False, server_default=db.text("true"))
use_icon_as_answer_icon = db.Column(db.Boolean, nullable=False, server_default=db.text("false"))
custom_disclaimer: Mapped[str] = mapped_column(sa.TEXT, default="")
_custom_disclaimer: Mapped[str] = mapped_column("custom_disclaimer", sa.TEXT, default="")
customize_domain = db.Column(db.String(255))
customize_token_strategy = db.Column(db.String(255), nullable=False)
prompt_public = db.Column(db.Boolean, nullable=False, server_default=db.text("false"))
@ -1309,6 +1309,16 @@ class Site(db.Model):
updated_at = db.Column(db.DateTime, nullable=False, server_default=db.text("CURRENT_TIMESTAMP(0)"))
code = db.Column(db.String(255))
@property
def custom_disclaimer(self):
return self._custom_disclaimer
@custom_disclaimer.setter
def custom_disclaimer(self, value: str):
if len(value) > 512:
raise ValueError("Custom disclaimer cannot exceed 512 characters.")
self._custom_disclaimer = value
@staticmethod
def generate_code(n):
while True: