aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src/services/WebdavClient.ts
blob: 2b92deba9b4607dfc28c76bc0ecf4ff780dc1136 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
 * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */
import type { FileStat, ResponseDataDetailed } from 'webdav'
import type { Node } from '@nextcloud/files'

import { getClient, getDefaultPropfind, getRootPath, resultToNode } from '@nextcloud/files/dav'

export const client = getClient()

export const fetchNode = async (path: string): Promise<Node> => {
	const propfindPayload = getDefaultPropfind()
	const result = await client.stat(`${getRootPath()}${path}`, {
		details: true,
		data: propfindPayload,
	}) as ResponseDataDetailed<FileStat>
	return resultToNode(result.data)
}