from flask_restful import fields from libs.helper import TimestampField integrate_icon_fields = {"type": fields.String, "url": fields.String, "emoji": fields.String} integrate_page_fields = { "page_name": fields.String, "page_id": fields.String, "page_icon": fields.Nested(integrate_icon_fields, allow_null=True), "is_bound": fields.Boolean, "parent_id": fields.String, "type": fields.String, } integrate_workspace_fields = { "workspace_name": fields.String, "workspace_id": fields.String, "workspace_icon": fields.String, "pages": fields.List(fields.Nested(integrate_page_fields)), } integrate_notion_info_list_fields = { "notion_info": fields.List(fields.Nested(integrate_workspace_fields)), } integrate_icon_fields = {"type": fields.String, "url": fields.String, "emoji": fields.String} integrate_page_fields = { "page_name": fields.String, "page_id": fields.String, "page_icon": fields.Nested(integrate_icon_fields, allow_null=True), "parent_id": fields.String, "type": fields.String, } integrate_workspace_fields = { "workspace_name": fields.String, "workspace_id": fields.String, "workspace_icon": fields.String, "pages": fields.List(fields.Nested(integrate_page_fields)), "total": fields.Integer, } integrate_fields = { "id": fields.String, "provider": fields.String, "created_at": TimestampField, "is_bound": fields.Boolean, "disabled": fields.Boolean, "link": fields.String, "source_info": fields.Nested(integrate_workspace_fields), } integrate_list_fields = { "data": fields.List(fields.Nested(integrate_fields)), }