Commit Graph

167 Commits

Author SHA1 Message Date
Git'Fellow 5dda39a61e refactor(dbal): move to modern calls
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-24 10:35:00 +02:00
provokateurin 405d250aef test: Add missing calls to the parent setUp method
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-06-10 18:07:52 +02:00
Côme Chilliet 1ab09ec753 chore: Apply new coding standard to all files
The diff can be checked using: git diff --ignore-all-space --ignore-blank-lines
To see only the changes not related to blank lines.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-01 13:46:39 +02:00
Anna Larch 0bb8081842 test(share20): replace addToAssertionCount checkbox tests in Share20 ManagerTest
Signed-off-by: Anna Larch <anna@nextcloud.com>
AI-Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 12:22:02 +02:00
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