Commit graph

163 commits

Author SHA1 Message Date
Côme Chilliet
9680004b58
chore: Remove almost all uses of deprecated IServerContainer in lib/private
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 16:22:22 +02:00
Ferdinand Thiessen
e5b1799079
chore: add missing Override attribute to test files
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:28 +02:00
Joas Schilling
aa904b255f
Merge pull request #59378 from nextcloud/carl/non-internal-api
chore: Replace MoveableMount usage with IMovableMount
2026-04-27 12:37:56 +02:00
Robin Appelman
a05a3b9005
fix: only update share for the user who moved the share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:44 +02:00
Carl Schwan
fbf84e6473
chore: Replace MoveableMount usage with IMovableMount
The former is private API while the IMovableMount is public.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-04-24 10:14:37 +02:00
Joas Schilling
0b2ad9a935
fix(sharing): Don't give a reason when share from disabled user is no longer working
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-13 08:50:31 +02:00
Carl Schwan
4acb3b5da3
perf: Perform share path validation early
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-26 11:38:59 +01:00
Carl Schwan
0676fba514
perf(sharing): Avoid loading all shares from all users when unsharing
First check which users have a shares and for which providers and then
only load these shares.

Avoid doing at most 5 SQL queries for each users a share was shared with if
there are no shares.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-25 17:14:15 +01:00
nfebe
ce0d97b6e5 test(share): Update expiration date tests for end-of-day time
Update expected values in ManagerTest to reflect the new behavior
where share expiration dates are set to 23:59:59 instead of 00:00:00.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-02-24 10:43:46 +01:00
Carl Schwan
c8989d853c
refactor(IShare): Add typing for node
This might also improve a bit the performance.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-27 11:19:33 +01: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
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
d6d6747a73 refactor: apply rector rules for PHPUnit 10
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-27 21:56:04 +01:00
Côme Chilliet
844c405f71
fix(tests): Make dataGeneralChecks static in Share20 ManagerTest
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-27 13:05:32 +02:00
Maxence Lange
6076b67696 feat(preset): share link expiration date
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-14 16:07:32 -01:00
Maxence Lange
cb84ccc57d feat(preset): share password protection
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-12 14:37:32 -01:00
Robin Appelman
aa15f9d16d
chore: run rector
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-07-01 22:45:52 +02:00
Ferdinand Thiessen
5981b7eb51
chore: apply new CSFixer rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

# Conflicts:
#	apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +02:00
Robin Appelman
29e39c0a2e
chore: run rector on tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-06-12 18:31:58 +02:00
provokateurin
ae16a28758
perf(Share20): Add interface to query all shares in a folder without filtering by user
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-08 15:29:40 +02:00
Joas Schilling
c24f5fb256
test: Finish migrating tests/Core/ to PHPUnit 10 compatible code
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-02 16:47:42 +02:00
skjnldsv
70218dc0a4 fix(files_sharing): fix share creation error handling
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-04-09 14:52:42 +00:00
Ferdinand Thiessen
0a0f56282a
fix(sharing): Move permission validation to share manager
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-28 16:40:50 +01:00
provokateurin
dcb370ab62
Revert "fix(Share20\Manager): Ensure node is still accessible when checking share"
This reverts commit c2ca99e2f6.

Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-24 09:41:14 +01:00
Christopher Ng
42d997bcd7 test: Update tests
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-01-15 15:50:43 -08:00
Côme Chilliet
365ff40929 fix(tests): Adapt ManagerTest to change in Exception class used
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-12-12 15:39:48 +01:00
provokateurin
c2ca99e2f6
fix(Share20\Manager): Ensure node is still accessible when checking share
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-25 10:27:31 +01:00
provokateurin
c378e74017
feat(Share20\Manager): Return all shares on IShareOwnerlessMount
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-25 10:27:31 +01:00
Côme Chilliet
d6ba524263
fix: Use getRelativePath method to check if node is inside folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 17:23:29 +02:00
Côme Chilliet
e584e9baf7 fix: Fix promotion of reshares from subsubfolders
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
Côme Chilliet
3ee5bf6af1 fix(tests): Fix share tests to test new reshare promotion system
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
Côme Chilliet
7e9bc7c8cf fix: Tidy up code for reshare deletion
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
Luka Trovic
42181c2f49 fix: delete re-shares when deleting the parent share
Note: Removed part about fix command from original PR

Signed-off-by: Luka Trovic <luka@nextcloud.com>
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
Git'Fellow
dcbe8da2a6 fix(l10n): Rephrasing some exceptions to be translated
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: tests

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Fix tests

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-09-20 18:35:11 +02:00
Côme Chilliet
801733e523
fix: Remove OCP\Files\Storage interface deprecated since version 9
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:10:48 +02:00
Christoph Wurst
49dd79eabb
refactor: Add void return type to PHPUnit test methods
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-09-15 22:32:31 +02:00
John Molakvoæ
78e09b5a0a fix: share manager tests translation string
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-09-04 09:03:45 +02:00
Daniel Kesselberg
af6de04e9e
style: update codestyle for coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +02:00
Andy Scherzinger
1f7e2ba599
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-13 17:41:36 +02:00
Robin Appelman
4a72b96532
test: adjust test to new permissions check logic
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-03 15:38:48 +02:00
Côme Chilliet
fda1c42ab7
fix(tests): Fix tests when daytime saving time change happened recently
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 11:24:14 +02:00
Corentin Damman
0fa9f3049f feat(files_sharing): allow to specify allowed groups to share instead of excluded groups
Relates to #3387

Signed-off-by: Corentin Damman <c.damman@intopix.com>
2024-03-15 16:52:59 +01:00
Robin Appelman
339702e376 refactor: make share manager buildable
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-06 14:33:51 +01:00
Robin Appelman
e7a7b4a401 perf: switch places that always use the first getById result to getFirstNodeById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-04 13:57:31 +01:00
Benjamin Gaussorgues
01983d50d4
feat(share): save date and time for expiration
Because of timezones, not saving time can lead to unexpected behaviour
when sharing an item sooner than timezone offset
Example: sharing a file before 9am when in UTC+9

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-02-22 11:26:01 +01:00
John Molakvoæ
4a509dfe8e
fix: phpunit
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-02-13 21:06:31 +01:00
Vincent Petry
839ddaa354
feat: rename users to account or person
Replace translated text in most locations

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2024-02-13 21:06:30 +01: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
Robin Appelman
64f62f7cfd
Merge pull request #39863 from nextcloud/sharing-mask-wrapper
move share permission logic to storage wrapper
2023-09-04 14:05:14 +02:00
Côme Chilliet
fd0de0a2d1 Fix tests, add test for the new feature
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-08-28 09:40:12 +02:00