provokateurin
f12cecb684
feat(rector): Enable SafeDeclareStrictTypesRector
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-09 10:59:31 +01:00
Carl Schwan
c96ece0bcb
refactor: Add more typing
...
- repairs job
- database
- redis
And remove Helpertest which was unused outside of some tests.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:55:39 +01:00
Carl Schwan
7b6078875b
refactor: Run rector on lib/private
...
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:18 +01:00
Côme Chilliet
de011ee668
feat: Allow user backends to manage property permissions
...
Not yet reflected in the UI apart from displayname/email/avatar
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-03 10:22:26 +01:00
Robin Appelman
6eb8e8d6fd
Merge pull request #57519 from nextcloud/get-existing-api
...
feat: add api to get a user object without verifying they exist
2026-01-14 11:15:42 +01:00
Robin Appelman
ae74dbef2b
Merge pull request #56499 from nextcloud/authoritative-mount-provider-files_external
...
Add api for authoritative mount providers and implement it for files_external
2026-01-13 16:36:33 +01:00
Robin Appelman
5924a2e3ec
feat: add api to get a user object without verifying they exist
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-13 15:59:07 +01:00
Joas Schilling
8b4491ae1c
fix: Add translation for temporary app password names
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-12 11:58:45 +01:00
Joas Schilling
f4acd8a7ab
fix: Adjust and add new tests
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-12 11:07:44 +01:00
Joas Schilling
927bea2b4d
fix(psalm): Satisfy psalm
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Joas Schilling
6b121c37da
feat: Allow to create one-time app passwords that only allow loading an app-password
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-09 19:07:07 +01:00
Robin Appelman
765d1af2a6
feat: yield user by id in IUserManager::getSeenUsers
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-09 17:53:49 +01:00
Benjamin Gaussorgues
c57c4843e8
feat(openmetrics): introduce OpenMetrics exporter
...
Expose a `/metrics` endpoint with some basic metrics
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-07 09:38:13 +01:00
Carl Schwan
2ae9626fec
refactor(user_ldap): Port most of the remaining deprecated IConfig usage
...
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-11 13:27:48 +01:00
Carl Schwan
6eabaaf104
refactor: Deprecated user config from IConfig correctly
...
Mark the methods in the interface deprecated instead of just the one in
the implementation.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-11 13:27:47 +01:00
Carl Schwan
9095a36b94
refactor(dbal): Port away from getDatabasePlatform() instanceof pattern
...
Use getDatabaseProvider instead.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-13 13:44:08 +02:00
Kate
7e8926011d
Merge pull request #55463 from nextcloud/fix/user-group-manager-return-type
2025-10-01 16:30:23 +02:00
provokateurin
dce2672b98
fix(IUserManager): Use correct return type for searchDisplayName method
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-01 12:48:43 +02:00
provokateurin
fb4348e3bc
fix(IUserManager): Fix deprecation of search method
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-01 12:08:58 +02:00
Ferdinand Thiessen
660f3f6fd1
refactor: use logical && || instead of weak and or operators
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-27 23:02:18 +02:00
Louis Chemineau
1d91e40fe8
feat: Support limit argument in getSeenUsers
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-05 12:45:38 +02:00
Carl Schwan
5215954ee4
perf(users): Create lazy users in IUserManager::getSeenUsers
...
Particularly relevant in occ commands/background jobs like the trashbin
expiration which only needs the user ids and not the full information.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-03 15:24:02 +02:00
Carl Schwan
c21b8169ff
refactor(querybuilder): Port away from qb::execute() in lib/
...
Replace by either executeStatement or executeQuery
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:56 +02:00
Robin Appelman
8350fea770
fix: increase how long we cache display names
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-11 11:20:05 +02:00
John Molakvoæ
1bc1902476
Merge pull request #53887 from nextcloud/fix/lower-email-case
2025-07-11 09:03:05 +02:00
Daniel Calviño Sánchez
4fcadd630b
fix: Throw specific LoginException when the user is disabled
...
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-07-10 15:09:25 +02:00
skjnldsv
027471b146
fix: force lowercase emails
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-10 09:10:01 +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
Samuel Bizien Filippi
a14cade3ac
feat(core): add cookie_domain config option
...
Signed-off-by: Samuel Bizien Filippi <samuel.bizien-filippi@finances.gouv.fr>
2025-06-16 15:33:48 +02:00
Joas Schilling
8b70f59015
chore(cs): Apply autofixes
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-29 09:18:12 +02:00
rakekniven
78bd9ad29f
chore(i18n): Improved wording
...
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-29 01:09:55 +02:00
rakekniven
c8da8628c3
chore(i18n): Add hint for translators
...
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2025-05-29 01:09:55 +02:00
Ferdinand Thiessen
e143921896
feat(IUser): add getQuotaBytes method to get machine readable quota
...
Proper replacement for deprecated `OC_Util::getUserQuota`.
Also we still use this in some cases we can now replace, moreover it
just makes sense to have a machine readable format in the API instead of
only the human readable format which is less precise.
Alings also with `getQuota` of the quota storage, which already returned
the machine readable format.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-22 12:50:38 +02:00
Ferdinand Thiessen
1ae3fa4003
chore: replace leagcy OC_Helper calls with OCP\Util
...
- Replace legacy calls with OCP\Util
- Add missing deprecation notices
- Inline implementation in OCP\Util and call it from OC_Helper
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-14 10:18:04 +02:00
Joas Schilling
1ada9910b1
fix(user): Introduce a public constant for max length of user id
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-17 09:50:12 +02:00
Joas Schilling
775ca882f3
fix(usermanager): Don't throw when checking if a too long user id is an existing user
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-16 17:47:28 +02:00
Côme Chilliet
ddd7d4ed13
fix: Deprecate OC_User methods related to user backends
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-10 11:12:25 +02:00
provokateurin
8da9c0f48c
Revert "refactor: add migration for email setting"
...
This reverts commit e7859f0dac .
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-04-07 09:55:09 +02:00
Christoph Wurst
5003467f98
fix(session): Only mark sessions of permanent tokens as app passwords
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-04-03 10:08:15 +02:00
Ferdinand Thiessen
e7859f0dac
refactor: add migration for email setting
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-02 19:06:25 +02:00
provokateurin
eb98e99530
fix(settings): Handle email change restriction separately from display name change restriction
...
Co-authored-by: provokateurin <kate@provokateurin.de>
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Louis <louis@chmn.me>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-02 19:06:25 +02:00
Louis Chemineau
22e02d1c1e
chore: Refactor callForSeenUsers to use getSeenUsers
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-03-30 08:54:41 +02:00
Louis Chemineau
275b32d513
feat: Implement getSeenUsers to iterate over users
...
This method uses an iterator.
This is lighter on resources and gives more control to the caller
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-03-30 08:54:41 +02:00
Git'Fellow
18de9be0e2
fix(database): Cast users count to integer
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-03-20 12:00:57 +01:00
Côme Chilliet
30382a5d8d
chore: Remove now unused methods from User manager
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-10 11:30:18 +01:00
Côme Chilliet
0b449f302b
fix: Correctly count disabled users for SAML groups subadmins
...
If too many users return -1 as for LDAP so that link is shown
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-10 11:30:18 +01:00
Cleopatra Enjeck M.
32e46a8b3a
fix: use mb_strtolower to convert login name
...
Signed-off-by: Cleopatra Enjeck M. <patrathewhiz@gmail.com>
2025-03-05 05:00:24 +00:00
Cleopatra Enjeck M.
a6d6a1fa9e
fix: Improve string comparison
...
Signed-off-by: Cleopatra Enjeck M. <patrathewhiz@gmail.com>
2025-03-05 05:00:24 +00:00
Cleopatra Enjeck M.
6690a28cc0
fix: Use case insensitive check when validating login name
...
Signed-off-by: Cleopatra Enjeck M. <patrathewhiz@gmail.com>
2025-03-05 05:00:24 +00:00
Ferdinand Thiessen
3c4feff028
fix: Move login via email logic to local backend
...
Backends can decide which names they accept for login,
e.g. with user_ldap you can configure arbitrary login fields.
This was a hacky approach to allow login via email,
so instead this is now only handled by the local user backend.
This also fixes some other related problems:
Other logic relys on `backend::get()` which was not handling email,
so e.g. password policy could not block users logged in via email
if they use out-dated passwords.
Similar for other integrations, as the user backend was not consistent with
what is a login name and what not.
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-03 18:02:07 +01:00