From fc2d8e6b3d32a8990283470d8e0e4c9bc9824adc Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Thu, 20 Aug 2026 17:17:35 +0800 Subject: [PATCH] feat: add enable_knowledge_base_api field to Application model and update related serializers --- apps/portal/migrations/0001_initial.py | 49 ++++++++++++++++---------- apps/portal/models/portal.py | 2 ++ apps/portal/serializers/portal.py | 3 ++ 3 files changed, 36 insertions(+), 18 deletions(-) diff --git a/apps/portal/migrations/0001_initial.py b/apps/portal/migrations/0001_initial.py index d44df90c6ba..c7692574893 100644 --- a/apps/portal/migrations/0001_initial.py +++ b/apps/portal/migrations/0001_initial.py @@ -3,6 +3,7 @@ import uuid_utils.compat from django.db import migrations, models + def create_default_portal(apps, schema_editor): Portal = apps.get_model("portal", "Portal") @@ -18,33 +19,45 @@ def create_default_portal(apps, schema_editor): cors_config={}, ) -class Migration(migrations.Migration): +class Migration(migrations.Migration): initial = True - dependencies = [ - ] + dependencies = [] operations = [ migrations.CreateModel( - name='Portal', + name="Portal", fields=[ - ('id', models.UUIDField(default=uuid_utils.compat.uuid7, editable=False, primary_key=True, serialize=False, verbose_name='主键id')), - ('create_time', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='创建时间')), - ('update_time', models.DateTimeField(auto_now=True, db_index=True, verbose_name='修改时间')), - ('name', models.CharField(default='智能体门户', max_length=64, verbose_name='门户名称')), - ('description', models.TextField(blank=True, max_length=256, null=True, verbose_name='门户描述')), - ('logo', models.CharField(blank=True, max_length=512, null=True, verbose_name='门户Logo地址')), - ('tab_logo', models.CharField(blank=True, max_length=512, null=True, verbose_name='浏览器Tab Logo地址')), - ('enable_public_access', models.BooleanField(default=True, verbose_name='是否开启公开访问')), - ('enable_api', models.BooleanField(default=True, verbose_name='是否开启API服务')), - ('enable_auth', models.BooleanField(default=False, verbose_name='是否开启身份认证')), - ('auth_config', models.JSONField(blank=True, default=dict, verbose_name='身份认证配置')), - ('enable_cors', models.BooleanField(default=False, verbose_name='是否开启跨域设置')), - ('cors_config', models.JSONField(blank=True, default=dict, verbose_name='跨域配置')), + ( + "id", + models.UUIDField( + default=uuid_utils.compat.uuid7, + editable=False, + primary_key=True, + serialize=False, + verbose_name="主键id", + ), + ), + ("create_time", models.DateTimeField(auto_now_add=True, db_index=True, verbose_name="创建时间")), + ("update_time", models.DateTimeField(auto_now=True, db_index=True, verbose_name="修改时间")), + ("name", models.CharField(default="智能体门户", max_length=64, verbose_name="门户名称")), + ("description", models.TextField(blank=True, max_length=256, null=True, verbose_name="门户描述")), + ("logo", models.CharField(blank=True, max_length=512, null=True, verbose_name="门户Logo地址")), + ( + "tab_logo", + models.CharField(blank=True, max_length=512, null=True, verbose_name="浏览器Tab Logo地址"), + ), + ("enable_public_access", models.BooleanField(default=True, verbose_name="是否开启公开访问")), + ("enable_api", models.BooleanField(default=True, verbose_name="是否开启API服务")), + ("enable_knowledge_base_api", models.BooleanField(default=True, verbose_name="是否开启知识库API")), + ("enable_auth", models.BooleanField(default=False, verbose_name="是否开启身份认证")), + ("auth_config", models.JSONField(blank=True, default=dict, verbose_name="身份认证配置")), + ("enable_cors", models.BooleanField(default=False, verbose_name="是否开启跨域设置")), + ("cors_config", models.JSONField(blank=True, default=dict, verbose_name="跨域配置")), ], options={ - 'db_table': 'portal', + "db_table": "portal", }, ), migrations.RunPython( diff --git a/apps/portal/models/portal.py b/apps/portal/models/portal.py index a6436b05ecc..659ebcfb4e7 100644 --- a/apps/portal/models/portal.py +++ b/apps/portal/models/portal.py @@ -25,6 +25,8 @@ class Portal(AppModelMixin): # API服务配置 enable_api = models.BooleanField(default=True, verbose_name="是否开启API服务") + enable_knowledge_base_api = models.BooleanField(default=True, verbose_name="是否开启知识库API") + # 身份认证配置 enable_auth = models.BooleanField(default=False, verbose_name="是否开启身份认证") diff --git a/apps/portal/serializers/portal.py b/apps/portal/serializers/portal.py index 61aa0b7fc0b..ee11bfdd39d 100644 --- a/apps/portal/serializers/portal.py +++ b/apps/portal/serializers/portal.py @@ -51,6 +51,9 @@ class PortalSerializer(serializers.Serializer): required=False, label=_("enable public access"), help_text=_("enable public access") ) enable_api = serializers.BooleanField(required=False, label=_("enable api"), help_text=_("enable api")) + enable_knowledge_base_api = serializers.BooleanField( + required=False, label=_("enable knowledge base api"), help_text=_("enable knowledge base api") + ) enable_auth = serializers.BooleanField(required=False, label=_("enable auth"), help_text=_("enable auth")) auth_config = serializers.JSONField(required=False, label=_("auth config"), help_text=_("auth config")) enable_cors = serializers.BooleanField(required=False, label=_("enable cors"), help_text=_("enable cors"))