dify/api/fields/workflow_comment_fields.py

97 lines
2.8 KiB
Python
Raw Normal View History

2025-09-18 07:45:53 +00:00
from flask_restx import fields
2025-08-22 08:46:30 +00:00
2025-09-15 03:41:06 +00:00
from libs.helper import AvatarUrlField, TimestampField
2025-08-22 08:46:30 +00:00
2025-09-16 09:25:51 +00:00
# basic account fields for comments
account_fields = {
"id": fields.String,
"name": fields.String,
"email": fields.String,
"avatar_url": AvatarUrlField,
}
2025-08-22 08:46:30 +00:00
# Comment mention fields
workflow_comment_mention_fields = {
"mentioned_user_id": fields.String,
2025-09-16 09:25:51 +00:00
"mentioned_user_account": fields.Nested(account_fields, allow_null=True),
2025-09-10 06:25:37 +00:00
"reply_id": fields.String,
2025-08-22 08:46:30 +00:00
}
# Comment reply fields
workflow_comment_reply_fields = {
"id": fields.String,
"content": fields.String,
"created_by": fields.String,
2025-09-16 09:25:51 +00:00
"created_by_account": fields.Nested(account_fields, allow_null=True),
2025-08-22 08:46:30 +00:00
"created_at": TimestampField,
}
# Basic comment fields (for list views)
workflow_comment_basic_fields = {
"id": fields.String,
"position_x": fields.Float,
"position_y": fields.Float,
"content": fields.String,
"created_by": fields.String,
2025-09-16 09:25:51 +00:00
"created_by_account": fields.Nested(account_fields, allow_null=True),
2025-08-22 08:46:30 +00:00
"created_at": TimestampField,
"updated_at": TimestampField,
"resolved": fields.Boolean,
"resolved_at": TimestampField,
"resolved_by": fields.String,
2025-09-16 09:25:51 +00:00
"resolved_by_account": fields.Nested(account_fields, allow_null=True),
2025-08-22 08:46:30 +00:00
"reply_count": fields.Integer,
"mention_count": fields.Integer,
2025-09-16 09:25:51 +00:00
"participants": fields.List(fields.Nested(account_fields)),
2025-08-22 08:46:30 +00:00
}
# Detailed comment fields (for single comment view)
workflow_comment_detail_fields = {
"id": fields.String,
"position_x": fields.Float,
"position_y": fields.Float,
"content": fields.String,
"created_by": fields.String,
2025-09-16 09:25:51 +00:00
"created_by_account": fields.Nested(account_fields, allow_null=True),
2025-08-22 08:46:30 +00:00
"created_at": TimestampField,
"updated_at": TimestampField,
"resolved": fields.Boolean,
"resolved_at": TimestampField,
"resolved_by": fields.String,
2025-09-16 09:25:51 +00:00
"resolved_by_account": fields.Nested(account_fields, allow_null=True),
2025-08-22 08:46:30 +00:00
"replies": fields.List(fields.Nested(workflow_comment_reply_fields)),
"mentions": fields.List(fields.Nested(workflow_comment_mention_fields)),
}
# Comment creation response fields (simplified)
workflow_comment_create_fields = {
"id": fields.String,
"created_at": TimestampField,
}
2025-08-22 09:48:14 +00:00
# Comment update response fields (simplified)
2025-08-22 08:46:30 +00:00
workflow_comment_update_fields = {
"id": fields.String,
"updated_at": TimestampField,
}
# Comment resolve response fields
workflow_comment_resolve_fields = {
"id": fields.String,
"resolved": fields.Boolean,
"resolved_at": TimestampField,
"resolved_by": fields.String,
}
2025-08-22 09:33:47 +00:00
# Reply creation response fields (simplified)
2025-08-22 08:46:30 +00:00
workflow_comment_reply_create_fields = {
"id": fields.String,
"created_at": TimestampField,
}
# Reply update response fields
workflow_comment_reply_update_fields = {
"id": fields.String,
2025-08-30 15:49:27 +00:00
"updated_at": TimestampField,
2025-08-22 08:46:30 +00:00
}