Skip to content

Commit 3a49189

Browse files
Merge pull request #1546 from nextcloud-libraries/backport/1517/stable3
[stable3] feat(recent-search): add creation_time property and use capatabilities to identify wheter creation_time and upload_time are supported
2 parents 683a4ee + 5328848 commit 3a49189

File tree

1 file changed

+29
-6
lines changed

1 file changed

+29
-6
lines changed

lib/dav/davProperties.ts

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
* SPDX-License-Identifier: AGPL-3.0-or-later
44
*/
55
import { getCurrentUser } from '@nextcloud/auth'
6+
import { getCapabilities } from '@nextcloud/capabilities'
67
import logger from '../utils/logger'
78

89
export type DavProperty = { [key: string]: string }
@@ -147,6 +148,9 @@ export const getFavoritesReport = function(): string {
147148
* ```
148149
*/
149150
export const getRecentSearch = function(lastModified: number, limit: number = 100): string {
151+
const capabilities = getCapabilities() as { dav?: { search_supports_upload_time?: boolean } }
152+
const supportsUploadTime = capabilities.dav?.search_supports_upload_time
153+
150154
return `<?xml version="1.0" encoding="UTF-8"?>
151155
<d:searchrequest ${getDavNameSpaces()}
152156
xmlns:ns="https://github.com/icewind1991/SearchDAV/ns">
@@ -180,12 +184,31 @@ export const getRecentSearch = function(lastModified: number, limit: number = 10
180184
<d:literal>0</d:literal>
181185
</d:eq>
182186
</d:or>
183-
<d:gt>
184-
<d:prop>
185-
<d:getlastmodified/>
186-
</d:prop>
187-
<d:literal>${lastModified}</d:literal>
188-
</d:gt>
187+
${supportsUploadTime
188+
? `
189+
<d:or>
190+
<d:gt>
191+
<d:prop>
192+
<d:getlastmodified/>
193+
</d:prop>
194+
<d:literal>${lastModified}</d:literal>
195+
</d:gt>
196+
<d:gt>
197+
<d:prop>
198+
<nc:upload_time/>
199+
</d:prop>
200+
<d:literal>${lastModified}</d:literal>
201+
</d:gt>
202+
</d:or>
203+
`
204+
: `
205+
<d:gt>
206+
<d:prop>
207+
<d:getlastmodified/>
208+
</d:prop>
209+
<d:literal>${lastModified}</d:literal>
210+
</d:gt>
211+
`}
189212
</d:and>
190213
</d:where>
191214
<d:orderby>

0 commit comments

Comments
 (0)