11from django .db .models import QuerySet
2+ from django .utils .translation import gettext_lazy as _
23from drf_spectacular .utils import extend_schema
34from rest_framework .request import Request
45from rest_framework .views import APIView
5- from django .utils .translation import gettext_lazy as _
66
7- from application .api .application_api_key import ApplicationKeyCreateAPI
7+ from application .api .application_api_key import ApplicationKeyAPI
88from application .models import ApplicationApiKey
99from application .serializers .application_api_key import ApplicationKeySerializer
1010from common .auth import TokenAuth
1111from common .auth .authentication import has_permissions
1212from common .constants .permission_constants import PermissionConstants
1313from common .log .log import log
14- from common .result import result , success
14+ from common .result import result , success , DefaultResultSerializer
1515
1616
1717def get_application_operation_object (application_api_key_id ):
@@ -31,7 +31,9 @@ class ApplicationKey(APIView):
3131 description = _ ('Create application ApiKey' ),
3232 summary = _ ('Create application ApiKey' ),
3333 operation_id = _ ('Create application ApiKey' ), # type: ignore
34- parameters = ApplicationKeyCreateAPI .get_parameters (),
34+ parameters = ApplicationKeyAPI .get_parameters (),
35+ request = None ,
36+ responses = ApplicationKeyAPI .get_response (),
3537 tags = [_ ('Application Api Key' )] # type: ignore
3638 )
3739 @log (menu = 'Application' , operate = "Add ApiKey" ,
@@ -47,26 +49,50 @@ def post(self, request: Request, workspace_id: str, application_id: str):
4749 description = _ ('GET application ApiKey List' ),
4850 summary = _ ('Create application ApiKey List' ),
4951 operation_id = _ ('Create application ApiKey List' ), # type: ignore
50- parameters = ApplicationKeyCreateAPI .get_parameters (),
52+ parameters = ApplicationKeyAPI .get_parameters (),
53+ responses = ApplicationKeyAPI .List .get_response (),
5154 tags = [_ ('Application Api Key' )] # type: ignore
5255 )
5356 @has_permissions (PermissionConstants .APPLICATION_OVERVIEW_API_KEY .get_workspace_application_permission ())
5457 def get (self , request : Request , workspace_id : str , application_id : str ):
55- return result , success (ApplicationKeySerializer (
56- data = {'application_id' : application_id , 'user_id' : request . user . id ,
58+ return result . success (ApplicationKeySerializer (
59+ data = {'application_id' : application_id ,
5760 'workspace_id' : workspace_id }).list ())
5861
5962 class Operate (APIView ):
6063 authentication_classes = [TokenAuth ]
6164
6265 @extend_schema (
63- methods = ['GET' ],
64- description = _ ('GET application ApiKey List' ),
65- summary = _ ('Create application ApiKey List' ),
66- operation_id = _ ('Create application ApiKey List' ), # type: ignore
67- parameters = ApplicationKeyCreateAPI .get_parameters (),
66+ methods = ['PUT' ],
67+ description = _ ('Modify application API_KEY' ),
68+ summary = _ ('Modify application API_KEY' ),
69+ operation_id = _ ('Modify application API_KEY' ), # type: ignore
70+ parameters = ApplicationKeyAPI .Operate .get_parameters (),
71+ request = ApplicationKeyAPI .Operate .get_request (),
72+ responses = DefaultResultSerializer ,
73+ tags = [_ ('Application Api Key' )] # type: ignore
74+ )
75+ @has_permissions (PermissionConstants .APPLICATION_OVERVIEW_API_KEY .get_workspace_application_permission ())
76+ def put (self , request : Request , workspace_id : str , application_id : str , api_key_id : str ):
77+ return result .success (
78+ ApplicationKeySerializer .Operate (
79+ data = {'workspace_id' : workspace_id , 'application_id' : application_id ,
80+ 'api_key_id' : api_key_id }).edit (
81+ request .data ))
82+
83+ @extend_schema (
84+ methods = ['DELETE' ],
85+ description = _ ('Delete Application API_KEY' ),
86+ summary = _ ('Delete Application API_KEY' ),
87+ operation_id = _ ('Delete Application API_KEY' ), # type: ignore
88+ parameters = ApplicationKeyAPI .Operate .get_parameters (),
89+ request = ApplicationKeyAPI .Operate .get_request (),
90+ responses = DefaultResultSerializer ,
6891 tags = [_ ('Application Api Key' )] # type: ignore
6992 )
7093 @has_permissions (PermissionConstants .APPLICATION_OVERVIEW_API_KEY .get_workspace_application_permission ())
71- def put (self , request : Request , application_id : str , workspace_id : str ):
72- return result .success (ApplicationKeySerializer .Operate ())
94+ def delete (self , request : Request , workspace_id : str , application_id : str , api_key_id : str ):
95+ return result .success (
96+ ApplicationKeySerializer .Operate (
97+ data = {'workspace_id' : workspace_id , 'application_id' : application_id ,
98+ 'api_key_id' : api_key_id }).delete ())
0 commit comments