From 2f310d8f2f3e5e4d3e4ee8702ecbbfa3671b80c2 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Thu, 29 Feb 2024 18:19:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E3=80=90=E6=9D=83=E9=99=90=E3=80=91?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9C=89=E5=BA=94=E7=94=A8=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=9D=83=E9=99=90=EF=BC=8C=E4=BD=86=E6=98=AF=E7=9C=8B=E4=B8=8D?= =?UTF-8?q?=E5=88=B0=E5=85=B6=E4=BB=96=E7=94=A8=E6=88=B7=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E7=9A=84apikey?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serializers/application_serializers.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/application/serializers/application_serializers.py b/apps/application/serializers/application_serializers.py index 58ff6d5be..953079b55 100644 --- a/apps/application/serializers/application_serializers.py +++ b/apps/application/serializers/application_serializers.py @@ -396,13 +396,20 @@ class ApplicationSerializer(serializers.Serializer): application_id = serializers.UUIDField(required=True) + def is_valid(self, *, raise_exception=False): + super().is_valid(raise_exception=True) + application_id = self.data.get("application_id") + application = QuerySet(Application).filter(id=application_id).first() + if application is None: + raise AppApiException(1001, "应用不存在") + def generate(self, with_valid=True): if with_valid: self.is_valid(raise_exception=True) - user_id = self.data.get("user_id") application_id = self.data.get("application_id") + application = QuerySet(Application).filter(id=application_id).first() secret_key = 'application-' + hashlib.md5(str(uuid.uuid1()).encode()).hexdigest() - application_api_key = ApplicationApiKey(id=uuid.uuid1(), secret_key=secret_key, user_id=user_id, + application_api_key = ApplicationApiKey(id=uuid.uuid1(), secret_key=secret_key, user_id=application.user_id, application_id=application_id) application_api_key.save() return ApplicationSerializer.ApplicationKeySerializerModel(application_api_key).data @@ -410,11 +417,10 @@ class ApplicationSerializer(serializers.Serializer): def list(self, with_valid=True): if with_valid: self.is_valid(raise_exception=True) - user_id = self.data.get("user_id") application_id = self.data.get("application_id") return [ApplicationSerializer.ApplicationKeySerializerModel(application_api_key).data for application_api_key in - QuerySet(ApplicationApiKey).filter(user_id=user_id, application_id=application_id)] + QuerySet(ApplicationApiKey).filter(application_id=application_id)] class Edit(serializers.Serializer): is_active = serializers.BooleanField(required=False)