data_source_fields.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. from flask_restful import fields
  2. from libs.helper import TimestampField
  3. integrate_icon_fields = {"type": fields.String, "url": fields.String, "emoji": fields.String}
  4. integrate_page_fields = {
  5. "page_name": fields.String,
  6. "page_id": fields.String,
  7. "page_icon": fields.Nested(integrate_icon_fields, allow_null=True),
  8. "is_bound": fields.Boolean,
  9. "parent_id": fields.String,
  10. "type": fields.String,
  11. }
  12. integrate_workspace_fields = {
  13. "workspace_name": fields.String,
  14. "workspace_id": fields.String,
  15. "workspace_icon": fields.String,
  16. "pages": fields.List(fields.Nested(integrate_page_fields)),
  17. }
  18. integrate_notion_info_list_fields = {
  19. "notion_info": fields.List(fields.Nested(integrate_workspace_fields)),
  20. }
  21. integrate_icon_fields = {"type": fields.String, "url": fields.String, "emoji": fields.String}
  22. integrate_page_fields = {
  23. "page_name": fields.String,
  24. "page_id": fields.String,
  25. "page_icon": fields.Nested(integrate_icon_fields, allow_null=True),
  26. "parent_id": fields.String,
  27. "type": fields.String,
  28. }
  29. integrate_workspace_fields = {
  30. "workspace_name": fields.String,
  31. "workspace_id": fields.String,
  32. "workspace_icon": fields.String,
  33. "pages": fields.List(fields.Nested(integrate_page_fields)),
  34. "total": fields.Integer,
  35. }
  36. integrate_fields = {
  37. "id": fields.String,
  38. "provider": fields.String,
  39. "created_at": TimestampField,
  40. "is_bound": fields.Boolean,
  41. "disabled": fields.Boolean,
  42. "link": fields.String,
  43. "source_info": fields.Nested(integrate_workspace_fields),
  44. }
  45. integrate_list_fields = {
  46. "data": fields.List(fields.Nested(integrate_fields)),
  47. }