mirror of
https://github.com/langgenius/dify.git
synced 2025-11-08 07:23:47 +00:00
notion fix
This commit is contained in:
parent
6954926df9
commit
05e96e56e5
@ -1460,23 +1460,10 @@ class DocumentService:
|
|||||||
exist_document[data_source_info["notion_page_id"]] = document.id
|
exist_document[data_source_info["notion_page_id"]] = document.id
|
||||||
for notion_info in notion_info_list:
|
for notion_info in notion_info_list:
|
||||||
workspace_id = notion_info.workspace_id
|
workspace_id = notion_info.workspace_id
|
||||||
data_source_binding = (
|
|
||||||
db.session.query(DataSourceOauthBinding)
|
|
||||||
.where(
|
|
||||||
db.and_(
|
|
||||||
DataSourceOauthBinding.tenant_id == current_user.current_tenant_id,
|
|
||||||
DataSourceOauthBinding.provider == "notion",
|
|
||||||
DataSourceOauthBinding.disabled == False,
|
|
||||||
DataSourceOauthBinding.source_info["workspace_id"] == f'"{workspace_id}"',
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.first()
|
|
||||||
)
|
|
||||||
if not data_source_binding:
|
|
||||||
raise ValueError("Data source binding not found.")
|
|
||||||
for page in notion_info.pages:
|
for page in notion_info.pages:
|
||||||
if page.page_id not in exist_page_ids:
|
if page.page_id not in exist_page_ids:
|
||||||
data_source_info = {
|
data_source_info = {
|
||||||
|
"credential_id": notion_info.credential_id,
|
||||||
"notion_workspace_id": workspace_id,
|
"notion_workspace_id": workspace_id,
|
||||||
"notion_page_id": page.page_id,
|
"notion_page_id": page.page_id,
|
||||||
"notion_page_icon": page.page_icon.model_dump() if page.page_icon else None,
|
"notion_page_icon": page.page_icon.model_dump() if page.page_icon else None,
|
||||||
@ -1956,22 +1943,9 @@ class DocumentService:
|
|||||||
notion_info_list = document_data.data_source.info_list.notion_info_list
|
notion_info_list = document_data.data_source.info_list.notion_info_list
|
||||||
for notion_info in notion_info_list:
|
for notion_info in notion_info_list:
|
||||||
workspace_id = notion_info.workspace_id
|
workspace_id = notion_info.workspace_id
|
||||||
data_source_binding = (
|
|
||||||
db.session.query(DataSourceOauthBinding)
|
|
||||||
.where(
|
|
||||||
db.and_(
|
|
||||||
DataSourceOauthBinding.tenant_id == current_user.current_tenant_id,
|
|
||||||
DataSourceOauthBinding.provider == "notion",
|
|
||||||
DataSourceOauthBinding.disabled == False,
|
|
||||||
DataSourceOauthBinding.source_info["workspace_id"] == f'"{workspace_id}"',
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.first()
|
|
||||||
)
|
|
||||||
if not data_source_binding:
|
|
||||||
raise ValueError("Data source binding not found.")
|
|
||||||
for page in notion_info.pages:
|
for page in notion_info.pages:
|
||||||
data_source_info = {
|
data_source_info = {
|
||||||
|
"credential_id": notion_info.credential_id,
|
||||||
"notion_workspace_id": workspace_id,
|
"notion_workspace_id": workspace_id,
|
||||||
"notion_page_id": page.page_id,
|
"notion_page_id": page.page_id,
|
||||||
"notion_page_icon": page.page_icon.model_dump() if page.page_icon else None, # type: ignore
|
"notion_page_icon": page.page_icon.model_dump() if page.page_icon else None, # type: ignore
|
||||||
|
|||||||
@ -23,6 +23,7 @@ class NotionPage(BaseModel):
|
|||||||
|
|
||||||
|
|
||||||
class NotionInfo(BaseModel):
|
class NotionInfo(BaseModel):
|
||||||
|
credential_id: str
|
||||||
workspace_id: str
|
workspace_id: str
|
||||||
pages: list[NotionPage]
|
pages: list[NotionPage]
|
||||||
|
|
||||||
|
|||||||
@ -44,20 +44,6 @@ def document_indexing_sync_task(dataset_id: str, document_id: str):
|
|||||||
page_id = data_source_info["notion_page_id"]
|
page_id = data_source_info["notion_page_id"]
|
||||||
page_type = data_source_info["type"]
|
page_type = data_source_info["type"]
|
||||||
page_edited_time = data_source_info["last_edited_time"]
|
page_edited_time = data_source_info["last_edited_time"]
|
||||||
data_source_binding = (
|
|
||||||
db.session.query(DataSourceOauthBinding)
|
|
||||||
.where(
|
|
||||||
db.and_(
|
|
||||||
DataSourceOauthBinding.tenant_id == document.tenant_id,
|
|
||||||
DataSourceOauthBinding.provider == "notion",
|
|
||||||
DataSourceOauthBinding.disabled == False,
|
|
||||||
DataSourceOauthBinding.source_info["workspace_id"] == f'"{workspace_id}"',
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.first()
|
|
||||||
)
|
|
||||||
if not data_source_binding:
|
|
||||||
raise ValueError("Data source binding not found.")
|
|
||||||
|
|
||||||
loader = NotionExtractor(
|
loader = NotionExtractor(
|
||||||
notion_workspace_id=workspace_id,
|
notion_workspace_id=workspace_id,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user