The expression builder already suround the SQL with parenthesis when
using in(), so we must not add another pair, this confuses at least
sqlite.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
When deleting a user, we should only delete the direct remote user
shares or the remote group based subshares.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
When declining a remote group share through the dialog that appears when
notifications are off, the mount point is now correctly saved when
re-accepting.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Accepting and declining can now be done repeatedly on both the parent
group share and sub-share with the same effects.
Added unit tests to cover these cases, and also when the same operation
is repeated.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
When accepting a group share, a sub-share entry is created which also
has a different id.
When accepting or rejecting the sub-share, simply update the "accepted"
flag instead of trying to re-insert the entry.
Adjust getShare to also properly validate group share membership
when called on a sub-share id.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Fix pending shares endpoint to consider user-specific sub-entries
for group shares whenever a share was accepted or declined.
Added unit test for adding remote group shares.
Fixed "removeUserShares" to not send a remote request as we never send
remote requests for group shares.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
* removes the ability for users to import their own certificates (for external storage)
* reliably returns the same certificate bundles system wide (and not depending on the user context and available sessions)
The user specific certificates were broken in some cases anyways, as they are only loaded if the specific user is logged in and thus causing unexpected behavior for background jobs and other non-user triggered code paths.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
When a remote share is deleted, we notify the remove instance. This may
trigger various error conditions, which we want to catch in order to
avoid undeletable shares. The try-catch, however, did only capture
exceptions, so things like TypeErrors were not caught and caused the
process to fail hard.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
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>