Commit Graph

108 Commits

Author SHA1 Message Date
Arthur Schiwon
1ec4563c2e log stacktrace for 'Backends provided no user object'
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-04-20 12:15:39 +02:00
Robin Appelman
b65d214f15 perform a setup if we can't find any mounts containing a file
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-11 19:15:58 +02:00
Robin Appelman
499749dbc1 more preset metadata for LazyUserFolder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-08 15:09:40 +02:00
Robin Appelman
151c800397 allow reusing known folder info when getting directory contents
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-06 14:40:34 +02:00
Robin Appelman
d84f9fa9bb rename cached fileinfo on rename
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-04 15:40:28 +02:00
Robin Appelman
754603a04e dont needlessly resolve path when getting internalPath/storage from Node
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-04 15:40:24 +02:00
Robin Appelman
44a8ebdc1f optimize getById on LazyUserFolder to not require a full fs setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-04 15:40:16 +02:00
Robin Appelman
700444e218 split out some path manipulation logic
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-04 15:40:12 +02:00
Côme Chilliet
765999f454 Merge pull request #31609 from nextcloud/fix/migrate-away-from-ilogger
Migrate from ILogger to LoggerInterface in lib/private
2022-03-29 09:39:38 +02:00
Robin Appelman
f7c942a943 caching of userfolder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-24 17:03:58 +01:00
Robin Appelman
70c37c2717 fmt
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-24 17:03:55 +01:00
Robin Appelman
79f6742410 improve lazy UserFolder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-24 17:01:49 +01:00
Robin Appelman
3fc5c97282 return a lazy folder from Root::getUserFolder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-24 17:01:08 +01:00
Robin Appelman
46d0eef8da allow setting some metadata in the lazyfolder without having to get the real folder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-24 17:01:01 +01:00
Côme Chilliet
6be7aa112f Migrate from ILogger to LoggerInterface in lib/private
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-24 16:21:25 +01:00
Robin Appelman
917c74e214 type fixes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-04 16:30:16 +01:00
Robin Appelman
1c468129af adjust tests to new fs setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-04 16:29:59 +01:00
Robin Appelman
5c0fe93498 move teardown logic to SetupManager
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-04 16:29:50 +01:00
Robin Appelman
cfb7923e08 store mountprovider for each mount in the mounts table
this enabled more fine grained filesystem setup

Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-02-23 18:02:33 +01:00
Robin Appelman
5c2e7c7d28 fix Folder->getById() when a single storage is mounted multiple times
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-07-28 17:21:04 +02:00
Robin Appelman
9884344230 dont include folder being search in in the results
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-07-02 16:32:25 +02:00
Robin Appelman
f938daa6e4 update tests and fix some edge cases around new search
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-14 16:11:36 +02:00
Robin Appelman
27e50b24aa some cleanup and documentation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-14 16:11:32 +02:00
Robin Appelman
5d1d53c42e perform file search in a single query
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-14 16:11:29 +02:00
John Molakvoæ (skjnldsv)
215aef3cbd Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Robin Appelman
0d5f4edc22 adjust tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-04-21 14:09:07 +02:00
Robin Appelman
e8221303e9 use search query for Folder::getRecent
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-04-21 13:56:04 +02:00
Julius Härtl
8398762d78 Fail when creating new files with an empty path
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-04-20 11:20:20 +02:00
Roeland Jago Douma
7c30d1aa2d Merge pull request #26219 from nextcloud/relative-path-null
getRelativePath can return null
2021-03-30 21:10:05 +02:00
Robin Appelman
c8736e7a23 fix return value of Root::get
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-26 21:29:24 +01:00
Robin Appelman
8a92229485 getStorage can also return null
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 14:56:40 +01:00
Robin Appelman
f842608c95 getRelativePath can return null
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 14:30:29 +01:00
Robin Appelman
bfe3712372 handle ordering in folder search
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-19 16:07:54 +01:00
Robin Appelman
feed42dd6d folder filtering in sql
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-19 13:41:00 +01:00
Robin Appelman
de713967c0 cleanup fileinfo creation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-19 13:35:37 +01:00
Robin Appelman
a428f7d1e0 format
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-18 17:44:30 +01:00
Robin Appelman
bd229e7548 handle limit and offset in folder file search
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-18 17:38:31 +01:00
Robin Appelman
f8bca545df unify handling of Folder::search methods into "new" query objects
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-18 16:35:41 +01:00
dependabot-preview[bot]
eb502c02ff Bump nextcloud/coding-standard from 0.3.0 to 0.5.0
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v0.3.0...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-18 13:31:24 +01:00
Christoph Wurst
d89a75be0b Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
Joas Schilling
8027dcbc6f Don't leave cursors open when tests fail
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-09 12:28:17 +01:00
Christoph Wurst
2a054e6c04 Update the license headers for Nextcloud 20
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +02:00
Roeland Jago Douma
af3a59fab5 Merge pull request #22237 from nextcloud/bugfix/noid/allow_putContent_empty_string
Allow writing empty content to new file
2020-08-20 09:03:06 +02:00
Roeland Jago Douma
6ed4c8a946 Improve recent file fetching
Fixes #16876

Before we'd just fetch everything from all storages we'd have access to.
Then we'd sort. And filter in php. Now this of course is tricky if a
user shared just a file with you and then has a ton of activity.

Now we try to contruct the prefix path. So that the filtering can happen
right away in the databae.

Now this will make the DB more busy. But it should help overall as in
most cases less queries are needed then etc.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-08-18 05:56:06 +02:00
Georg Ehrke
ee23906c3c Allow writing empty content to new file
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-08-13 15:41:26 +02:00
Roeland Jago Douma
6aa6ab3e02 Add lazy events for the Node API
Right now if you want to get events via the Node API you have to have a
real instance of the Root. Which in turns sets up the whole FS.

We should make sure this is done lazy. Else enabling the preview
generator for example makes you setup the whole FS on each and every
authenticated call.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-28 12:35:45 +02:00
Robin Appelman
f7153a3d0c generalize the "lazy folder" concept
makes it easy to use lazy intialized folder in other places

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-05-11 15:36:13 +02:00
Christoph Wurst
cb057829f7 Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Christoph Wurst
caff1023ea Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +02:00
Christoph Wurst
14c996d982 Use elseif instead of else if
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 10:35:09 +02:00