mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2026-01-01 02:52:48 +00:00
40 lines
1.5 KiB
Python
40 lines
1.5 KiB
Python
# coding=utf-8
|
|
|
|
from django.utils.translation import gettext_lazy as _
|
|
from drf_spectacular.utils import extend_schema
|
|
from rest_framework.request import Request
|
|
from rest_framework.views import APIView
|
|
|
|
from common.auth import TokenAuth
|
|
from common.auth.authentication import has_permissions
|
|
from common.constants.permission_constants import PermissionConstants, RoleConstants
|
|
from common.result import result
|
|
from knowledge.api.knowledge_workflow import KnowledgeWorkflowApi
|
|
from knowledge.serializers.knowledge_workflow import KnowledgeWorkflowSerializer
|
|
|
|
|
|
class KnowledgeWorkflowView(APIView):
|
|
authentication_classes = [TokenAuth]
|
|
|
|
@extend_schema(
|
|
methods=['GET'],
|
|
description=_('Create knowledge workflow'),
|
|
summary=_('Create knowledge workflow'),
|
|
operation_id=_('Create knowledge workflow'), # type: ignore
|
|
parameters=KnowledgeWorkflowApi.get_parameters(),
|
|
responses=KnowledgeWorkflowApi.get_response(),
|
|
tags=[_('Knowledge Base')] # type: ignore
|
|
)
|
|
@has_permissions(
|
|
PermissionConstants.KNOWLEDGE_CREATE.get_workspace_permission(),
|
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role(), RoleConstants.USER.get_workspace_role()
|
|
)
|
|
def post(self, request: Request, workspace_id: str):
|
|
return result.success(KnowledgeWorkflowSerializer.Create(
|
|
data={'user_id': request.user.id, 'workspace_id': workspace_id}
|
|
).save_workflow(request.data))
|
|
|
|
|
|
class KnowledgeWorkflowVersionView(APIView):
|
|
pass
|