Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions apps/knowledge/serializers/knowledge_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class KnowledgeWorkflowActionRequestSerializer(serializers.Serializer):

class KnowledgeWorkflowActionListQuerySerializer(serializers.Serializer):
user_name = serializers.CharField(required=False, label=_('Name'), allow_blank=True, allow_null=True)
state = serializers.CharField(required=False, label=_("State"), allow_blank=True, allow_null=True)


class KnowledgeWorkflowActionSerializer(serializers.Serializer):
Expand All @@ -54,22 +55,25 @@ def get_query_set(self, instance: Dict):
query_set = QuerySet(KnowledgeAction).filter(knowledge_id=self.data.get('knowledge_id'))
if instance.get("user_name"):
query_set = query_set.filter(meta__user_name__icontains=instance.get('user_name'))
if instance.get('state'):
query_set = query_set.filter(state=instance.get('state'))
return query_set.order_by('-create_time')

def list(self, instance: Dict, is_valid=True):
if is_valid:
self.is_valid(raise_exception=True)
KnowledgeWorkflowActionListQuerySerializer(data=instance).is_valid(raise_exception=True)
return [{'id': a.id, 'knowledge_id': a.knowledge_id, 'state': a.state,
'meta': a.meta, 'run_time': a.run_time} for a in self.get_query_set(instance)]
'meta': a.meta, 'run_time': a.run_time, 'create_time': a.create_time} for a in
self.get_query_set(instance)]

def page(self, current_page, page_size, instance: Dict, is_valid=True):
if is_valid:
self.is_valid(raise_exception=True)
KnowledgeWorkflowActionListQuerySerializer(data=instance).is_valid(raise_exception=True)
return page_search(current_page, page_size, self.get_query_set(instance),
lambda a: {'id': a.id, 'knowledge_id': a.knowledge_id, 'state': a.state,
'meta': a.meta, 'run_time': a.run_time})
'meta': a.meta, 'run_time': a.run_time, 'create_time': a.create_time})

def action(self, instance: Dict, user, with_valid=True):
if with_valid:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The provided code has a few issues:

  1. The get_query_set method returns results without including the create_time.
  2. In the list and page methods, dictionary keys should be camelCase rather than snake_case (e.g., 'id', not 'ID'). This follows Python naming conventions.
  3. The action method's parameter name with_valid is confusing since it doesn't indicate whether validation is actually taking place within the function. It might help to rename this or clarify its purpose.

Here are some optimization suggestions:

  1. Consider adding default values for optional fields in the serializer definitions where appropriate, such as setting allow_blank=True and default=None.

Overall, the code is well-structured but could benefit from these corrections for better readability and compatibility with common coding standards.

Expand Down
Loading