mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-25 17:22:55 +00:00
feat: add response body schemas for various API endpoints
This commit is contained in:
parent
b57455d0ee
commit
847755b1c2
|
|
@ -38,6 +38,15 @@ class ApplicationApi(ApiMixin):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_response_body_api():
|
||||||
|
return openapi.Schema(
|
||||||
|
type=openapi.TYPE_STRING,
|
||||||
|
title=_("Application authentication token"),
|
||||||
|
description=_("Application authentication token"),
|
||||||
|
default="token"
|
||||||
|
)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_response_body_api():
|
def get_response_body_api():
|
||||||
return openapi.Schema(
|
return openapi.Schema(
|
||||||
|
|
@ -133,6 +142,27 @@ class ApplicationApi(ApiMixin):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_response_body_api():
|
||||||
|
return openapi.Schema(
|
||||||
|
type=openapi.TYPE_OBJECT,
|
||||||
|
properties={
|
||||||
|
'id': openapi.Schema(type=openapi.TYPE_STRING, title=_("Primary key id"),
|
||||||
|
description=_("Primary key id")),
|
||||||
|
'secret_key': openapi.Schema(type=openapi.TYPE_STRING, title=_("Secret key"),
|
||||||
|
description=_("Secret key")),
|
||||||
|
'is_active': openapi.Schema(type=openapi.TYPE_BOOLEAN, title=_("Is activation"),
|
||||||
|
description=_("Is activation")),
|
||||||
|
'application_id': openapi.Schema(type=openapi.TYPE_STRING, title=_("Application ID"),
|
||||||
|
description=_("Application ID")),
|
||||||
|
'allow_cross_domain': openapi.Schema(type=openapi.TYPE_BOOLEAN,
|
||||||
|
title=_("Is cross-domain allowed"),
|
||||||
|
description=_("Is cross-domain allowed")),
|
||||||
|
'cross_domain_list': openapi.Schema(type=openapi.TYPE_ARRAY, title=_('Cross-domain list'),
|
||||||
|
items=openapi.Schema(type=openapi.TYPE_STRING))
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
class AccessToken(ApiMixin):
|
class AccessToken(ApiMixin):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_request_params_api():
|
def get_request_params_api():
|
||||||
|
|
@ -171,6 +201,37 @@ class ApplicationApi(ApiMixin):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_response_body_api():
|
||||||
|
return openapi.Schema(
|
||||||
|
type=openapi.TYPE_OBJECT,
|
||||||
|
required=[],
|
||||||
|
properties={
|
||||||
|
'id': openapi.Schema(type=openapi.TYPE_STRING, title=_("Primary key id"),
|
||||||
|
description=_("Primary key id")),
|
||||||
|
'access_token': openapi.Schema(type=openapi.TYPE_STRING, title=_("Access Token"),
|
||||||
|
description=_("Access Token")),
|
||||||
|
'access_token_reset': openapi.Schema(type=openapi.TYPE_BOOLEAN, title=_("Reset Token"),
|
||||||
|
description=_("Reset Token")),
|
||||||
|
|
||||||
|
'is_active': openapi.Schema(type=openapi.TYPE_BOOLEAN, title=_("Is activation"),
|
||||||
|
description=_("Is activation")),
|
||||||
|
'access_num': openapi.Schema(type=openapi.TYPE_NUMBER, title=_("Number of visits"),
|
||||||
|
description=_("Number of visits")),
|
||||||
|
'white_active': openapi.Schema(type=openapi.TYPE_BOOLEAN, title=_("Whether to enable whitelist"),
|
||||||
|
description=_("Whether to enable whitelist")),
|
||||||
|
'white_list': openapi.Schema(type=openapi.TYPE_ARRAY,
|
||||||
|
items=openapi.Schema(type=openapi.TYPE_STRING), title=_("Whitelist"),
|
||||||
|
description=_("Whitelist")),
|
||||||
|
'show_source': openapi.Schema(type=openapi.TYPE_BOOLEAN,
|
||||||
|
title=_("Whether to display knowledge sources"),
|
||||||
|
description=_("Whether to display knowledge sources")),
|
||||||
|
'language': openapi.Schema(type=openapi.TYPE_STRING,
|
||||||
|
title=_("language"),
|
||||||
|
description=_("language"))
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
class Edit(ApiMixin):
|
class Edit(ApiMixin):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_request_body_api():
|
def get_request_body_api():
|
||||||
|
|
@ -367,6 +428,56 @@ class ApplicationApi(ApiMixin):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_response_body_api():
|
||||||
|
return openapi.Schema(
|
||||||
|
type=openapi.TYPE_OBJECT,
|
||||||
|
required=['id', 'name', 'desc', 'model_id', 'dialogue_number', 'dataset_setting', 'model_setting',
|
||||||
|
'problem_optimization', 'stt_model_enable', 'stt_model_enable', 'tts_type',
|
||||||
|
'work_flow'],
|
||||||
|
properties={
|
||||||
|
'id': openapi.Schema(type=openapi.TYPE_STRING, title=_("Primary key id"),
|
||||||
|
description=_("Primary key id")),
|
||||||
|
'name': openapi.Schema(type=openapi.TYPE_STRING, title=_("Application Name"),
|
||||||
|
description=_("Application Name")),
|
||||||
|
'desc': openapi.Schema(type=openapi.TYPE_STRING, title=_("Application Description"),
|
||||||
|
description=_("Application Description")),
|
||||||
|
'model_id': openapi.Schema(type=openapi.TYPE_STRING, title=_("Model id"),
|
||||||
|
description=_("Model id")),
|
||||||
|
"dialogue_number": openapi.Schema(type=openapi.TYPE_NUMBER,
|
||||||
|
title=_("Number of multi-round conversations"),
|
||||||
|
description=_("Number of multi-round conversations")),
|
||||||
|
'prologue': openapi.Schema(type=openapi.TYPE_STRING, title=_("Opening remarks"),
|
||||||
|
description=_("Opening remarks")),
|
||||||
|
'dataset_id_list': openapi.Schema(type=openapi.TYPE_ARRAY,
|
||||||
|
items=openapi.Schema(type=openapi.TYPE_STRING),
|
||||||
|
title=_("List of associated knowledge base IDs"),
|
||||||
|
description=_("List of associated knowledge base IDs")),
|
||||||
|
'dataset_setting': ApplicationApi.DatasetSetting.get_request_body_api(),
|
||||||
|
'model_setting': ApplicationApi.ModelSetting.get_request_body_api(),
|
||||||
|
'problem_optimization': openapi.Schema(type=openapi.TYPE_BOOLEAN, title=_("Problem Optimization"),
|
||||||
|
description=_("Problem Optimization"), default=True),
|
||||||
|
'type': openapi.Schema(type=openapi.TYPE_STRING, title=_("Application Type"),
|
||||||
|
description=_("Application Type SIMPLE | WORK_FLOW")),
|
||||||
|
'problem_optimization_prompt': openapi.Schema(type=openapi.TYPE_STRING,
|
||||||
|
title=_('Question optimization tips'),
|
||||||
|
description=_("Question optimization tips"),
|
||||||
|
default=_(
|
||||||
|
"() contains the user's question. Answer the guessed user's question based on the context ({question}) Requirement: Output a complete question and put it in the <data></data> tag")),
|
||||||
|
'tts_model_id': openapi.Schema(type=openapi.TYPE_STRING, title=_("Text-to-speech model ID"),
|
||||||
|
description=_("Text-to-speech model ID")),
|
||||||
|
'stt_model_id': openapi.Schema(type=openapi.TYPE_STRING, title=_("Speech-to-text model id"),
|
||||||
|
description=_("Speech-to-text model id")),
|
||||||
|
'stt_model_enable': openapi.Schema(type=openapi.TYPE_STRING, title=_("Is speech-to-text enabled"),
|
||||||
|
description=_("Is speech-to-text enabled")),
|
||||||
|
'tts_model_enable': openapi.Schema(type=openapi.TYPE_STRING, title=_("Is text-to-speech enabled"),
|
||||||
|
description=_("Is text-to-speech enabled")),
|
||||||
|
'tts_type': openapi.Schema(type=openapi.TYPE_STRING, title=_("Text-to-speech type"),
|
||||||
|
description=_("Text-to-speech type")),
|
||||||
|
'work_flow': ApplicationApi.WorkFlow.get_request_body_api(),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
class Query(ApiMixin):
|
class Query(ApiMixin):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_request_params_api():
|
def get_request_params_api():
|
||||||
|
|
|
||||||
|
|
@ -319,6 +319,15 @@ class ChatApi(ApiMixin):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_response_body_api():
|
||||||
|
return openapi.Schema(
|
||||||
|
type=openapi.TYPE_STRING,
|
||||||
|
title=_("Conversation ID"),
|
||||||
|
description=_("Conversation ID"),
|
||||||
|
default="chat_id"
|
||||||
|
)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_request_params_api():
|
def get_request_params_api():
|
||||||
return [openapi.Parameter(name='application_id',
|
return [openapi.Parameter(name='application_id',
|
||||||
|
|
|
||||||
|
|
@ -373,7 +373,8 @@ class Application(APIView):
|
||||||
operation_id=_("Modify application API_KEY"),
|
operation_id=_("Modify application API_KEY"),
|
||||||
tags=[_('Application/API_KEY')],
|
tags=[_('Application/API_KEY')],
|
||||||
manual_parameters=ApplicationApi.ApiKey.Operate.get_request_params_api(),
|
manual_parameters=ApplicationApi.ApiKey.Operate.get_request_params_api(),
|
||||||
request_body=ApplicationApi.ApiKey.Operate.get_request_body_api())
|
request_body=ApplicationApi.ApiKey.Operate.get_request_body_api(),
|
||||||
|
responses=result.get_api_response(ApplicationApi.ApiKey.Operate.get_response_body_api()))
|
||||||
@has_permissions(ViewPermission(
|
@has_permissions(ViewPermission(
|
||||||
[RoleConstants.ADMIN, RoleConstants.USER],
|
[RoleConstants.ADMIN, RoleConstants.USER],
|
||||||
[lambda r, keywords: Permission(group=Group.APPLICATION, operate=Operate.MANAGE,
|
[lambda r, keywords: Permission(group=Group.APPLICATION, operate=Operate.MANAGE,
|
||||||
|
|
@ -415,7 +416,8 @@ class Application(APIView):
|
||||||
operation_id=_("Modify Application AccessToken"),
|
operation_id=_("Modify Application AccessToken"),
|
||||||
tags=[_('Application/Public Access')],
|
tags=[_('Application/Public Access')],
|
||||||
manual_parameters=ApplicationApi.AccessToken.get_request_params_api(),
|
manual_parameters=ApplicationApi.AccessToken.get_request_params_api(),
|
||||||
request_body=ApplicationApi.AccessToken.get_request_body_api())
|
request_body=ApplicationApi.AccessToken.get_request_body_api(),
|
||||||
|
responses=result.get_api_response(ApplicationApi.AccessToken.get_response_body_api()))
|
||||||
@has_permissions(ViewPermission(
|
@has_permissions(ViewPermission(
|
||||||
[RoleConstants.ADMIN, RoleConstants.USER],
|
[RoleConstants.ADMIN, RoleConstants.USER],
|
||||||
[lambda r, keywords: Permission(group=Group.APPLICATION, operate=Operate.MANAGE,
|
[lambda r, keywords: Permission(group=Group.APPLICATION, operate=Operate.MANAGE,
|
||||||
|
|
@ -455,6 +457,7 @@ class Application(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_("Application Certification"),
|
@swagger_auto_schema(operation_summary=_("Application Certification"),
|
||||||
operation_id=_("Application Certification"),
|
operation_id=_("Application Certification"),
|
||||||
request_body=ApplicationApi.Authentication.get_request_body_api(),
|
request_body=ApplicationApi.Authentication.get_request_body_api(),
|
||||||
|
responses=result.get_api_response(ApplicationApi.Authentication.get_response_body_api()),
|
||||||
tags=[_("Application/Certification")],
|
tags=[_("Application/Certification")],
|
||||||
security=[])
|
security=[])
|
||||||
def post(self, request: Request):
|
def post(self, request: Request):
|
||||||
|
|
@ -472,6 +475,7 @@ class Application(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_("Create an application"),
|
@swagger_auto_schema(operation_summary=_("Create an application"),
|
||||||
operation_id=_("Create an application"),
|
operation_id=_("Create an application"),
|
||||||
request_body=ApplicationApi.Create.get_request_body_api(),
|
request_body=ApplicationApi.Create.get_request_body_api(),
|
||||||
|
responses=result.get_api_response(ApplicationApi.Create.get_response_body_api()),
|
||||||
tags=[_('Application')])
|
tags=[_('Application')])
|
||||||
@has_permissions(PermissionConstants.APPLICATION_CREATE, compare=CompareConstants.AND)
|
@has_permissions(PermissionConstants.APPLICATION_CREATE, compare=CompareConstants.AND)
|
||||||
@log(menu='Application', operate="Create an application",
|
@log(menu='Application', operate="Create an application",
|
||||||
|
|
|
||||||
|
|
@ -94,6 +94,7 @@ class ChatView(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_("Get the workflow temporary session id"),
|
@swagger_auto_schema(operation_summary=_("Get the workflow temporary session id"),
|
||||||
operation_id=_("Get the workflow temporary session id"),
|
operation_id=_("Get the workflow temporary session id"),
|
||||||
request_body=ChatApi.OpenWorkFlowTemp.get_request_body_api(),
|
request_body=ChatApi.OpenWorkFlowTemp.get_request_body_api(),
|
||||||
|
responses=result.get_api_response(ChatApi.OpenTempChat.get_response_body_api()),
|
||||||
tags=[_("Application/Chat")])
|
tags=[_("Application/Chat")])
|
||||||
def post(self, request: Request):
|
def post(self, request: Request):
|
||||||
return result.success(ChatSerializers.OpenWorkFlowChat(
|
return result.success(ChatSerializers.OpenWorkFlowChat(
|
||||||
|
|
@ -106,6 +107,7 @@ class ChatView(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_("Get a temporary session id"),
|
@swagger_auto_schema(operation_summary=_("Get a temporary session id"),
|
||||||
operation_id=_("Get a temporary session id"),
|
operation_id=_("Get a temporary session id"),
|
||||||
request_body=ChatApi.OpenTempChat.get_request_body_api(),
|
request_body=ChatApi.OpenTempChat.get_request_body_api(),
|
||||||
|
responses=result.get_api_response(ChatApi.OpenTempChat.get_response_body_api()),
|
||||||
tags=[_("Application/Chat")])
|
tags=[_("Application/Chat")])
|
||||||
@has_permissions(RoleConstants.ADMIN, RoleConstants.USER)
|
@has_permissions(RoleConstants.ADMIN, RoleConstants.USER)
|
||||||
def post(self, request: Request):
|
def post(self, request: Request):
|
||||||
|
|
@ -239,6 +241,7 @@ class ChatView(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_("Client modifies dialogue summary"),
|
@swagger_auto_schema(operation_summary=_("Client modifies dialogue summary"),
|
||||||
operation_id=_("Client modifies dialogue summary"),
|
operation_id=_("Client modifies dialogue summary"),
|
||||||
request_body=ChatClientHistoryApi.Operate.ReAbstract.get_request_body_api(),
|
request_body=ChatClientHistoryApi.Operate.ReAbstract.get_request_body_api(),
|
||||||
|
responses=result.get_default_response(),
|
||||||
tags=[_("Application/Conversation Log")])
|
tags=[_("Application/Conversation Log")])
|
||||||
@has_permissions(ViewPermission(
|
@has_permissions(ViewPermission(
|
||||||
[RoleConstants.APPLICATION_ACCESS_TOKEN, RoleConstants.ADMIN, RoleConstants.USER],
|
[RoleConstants.APPLICATION_ACCESS_TOKEN, RoleConstants.ADMIN, RoleConstants.USER],
|
||||||
|
|
@ -418,6 +421,7 @@ class ChatView(APIView):
|
||||||
operation_id=_("Add to Knowledge Base"),
|
operation_id=_("Add to Knowledge Base"),
|
||||||
manual_parameters=ImproveApi.get_request_params_api_post(),
|
manual_parameters=ImproveApi.get_request_params_api_post(),
|
||||||
request_body=ImproveApi.get_request_body_api_post(),
|
request_body=ImproveApi.get_request_body_api_post(),
|
||||||
|
responses=result.get_default_response(),
|
||||||
tags=[_("Application/Conversation Log/Add to Knowledge Base")]
|
tags=[_("Application/Conversation Log/Add to Knowledge Base")]
|
||||||
)
|
)
|
||||||
@has_permissions(
|
@has_permissions(
|
||||||
|
|
|
||||||
|
|
@ -181,6 +181,7 @@ class Dataset(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_('Generate related'), operation_id=_('Generate related'),
|
@swagger_auto_schema(operation_summary=_('Generate related'), operation_id=_('Generate related'),
|
||||||
manual_parameters=DataSetSerializers.Operate.get_request_params_api(),
|
manual_parameters=DataSetSerializers.Operate.get_request_params_api(),
|
||||||
request_body=GenerateRelatedSerializer.get_request_body_api(),
|
request_body=GenerateRelatedSerializer.get_request_body_api(),
|
||||||
|
responses=result.get_default_response(),
|
||||||
tags=[_('Knowledge Base')]
|
tags=[_('Knowledge Base')]
|
||||||
)
|
)
|
||||||
@log(menu='document', operate="Generate related documents",
|
@log(menu='document', operate="Generate related documents",
|
||||||
|
|
|
||||||
|
|
@ -195,6 +195,53 @@ class FunctionLibApi(ApiMixin):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_response_body_api():
|
||||||
|
return openapi.Schema(
|
||||||
|
type=openapi.TYPE_OBJECT,
|
||||||
|
required=['id', 'name', 'code', 'input_field_list', 'permission_type'],
|
||||||
|
properties={
|
||||||
|
'id': openapi.Schema(type=openapi.TYPE_STRING, title="", description=_('ID')),
|
||||||
|
|
||||||
|
'name': openapi.Schema(type=openapi.TYPE_STRING, title=_('function name'),
|
||||||
|
description=_('function name')),
|
||||||
|
'desc': openapi.Schema(type=openapi.TYPE_STRING, title=_('function description'),
|
||||||
|
description=_('function description')),
|
||||||
|
'code': openapi.Schema(type=openapi.TYPE_STRING, title=_('function content'),
|
||||||
|
description=_('function content')),
|
||||||
|
'permission_type': openapi.Schema(type=openapi.TYPE_STRING, title=_('permission'),
|
||||||
|
description=_('permission')),
|
||||||
|
'is_active': openapi.Schema(type=openapi.TYPE_BOOLEAN, title=_('Is active'),
|
||||||
|
description=_('Is active')),
|
||||||
|
'input_field_list': openapi.Schema(type=openapi.TYPE_ARRAY,
|
||||||
|
description=_('Input variable list'),
|
||||||
|
items=openapi.Schema(type=openapi.TYPE_OBJECT,
|
||||||
|
required=['name', 'is_required', 'source'],
|
||||||
|
properties={
|
||||||
|
'name': openapi.Schema(
|
||||||
|
type=openapi.TYPE_STRING,
|
||||||
|
title=_('variable name'),
|
||||||
|
description=_('variable name')),
|
||||||
|
'is_required': openapi.Schema(
|
||||||
|
type=openapi.TYPE_BOOLEAN,
|
||||||
|
title=_('required'),
|
||||||
|
description=_('required')),
|
||||||
|
'type': openapi.Schema(
|
||||||
|
type=openapi.TYPE_STRING,
|
||||||
|
title=_('type'),
|
||||||
|
description=_(
|
||||||
|
'Field type string|int|dict|array|float')
|
||||||
|
),
|
||||||
|
'source': openapi.Schema(
|
||||||
|
type=openapi.TYPE_STRING,
|
||||||
|
title=_('source'),
|
||||||
|
description=_(
|
||||||
|
'The source only supports custom|reference')),
|
||||||
|
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
class Export(ApiMixin):
|
class Export(ApiMixin):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_request_params_api():
|
def get_request_params_api():
|
||||||
|
|
@ -214,4 +261,4 @@ class FunctionLibApi(ApiMixin):
|
||||||
type=openapi.TYPE_FILE,
|
type=openapi.TYPE_FILE,
|
||||||
required=True,
|
required=True,
|
||||||
description=_('Upload image files'))
|
description=_('Upload image files'))
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ class FunctionLibView(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_('Create function'),
|
@swagger_auto_schema(operation_summary=_('Create function'),
|
||||||
operation_id=_('Create function'),
|
operation_id=_('Create function'),
|
||||||
request_body=FunctionLibApi.Create.get_request_body_api(),
|
request_body=FunctionLibApi.Create.get_request_body_api(),
|
||||||
|
responses=result.get_api_response(FunctionLibApi.Create.get_response_body_api()),
|
||||||
tags=[_('Function')])
|
tags=[_('Function')])
|
||||||
@has_permissions(RoleConstants.ADMIN, RoleConstants.USER)
|
@has_permissions(RoleConstants.ADMIN, RoleConstants.USER)
|
||||||
@log(menu='Function', operate="Create function",
|
@log(menu='Function', operate="Create function",
|
||||||
|
|
@ -58,6 +59,7 @@ class FunctionLibView(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_('Debug function'),
|
@swagger_auto_schema(operation_summary=_('Debug function'),
|
||||||
operation_id=_('Debug function'),
|
operation_id=_('Debug function'),
|
||||||
request_body=FunctionLibApi.Debug.get_request_body_api(),
|
request_body=FunctionLibApi.Debug.get_request_body_api(),
|
||||||
|
responses=result.get_default_response(),
|
||||||
tags=[_('Function')])
|
tags=[_('Function')])
|
||||||
@has_permissions(RoleConstants.ADMIN, RoleConstants.USER)
|
@has_permissions(RoleConstants.ADMIN, RoleConstants.USER)
|
||||||
def post(self, request: Request):
|
def post(self, request: Request):
|
||||||
|
|
@ -72,6 +74,7 @@ class FunctionLibView(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_('Update function'),
|
@swagger_auto_schema(operation_summary=_('Update function'),
|
||||||
operation_id=_('Update function'),
|
operation_id=_('Update function'),
|
||||||
request_body=FunctionLibApi.Edit.get_request_body_api(),
|
request_body=FunctionLibApi.Edit.get_request_body_api(),
|
||||||
|
responses=result.get_api_response(FunctionLibApi.Edit.get_request_body_api()),
|
||||||
tags=[_('Function')])
|
tags=[_('Function')])
|
||||||
@has_permissions(RoleConstants.ADMIN, RoleConstants.USER)
|
@has_permissions(RoleConstants.ADMIN, RoleConstants.USER)
|
||||||
@log(menu='Function', operate="Update function",
|
@log(menu='Function', operate="Update function",
|
||||||
|
|
@ -84,6 +87,7 @@ class FunctionLibView(APIView):
|
||||||
@action(methods=['DELETE'], detail=False)
|
@action(methods=['DELETE'], detail=False)
|
||||||
@swagger_auto_schema(operation_summary=_('Delete function'),
|
@swagger_auto_schema(operation_summary=_('Delete function'),
|
||||||
operation_id=_('Delete function'),
|
operation_id=_('Delete function'),
|
||||||
|
responses=result.get_default_response(),
|
||||||
tags=[_('Function')])
|
tags=[_('Function')])
|
||||||
@has_permissions(RoleConstants.ADMIN, RoleConstants.USER)
|
@has_permissions(RoleConstants.ADMIN, RoleConstants.USER)
|
||||||
@log(menu='Function', operate="Delete function",
|
@log(menu='Function', operate="Delete function",
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ class PyLintView(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_('Check code'),
|
@swagger_auto_schema(operation_summary=_('Check code'),
|
||||||
operation_id=_('Check code'),
|
operation_id=_('Check code'),
|
||||||
request_body=PyLintApi.get_request_body_api(),
|
request_body=PyLintApi.get_request_body_api(),
|
||||||
|
responses=result.get_api_response(PyLintApi.get_request_body_api()),
|
||||||
tags=[_('Function')])
|
tags=[_('Function')])
|
||||||
@has_permissions(RoleConstants.ADMIN, RoleConstants.USER)
|
@has_permissions(RoleConstants.ADMIN, RoleConstants.USER)
|
||||||
def post(self, request: Request):
|
def post(self, request: Request):
|
||||||
|
|
|
||||||
|
|
@ -171,6 +171,24 @@ class TeamMemberSerializer(ApiMixin, serializers.Serializer):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_response_body_api():
|
||||||
|
return openapi.Schema(
|
||||||
|
type=openapi.TYPE_OBJECT,
|
||||||
|
properties={
|
||||||
|
'id': openapi.Schema(type=openapi.TYPE_STRING, title=_('user id'), description=_('user id')),
|
||||||
|
'username': openapi.Schema(type=openapi.TYPE_STRING, title=_('Username'), description=_('Username')),
|
||||||
|
'email': openapi.Schema(type=openapi.TYPE_STRING, title=_('Email'), description=_('Email')),
|
||||||
|
'role': openapi.Schema(type=openapi.TYPE_STRING, title=_('Role'), description=_('Role')),
|
||||||
|
'is_active': openapi.Schema(type=openapi.TYPE_STRING, title=_('Is active'),
|
||||||
|
description=_('Is active')),
|
||||||
|
'team_id': openapi.Schema(type=openapi.TYPE_STRING, title=_('team id'), description=_('team id')),
|
||||||
|
'user_id': openapi.Schema(type=openapi.TYPE_STRING, title=_('user id'), description=_('user id')),
|
||||||
|
'type': openapi.Schema(type=openapi.TYPE_STRING, title=_('member type'),
|
||||||
|
description=_('member type manage|member')),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def batch_add_member(self, user_id_list: List[str], with_valid=True):
|
def batch_add_member(self, user_id_list: List[str], with_valid=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ class TeamMember(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_('Add member'),
|
@swagger_auto_schema(operation_summary=_('Add member'),
|
||||||
operation_id=_('Add member'),
|
operation_id=_('Add member'),
|
||||||
request_body=TeamMemberSerializer().get_request_body_api(),
|
request_body=TeamMemberSerializer().get_request_body_api(),
|
||||||
|
responses=result.get_default_response(),
|
||||||
tags=[_('Team')])
|
tags=[_('Team')])
|
||||||
@has_permissions(PermissionConstants.TEAM_CREATE)
|
@has_permissions(PermissionConstants.TEAM_CREATE)
|
||||||
@log(menu='Team', operate='Add member',
|
@log(menu='Team', operate='Add member',
|
||||||
|
|
@ -53,6 +54,7 @@ class TeamMember(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_('Add members in batches'),
|
@swagger_auto_schema(operation_summary=_('Add members in batches'),
|
||||||
operation_id=_('Add members in batches'),
|
operation_id=_('Add members in batches'),
|
||||||
request_body=TeamMemberSerializer.get_bach_request_body_api(),
|
request_body=TeamMemberSerializer.get_bach_request_body_api(),
|
||||||
|
responses=result.get_api_array_response(TeamMemberSerializer.get_response_body_api()),
|
||||||
tags=[_('Team')])
|
tags=[_('Team')])
|
||||||
@has_permissions(PermissionConstants.TEAM_CREATE)
|
@has_permissions(PermissionConstants.TEAM_CREATE)
|
||||||
@log(menu='Team', operate='Add members in batches',
|
@log(menu='Team', operate='Add members in batches',
|
||||||
|
|
@ -78,6 +80,7 @@ class TeamMember(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_('Update team member permissions'),
|
@swagger_auto_schema(operation_summary=_('Update team member permissions'),
|
||||||
operation_id=_('Update team member permissions'),
|
operation_id=_('Update team member permissions'),
|
||||||
request_body=UpdateTeamMemberPermissionSerializer().get_request_body_api(),
|
request_body=UpdateTeamMemberPermissionSerializer().get_request_body_api(),
|
||||||
|
responses=result.get_default_response(),
|
||||||
manual_parameters=TeamMemberSerializer.Operate.get_request_params_api(),
|
manual_parameters=TeamMemberSerializer.Operate.get_request_params_api(),
|
||||||
tags=[_('Team')]
|
tags=[_('Team')]
|
||||||
)
|
)
|
||||||
|
|
@ -93,6 +96,7 @@ class TeamMember(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_('Remove member'),
|
@swagger_auto_schema(operation_summary=_('Remove member'),
|
||||||
operation_id=_('Remove member'),
|
operation_id=_('Remove member'),
|
||||||
manual_parameters=TeamMemberSerializer.Operate.get_request_params_api(),
|
manual_parameters=TeamMemberSerializer.Operate.get_request_params_api(),
|
||||||
|
responses=result.get_default_response(),
|
||||||
tags=[_('Team')]
|
tags=[_('Team')]
|
||||||
)
|
)
|
||||||
@has_permissions(PermissionConstants.TEAM_DELETE)
|
@has_permissions(PermissionConstants.TEAM_DELETE)
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,8 @@ class Model(APIView):
|
||||||
@action(methods=['POST'], detail=False)
|
@action(methods=['POST'], detail=False)
|
||||||
@swagger_auto_schema(operation_summary=_('Create model'),
|
@swagger_auto_schema(operation_summary=_('Create model'),
|
||||||
operation_id=_('Create model'),
|
operation_id=_('Create model'),
|
||||||
request_body=ModelCreateApi.get_request_body_api()
|
request_body=ModelCreateApi.get_request_body_api(),
|
||||||
|
manual_parameters=result.get_api_response(ModelCreateApi.get_request_body_api())
|
||||||
, tags=[_('model')])
|
, tags=[_('model')])
|
||||||
@has_permissions(PermissionConstants.MODEL_CREATE)
|
@has_permissions(PermissionConstants.MODEL_CREATE)
|
||||||
@log(menu='model', operate='Create model',
|
@log(menu='model', operate='Create model',
|
||||||
|
|
@ -45,7 +46,8 @@ class Model(APIView):
|
||||||
@action(methods=['PUT'], detail=False)
|
@action(methods=['PUT'], detail=False)
|
||||||
@swagger_auto_schema(operation_summary=_('Download model, trial only with Ollama platform'),
|
@swagger_auto_schema(operation_summary=_('Download model, trial only with Ollama platform'),
|
||||||
operation_id=_('Download model, trial only with Ollama platform'),
|
operation_id=_('Download model, trial only with Ollama platform'),
|
||||||
request_body=ModelCreateApi.get_request_body_api()
|
request_body=ModelCreateApi.get_request_body_api(),
|
||||||
|
responses=result.get_api_response(ModelCreateApi.get_request_body_api())
|
||||||
, tags=[_('model')])
|
, tags=[_('model')])
|
||||||
@has_permissions(PermissionConstants.MODEL_CREATE)
|
@has_permissions(PermissionConstants.MODEL_CREATE)
|
||||||
def put(self, request: Request):
|
def put(self, request: Request):
|
||||||
|
|
@ -123,7 +125,8 @@ class Model(APIView):
|
||||||
@action(methods=['PUT'], detail=False)
|
@action(methods=['PUT'], detail=False)
|
||||||
@swagger_auto_schema(operation_summary=_('Update model'),
|
@swagger_auto_schema(operation_summary=_('Update model'),
|
||||||
operation_id=_('Update model'),
|
operation_id=_('Update model'),
|
||||||
request_body=ModelEditApi.get_request_body_api()
|
request_body=ModelEditApi.get_request_body_api(),
|
||||||
|
responses=result.get_api_response(ModelEditApi.get_request_body_api())
|
||||||
, tags=[_('model')])
|
, tags=[_('model')])
|
||||||
@has_permissions(PermissionConstants.MODEL_CREATE)
|
@has_permissions(PermissionConstants.MODEL_CREATE)
|
||||||
@log(menu='model', operate='Update model',
|
@log(menu='model', operate='Update model',
|
||||||
|
|
@ -166,7 +169,8 @@ class Provide(APIView):
|
||||||
@swagger_auto_schema(operation_summary=_('Call the supplier function to obtain form data'),
|
@swagger_auto_schema(operation_summary=_('Call the supplier function to obtain form data'),
|
||||||
operation_id=_('Call the supplier function to obtain form data'),
|
operation_id=_('Call the supplier function to obtain form data'),
|
||||||
manual_parameters=ProvideApi.get_request_params_api(),
|
manual_parameters=ProvideApi.get_request_params_api(),
|
||||||
request_body=ProvideApi.get_request_body_api()
|
request_body=ProvideApi.get_request_body_api(),
|
||||||
|
responses=result.get_api_response(ProvideApi.get_request_body_api())
|
||||||
, tags=[_('model')])
|
, tags=[_('model')])
|
||||||
@has_permissions(PermissionConstants.MODEL_READ)
|
@has_permissions(PermissionConstants.MODEL_READ)
|
||||||
@log(menu='model', operate='Call the supplier function to obtain form data')
|
@log(menu='model', operate='Call the supplier function to obtain form data')
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ class SwitchUserLanguageView(APIView):
|
||||||
description=_("language")),
|
description=_("language")),
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
responses=RePasswordSerializer().get_response_body_api(),
|
responses=result.get_default_response(),
|
||||||
tags=[_("User management")])
|
tags=[_("User management")])
|
||||||
@log(menu='User management', operate='Switch Language',
|
@log(menu='User management', operate='Switch Language',
|
||||||
get_operation_object=lambda r, k: {'name': r.user.username})
|
get_operation_object=lambda r, k: {'name': r.user.username})
|
||||||
|
|
@ -111,7 +111,7 @@ class ResetCurrentUserPasswordView(APIView):
|
||||||
description=_("Password"))
|
description=_("Password"))
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
responses=RePasswordSerializer().get_response_body_api(),
|
responses=result.get_default_response(),
|
||||||
tags=[_("User management")])
|
tags=[_("User management")])
|
||||||
@log(menu='User management', operate='Modify current user password',
|
@log(menu='User management', operate='Modify current user password',
|
||||||
get_operation_object=lambda r, k: {'name': r.user.username},
|
get_operation_object=lambda r, k: {'name': r.user.username},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue