mirror of
https://github.com/langgenius/dify.git
synced 2026-10-25 10:24:40 +08:00
+55









Wu Tianwei
AkaraChen
nite-knite
Joel
Warren Chen
crazywoola
Yi Xiao
yihong
-LAN-
KVOJJJin
github-actions[bot]
JzoNgKVO
Charlie.Wei
crazywoola
huayaoyue6
kurokobo
Matsuda
shirochan
Jyong
Huỳnh Gia Bôi
Julian Huynh
Hash Brown
非法操作
Kazuki Takamatsu
Trey Dong
VoidIsVoid
Gimling
xiandan-erizo
Muneyuki Noguchi
zhaobingshuang
zhaobs
suzuki.sh
Yingchun Lai
huanshare
huanshare
orangeclk
문정현
barabicu
Wei Mingzhi
Paul van Oorschot
zkyTech
zhangkunyuan
Tommy
zxhlyh
Novice
Novice Lee
Novice Lee
zxhlyh
liuzhenghua
Jiang
jiangzhijie
Joe
Alok Shrivastwa
Alok Shrivastwa
JasonVV
Hiroshi Fujita
Kevin9703
NFish
Junyan Qin
IWAI, Masaharu
IWAI, Masaharu
Bowen Liang
luckylhb90
hobo.l
douxc
2b2263a349
Signed-off-by: yihong0618 <zouzou0208@gmail.com> Signed-off-by: -LAN- <laipz8200@outlook.com> Co-authored-by: AkaraChen <akarachen@outlook.com> Co-authored-by: nite-knite <nkCoding@gmail.com> Co-authored-by: Joel <iamjoel007@gmail.com> Co-authored-by: Warren Chen <warren.chen830@gmail.com> Co-authored-by: crazywoola <427733928@qq.com> Co-authored-by: Yi Xiao <54782454+YIXIAO0@users.noreply.github.com> Co-authored-by: yihong <zouzou0208@gmail.com> Co-authored-by: -LAN- <laipz8200@outlook.com> Co-authored-by: KVOJJJin <jzongcode@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: JzoNgKVO <27049666+JzoNgKVO@users.noreply.github.com> Co-authored-by: Charlie.Wei <luowei@cvte.com> Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com> Co-authored-by: huayaoyue6 <huayaoyue@163.com> Co-authored-by: kurokobo <kuro664@gmail.com> Co-authored-by: Matsuda <yiyth.fcb6@gmail.com> Co-authored-by: shirochan <s.yusuke0711@gmail.com> Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com> Co-authored-by: Huỳnh Gia Bôi <boihuynh147@gmail.com> Co-authored-by: Julian Huynh <julian.huynh@immersio.io> Co-authored-by: Hash Brown <hi@xzd.me> Co-authored-by: 非法操作 <hjlarry@163.com> Co-authored-by: Kazuki Takamatsu <kazuki.takamatsu@chowagiken.co.jp> Co-authored-by: Trey Dong <1346650911@qq.com> Co-authored-by: VoidIsVoid <343750470@qq.com> Co-authored-by: Gimling <huangjl@ruyi.ai> Co-authored-by: xiandan-erizo <xiandan.erizo@gmail.com> Co-authored-by: Muneyuki Noguchi <nogu.dev@gmail.com> Co-authored-by: zhaobingshuang <1475195565@qq.com> Co-authored-by: zhaobs <zhaobs@cailian.net> Co-authored-by: suzuki.sh <s2terminal@users.noreply.github.com> Co-authored-by: Yingchun Lai <laiyingchun@apache.org> Co-authored-by: huanshare <huanshare@live.com> Co-authored-by: huanshare <liuhuan101@longfor.com> Co-authored-by: orangeclk <orangeclk@users.noreply.github.com> Co-authored-by: 문정현 <120004247+JungHyunMoon@users.noreply.github.com> Co-authored-by: barabicu <kztk533@gmail.com> Co-authored-by: Wei Mingzhi <whistler_wmz@users.sf.net> Co-authored-by: Paul van Oorschot <20116814+pvoo@users.noreply.github.com> Co-authored-by: zkyTech <zhangkunyuan@hotmail.com> Co-authored-by: zhangkunyuan <zhangkunyuan@cmhi.chinamobile.com> Co-authored-by: Tommy <34446820+Asterovim@users.noreply.github.com> Co-authored-by: zxhlyh <jasonapring2015@outlook.com> Co-authored-by: Novice <857526207@qq.com> Co-authored-by: Novice Lee <novicelee@NovicedeMacBook-Pro.local> Co-authored-by: Novice Lee <novicelee@NoviPro.local> Co-authored-by: zxhlyh <16177003+zxhlyh@users.noreply.github.com> Co-authored-by: liuzhenghua <1090179900@qq.com> Co-authored-by: Jiang <65766008+AlwaysBluer@users.noreply.github.com> Co-authored-by: jiangzhijie <jiangzhijie.jzj@alibaba-inc.com> Co-authored-by: Joe <79627742+ZhouhaoJiang@users.noreply.github.com> Co-authored-by: Alok Shrivastwa <alok.shrivastwa@gmail.com> Co-authored-by: Alok Shrivastwa <Alok.Shrivastwa@microland.com> Co-authored-by: JasonVV <jasonwangiii@outlook.com> Co-authored-by: Hiroshi Fujita <fujita-h@users.noreply.github.com> Co-authored-by: Kevin9703 <51311316+Kevin9703@users.noreply.github.com> Co-authored-by: NFish <douxc512@gmail.com> Co-authored-by: Junyan Qin <1010553892@qq.com> Co-authored-by: IWAI, Masaharu <iwaim.sub@gmail.com> Co-authored-by: IWAI, Masaharu <iwai_masaharu@funkit.co.jp> Co-authored-by: Bowen Liang <liangbowen@gf.com.cn> Co-authored-by: luckylhb90 <luckylhb90@gmail.com> Co-authored-by: hobo.l <hobo.l@binance.com> Co-authored-by: douxc <7553076+douxc@users.noreply.github.com>
125 lines
4.0 KiB
TypeScript
125 lines
4.0 KiB
TypeScript
import {
|
|
useMutation,
|
|
useQuery,
|
|
} from '@tanstack/react-query'
|
|
import { del, get, patch } from '../base'
|
|
import { useInvalid } from '../use-base'
|
|
import type { MetadataType } from '../datasets'
|
|
import type { DocumentDetailResponse, SimpleDocumentDetail, UpdateDocumentBatchParams } from '@/models/datasets'
|
|
import { DocumentActionType } from '@/models/datasets'
|
|
import type { CommonResponse } from '@/models/common'
|
|
|
|
const NAME_SPACE = 'knowledge/document'
|
|
|
|
const useDocumentListKey = [NAME_SPACE, 'documentList']
|
|
export const useDocumentList = (payload: {
|
|
datasetId: string
|
|
query: {
|
|
keyword: string
|
|
page: number
|
|
limit: number
|
|
}
|
|
}) => {
|
|
const { query, datasetId } = payload
|
|
return useQuery<{ data: SimpleDocumentDetail[] }>({
|
|
queryKey: [...useDocumentListKey, datasetId, query],
|
|
queryFn: () => get<{ data: SimpleDocumentDetail[] }>(`/datasets/${datasetId}/documents`, {
|
|
params: query,
|
|
}),
|
|
})
|
|
}
|
|
|
|
const useAutoDisabledDocumentKey = [NAME_SPACE, 'autoDisabledDocument']
|
|
export const useAutoDisabledDocuments = (datasetId: string) => {
|
|
return useQuery({
|
|
queryKey: [...useAutoDisabledDocumentKey, datasetId],
|
|
queryFn: () => get<{ document_ids: string[] }>(`/datasets/${datasetId}/auto-disable-logs`),
|
|
})
|
|
}
|
|
|
|
export const useInvalidDisabledDocument = () => {
|
|
return useInvalid(useAutoDisabledDocumentKey)
|
|
}
|
|
|
|
const toBatchDocumentsIdParams = (documentIds: string[] | string) => {
|
|
const ids = Array.isArray(documentIds) ? documentIds : [documentIds]
|
|
return ids.map(id => `document_id=${id}`).join('&')
|
|
}
|
|
|
|
export const useDocumentBatchAction = (action: DocumentActionType) => {
|
|
return useMutation({
|
|
mutationFn: ({ datasetId, documentIds, documentId }: UpdateDocumentBatchParams) => {
|
|
return patch<CommonResponse>(`/datasets/${datasetId}/documents/status/${action}/batch?${toBatchDocumentsIdParams(documentId || documentIds!)}`)
|
|
},
|
|
})
|
|
}
|
|
|
|
export const useDocumentEnable = () => {
|
|
return useDocumentBatchAction(DocumentActionType.enable)
|
|
}
|
|
|
|
export const useDocumentDisable = () => {
|
|
return useDocumentBatchAction(DocumentActionType.disable)
|
|
}
|
|
|
|
export const useDocumentArchive = () => {
|
|
return useDocumentBatchAction(DocumentActionType.archive)
|
|
}
|
|
|
|
export const useDocumentUnArchive = () => {
|
|
return useDocumentBatchAction(DocumentActionType.unArchive)
|
|
}
|
|
|
|
export const useDocumentDelete = () => {
|
|
return useMutation({
|
|
mutationFn: ({ datasetId, documentIds, documentId }: UpdateDocumentBatchParams) => {
|
|
return del<CommonResponse>(`/datasets/${datasetId}/documents?${toBatchDocumentsIdParams(documentId || documentIds!)}`)
|
|
},
|
|
})
|
|
}
|
|
|
|
export const useSyncDocument = () => {
|
|
return useMutation({
|
|
mutationFn: ({ datasetId, documentId }: UpdateDocumentBatchParams) => {
|
|
return get<CommonResponse>(`/datasets/${datasetId}/documents/${documentId}/notion/sync`)
|
|
},
|
|
})
|
|
}
|
|
|
|
export const useSyncWebsite = () => {
|
|
return useMutation({
|
|
mutationFn: ({ datasetId, documentId }: UpdateDocumentBatchParams) => {
|
|
return get<CommonResponse>(`/datasets/${datasetId}/documents/${documentId}/website-sync`)
|
|
},
|
|
})
|
|
}
|
|
|
|
const useDocumentDetailKey = [NAME_SPACE, 'documentDetail']
|
|
export const useDocumentDetail = (payload: {
|
|
datasetId: string
|
|
documentId: string
|
|
params: { metadata: MetadataType }
|
|
}) => {
|
|
const { datasetId, documentId, params } = payload
|
|
return useQuery<DocumentDetailResponse>({
|
|
queryKey: [...useDocumentDetailKey, 'withoutMetaData', datasetId, documentId],
|
|
queryFn: () => get<DocumentDetailResponse>(`/datasets/${datasetId}/documents/${documentId}`, { params }),
|
|
})
|
|
}
|
|
|
|
export const useDocumentMetadata = (payload: {
|
|
datasetId: string
|
|
documentId: string
|
|
params: { metadata: MetadataType }
|
|
}) => {
|
|
const { datasetId, documentId, params } = payload
|
|
return useQuery<DocumentDetailResponse>({
|
|
queryKey: [...useDocumentDetailKey, 'withMetaData', datasetId, documentId],
|
|
queryFn: () => get<DocumentDetailResponse>(`/datasets/${datasetId}/documents/${documentId}`, { params }),
|
|
})
|
|
}
|
|
|
|
export const useInvalidDocumentDetailKey = () => {
|
|
return useInvalid(useDocumentDetailKey)
|
|
}
|