Commit graph

63 commits

Author SHA1 Message Date
Salvatore Martire
a449af6460 feat: introduce API for partial share providers
Adds support for retrieval of shares by path

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-30 16:43:09 +01:00
Robin Appelman
bbabf50984
feat: add api to get users for share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-22 15:34:23 +01:00
Julius Knorr
7d5ffa50ae feat: Allow to block full matches on the display name
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-12-18 14:04:46 +00:00
Carl Schwan
3183ea79d2
refactor(external-share): Port more code to string as type for the id
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:40:09 +01:00
Carl Schwan
8bbd30693c refactor(share-manager): Make return type more precise
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-04 21:39:25 +01:00
nfebe
6bccaf778a fix(sharing): Allow public share access for everyone
When a logged-in user accesses a public share link in the same browser,
the system was incorrectly checking if that user's groups were excluded
from creating link shares. This caused share not found errors for users
in excluded groups, even though public shares should be accessible to anyone
with the link.

The group exclusion setting (`shareapi_allow_links_exclude_groups`) is
intended to restrict share creation, not share access. Public shares
are meant to be anonymous and accessible regardless of the viewer identity
or group membership.

We now check the exclusion for the share creator and not the viewer.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-02 09:45:18 +01:00
Ferdinand Thiessen
774aad3ab1 feat(Share\IManager): add matchUserId method and update docs
Add missing `matchUserId` method for full-match-autocomplete options
and update docs to make it clearer what each options exactly means.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-26 18:26:37 +02:00
John Molakvoæ
20a50ea877 fix: invalid bool return
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-06-26 11:47:53 +02:00
skjnldsv
9806a9830c feat(files_sharing): allow viewing files with download disabled
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-26 11:47:53 +02:00
Côme Chilliet
59edcdc537
fix: Fix types for sharingDisabledForUser
and use the non-deprecated version whenever possible

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-07 17:36:24 +02:00
Côme Chilliet
b2100484c0 fix: Remove some call and references to deprecated OC_Util class
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-07 17:05:54 +02:00
Christopher Ng
8b26383d00 feat(sharing): Add shareapi_allow_custom_tokens config
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-01-15 15:50:43 -08:00
Christopher Ng
beffb26266 feat(sharing): Fetch a unique generated token
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-01-15 15:49:19 -08:00
provokateurin
715e7143f0
fix(files_sharing,files): Do not validate shares before adjusting the owner
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-25 10:27:31 +01:00
skjnldsv
967b3848e0 fix(files_sharing): phpunit & openapi fixes
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-07-12 20:14:30 +02:00
Andy Scherzinger
dae7c159f7
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +02:00
Adam Serbinski
9c528d412c ShareByMailProvider: getAccessList: add token to returned array
This allows the share URI to be regenerated.

Signed-off-by: Adam Serbinski <adam@serbinski.com>
2024-03-21 18:25:31 -04:00
Adam Serbinski
26ae5e6dfb ShareByMailProvider: getAccessList: return full list of recipients
Previously was returning only boolean true if the Node was shared
by email, or false if not. Now provides an array containing the
list of email share recipients.

Signed-off-by: Adam Serbinski <adam@serbinski.com>
2024-03-21 18:25:31 -04:00
Baptiste Fotia
9af96d9f9a feat(php,vue): Create a new parameter
Signed-off-by: Baptiste Fotia <fotia.baptiste@hotmail.com>
2024-01-31 10:44:40 +01:00
Côme Chilliet
f5c361cf44
composer run cs:fix
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-20 11:45:08 +01:00
Carl Schwan
60313683e2 Fix checkpassword undocummented null parameter
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-17 12:38:21 +02:00
Louis Chemineau
f525067930 Add argument to getSharesInFolder enable deep share lookup
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-07-26 12:17:46 +00:00
Louis Chemineau
0fb4ecadae Recursively fetch subshares
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-07-26 12:17:46 +00:00
Louis Chemineau
e8ab298d2c Use email settings in DAV search
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-04-19 16:23:08 +02:00
Louis Chemineau
70c56b411e Use share setting in DAV search
shareapi_restrict_user_enumeration_full_match_ignore_second_display_name was introduced to ignore second display name during search from the share panel. But this setting was not respected by search from the calendar application. This fix it.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-04-19 12:51:57 +02:00
Carl Schwan
a29251e02d Allow to disable password policy enforcement for selected groups
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Co-authored-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2022-04-05 17:04:17 +00:00
Carl Schwan
831aebf4f6 Clarify that some interface are not meant to be implemented
This make sure that apps don't implement this interfaces and gives us
more liberty to add new methods to them (as long as it is compatible
from an usage point of view)

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Co-authored-by: Vincent Petry <vincent@nextcloud.com>
2022-03-04 16:02:35 +01:00
Joas Schilling
fa036b2001
Move common logic to share manager
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-11-09 10:10:53 +01: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
a9eb1f6af3
update public interface with new methods
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-05-12 16:11:35 +02:00
Joas Schilling
5b53b6f977
Add a setting to restrict returning a full match unless in phonebook or same group
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-10 17:25:57 +01:00
Joas Schilling
236aa194e2
Restrict autocompletion also based on the phonebook known users
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-10 17:19:55 +01:00
Julius Härtl
fdea545415
Allow apps to register their share providers from outside
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-09 13:20:23 +01:00
Julius Härtl
45a474071e
Remove @package annotations from public namespace
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-08-26 16:59:40 +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
1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +02:00
Julius Härtl
8edc824526 Expose enumeration config though share manager
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-20 10:43:56 +01:00
Christoph Wurst
5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Joas Schilling
520042bbd0
Allow to accept group shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:36:58 +01:00
Daniel Calviño Sánchez
ea55f8eedd fixup! Get all shares as iterable
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-30 14:26:37 +01:00
Roeland Jago Douma
8085ca4cc4
Get all shares as iterable
Sometimes we need all shares or rather a specific subset of shares but
creating dedicated functions is a pain. This just returns an iterable
object for all shares so we can loop over them without allocating all
the memory on the system.

It should not be used by any user called code. But in an occ command or
background job it is fine IMO.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-10-30 09:45:27 +01:00
Bjoern Schiessle
b23032e4c5
implement federated group shares
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-11 10:11:44 +02:00
Morris Jobke
ced8789f5c
Fix PHPDoc
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-07-05 12:43:57 +02:00
John Molakvoæ (skjnldsv)
6a0552224d
getDeletedSharedWith method
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-05 12:43:57 +02:00
Roeland Jago Douma
d805959e81
Add API to undelete delete group shares
When a group share is deleted we keep track of this in the DB.
Right now it is only possible for a recipient to get back the share by
asking the sharer to delete it and to share it again. This doesn't
scale.

This endpoint makes it possible to get back the share.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-05 12:43:56 +02:00
Morris Jobke
0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Lukas Reschke
b97f48f1af
Add exceptions to PHPDoc of interface
Improves static code analysis here and also keeps expectations proper.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-09-10 20:01:36 +02:00
Joas Schilling
629b7c0fc3
Adjust docs and make !$currentAccess simpler
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-13 12:58:52 +02:00
Joas Schilling
3c1365c0d1
Fix returned paths for remote shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-13 12:58:51 +02:00
Joas Schilling
91e650791d
Return the paths for the users without setting them all up
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-13 12:58:50 +02:00