mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
feat: add authentication fields to ApplicationAccessToken and update related serializers
This commit is contained in:
parent
939da5b94b
commit
b3698b30ca
|
|
@ -0,0 +1,23 @@
|
|||
# Generated by Django 5.2.3 on 2025-07-14 09:55
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('application', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='applicationaccesstoken',
|
||||
name='authentication',
|
||||
field=models.BooleanField(default=False, verbose_name='是否需要认证'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='applicationaccesstoken',
|
||||
name='authentication_value',
|
||||
field=models.JSONField(default=dict, verbose_name='认证的值'),
|
||||
),
|
||||
]
|
||||
|
|
@ -27,6 +27,8 @@ class ApplicationAccessToken(AppModelMixin):
|
|||
, default=list)
|
||||
show_source = models.BooleanField(default=False, verbose_name="是否显示知识来源")
|
||||
show_exec = models.BooleanField(default=False, verbose_name="是否显示执行详情")
|
||||
authentication = models.BooleanField(default=False, verbose_name="是否需要认证")
|
||||
authentication_value = models.JSONField(verbose_name="认证的值", default=dict)
|
||||
|
||||
language = models.CharField(max_length=10, verbose_name="语言", default=None, null=True)
|
||||
|
||||
|
|
|
|||
|
|
@ -79,18 +79,16 @@ class AccessTokenSerializer(serializers.Serializer):
|
|||
application_access_token.language = instance.get('language')
|
||||
if 'language' not in instance or instance.get('language') is None:
|
||||
application_access_token.language = None
|
||||
|
||||
application_access_token.save()
|
||||
application_setting_model = DatabaseModelManage.get_model('application_setting')
|
||||
license_is_valid = cache.get(Cache_Version.SYSTEM.get_key(key='license_is_valid'),
|
||||
version=Cache_Version.SYSTEM.get_version())
|
||||
if application_setting_model is not None and license_is_valid:
|
||||
application_setting, _ = application_setting_model.objects.get_or_create(
|
||||
application_id=self.data.get('application_id'))
|
||||
if application_setting is not None and instance.get('authentication') is not None and instance.get(
|
||||
if license_is_valid:
|
||||
if instance.get('authentication') is not None and instance.get(
|
||||
'authentication_value') is not None:
|
||||
application_setting.authentication = instance.get('authentication')
|
||||
application_setting.authentication_value = instance.get('authentication_value')
|
||||
application_setting.save()
|
||||
application_access_token.authentication = instance.get('authentication')
|
||||
application_access_token.authentication_value = instance.get('authentication_value')
|
||||
application_access_token.save()
|
||||
return self.one(with_valid=False)
|
||||
|
||||
def one(self, with_valid=True):
|
||||
|
|
@ -105,14 +103,12 @@ class AccessTokenSerializer(serializers.Serializer):
|
|||
str(uuid.uuid7()).encode()).hexdigest()[
|
||||
8:24], is_active=True)
|
||||
application_access_token.save()
|
||||
application_setting_model = DatabaseModelManage.get_model('application_setting')
|
||||
other = {}
|
||||
if application_setting_model is not None:
|
||||
application_setting, _ = application_setting_model.objects.get_or_create(
|
||||
application_id=self.data.get('application_id'))
|
||||
if application_setting is not None:
|
||||
other = {'authentication': application_setting.authentication,
|
||||
'authentication_value': application_setting.authentication_value}
|
||||
license_is_valid = cache.get(Cache_Version.SYSTEM.get_key(key='license_is_valid'),
|
||||
version=Cache_Version.SYSTEM.get_version())
|
||||
if license_is_valid:
|
||||
other = {'authentication': application_access_token.authentication,
|
||||
'authentication_value': application_access_token.authentication_value}
|
||||
|
||||
return {'application_id': application_access_token.application_id,
|
||||
'access_token': application_access_token.access_token,
|
||||
|
|
|
|||
Loading…
Reference in New Issue