Skip to content

Commit b3698b3

Browse files
committed
feat: add authentication fields to ApplicationAccessToken and update related serializers
1 parent 939da5b commit b3698b3

File tree

3 files changed

+36
-15
lines changed

3 files changed

+36
-15
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Generated by Django 5.2.3 on 2025-07-14 09:55
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('application', '0001_initial'),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name='applicationaccesstoken',
15+
name='authentication',
16+
field=models.BooleanField(default=False, verbose_name='是否需要认证'),
17+
),
18+
migrations.AddField(
19+
model_name='applicationaccesstoken',
20+
name='authentication_value',
21+
field=models.JSONField(default=dict, verbose_name='认证的值'),
22+
),
23+
]

apps/application/models/application_access_token.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ class ApplicationAccessToken(AppModelMixin):
2727
, default=list)
2828
show_source = models.BooleanField(default=False, verbose_name="是否显示知识来源")
2929
show_exec = models.BooleanField(default=False, verbose_name="是否显示执行详情")
30+
authentication = models.BooleanField(default=False, verbose_name="是否需要认证")
31+
authentication_value = models.JSONField(verbose_name="认证的值", default=dict)
3032

3133
language = models.CharField(max_length=10, verbose_name="语言", default=None, null=True)
3234

apps/application/serializers/application_access_token.py

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -79,18 +79,16 @@ def edit(self, instance):
7979
application_access_token.language = instance.get('language')
8080
if 'language' not in instance or instance.get('language') is None:
8181
application_access_token.language = None
82+
8283
application_access_token.save()
83-
application_setting_model = DatabaseModelManage.get_model('application_setting')
8484
license_is_valid = cache.get(Cache_Version.SYSTEM.get_key(key='license_is_valid'),
8585
version=Cache_Version.SYSTEM.get_version())
86-
if application_setting_model is not None and license_is_valid:
87-
application_setting, _ = application_setting_model.objects.get_or_create(
88-
application_id=self.data.get('application_id'))
89-
if application_setting is not None and instance.get('authentication') is not None and instance.get(
86+
if license_is_valid:
87+
if instance.get('authentication') is not None and instance.get(
9088
'authentication_value') is not None:
91-
application_setting.authentication = instance.get('authentication')
92-
application_setting.authentication_value = instance.get('authentication_value')
93-
application_setting.save()
89+
application_access_token.authentication = instance.get('authentication')
90+
application_access_token.authentication_value = instance.get('authentication_value')
91+
application_access_token.save()
9492
return self.one(with_valid=False)
9593

9694
def one(self, with_valid=True):
@@ -105,14 +103,12 @@ def one(self, with_valid=True):
105103
str(uuid.uuid7()).encode()).hexdigest()[
106104
8:24], is_active=True)
107105
application_access_token.save()
108-
application_setting_model = DatabaseModelManage.get_model('application_setting')
109106
other = {}
110-
if application_setting_model is not None:
111-
application_setting, _ = application_setting_model.objects.get_or_create(
112-
application_id=self.data.get('application_id'))
113-
if application_setting is not None:
114-
other = {'authentication': application_setting.authentication,
115-
'authentication_value': application_setting.authentication_value}
107+
license_is_valid = cache.get(Cache_Version.SYSTEM.get_key(key='license_is_valid'),
108+
version=Cache_Version.SYSTEM.get_version())
109+
if license_is_valid:
110+
other = {'authentication': application_access_token.authentication,
111+
'authentication_value': application_access_token.authentication_value}
116112

117113
return {'application_id': application_access_token.application_id,
118114
'access_token': application_access_token.access_token,

0 commit comments

Comments
 (0)