data_source_fields.py 1.6 KB

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