Commit graph

123 commits

Author SHA1 Message Date
Andy Scherzinger
dae7c159f7
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +02:00
Benjamin Gaussorgues
e630e4b983
Merge pull request #44763 from nextcloud/fix/group_name_length_db 2024-05-16 14:22:30 +02:00
Côme Chilliet
672923f0a6
fix: Fix newly spotted psalm issues, add exhaustive typed magic properties for LDAP classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 09:23:58 +02:00
Benjamin Gaussorgues
7a6b1f8ae8
fix(groups): allows to save group names with more than 64 characters
Mimic behaviour from LDAP users and add a hard limit to 255 characters

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-04-22 15:26:55 +02:00
Côme Chilliet
ec5133b739 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +02:00
Hugo Renard
e389e63974 fix: always add user to group cache
When there is no user in a group, and we add one, it's not added to the group cache. So consecutive call of addUser() and getUsers() is inconsistent.
Furthermore, the user cache is never null, so this check is unesserary.

Signed-off-by: Hugo Renard <hugo.renard@protonmail.com>
2024-03-26 11:07:37 +01:00
Arthur Schiwon
c98b0462e3 fix(admin role): fix old and wrong way to determine whether user is admin
- fixes Settings knowing who is an admin of non-local group backend groups
- obsoletes and removes a little old, deprecated code
- double checks proper parameter type on Group\Manager::isAdmin
- also fixes legacy OC_User code to check whether user is an admin

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2024-02-19 18:57:22 +01:00
Côme Chilliet
8bcc2d352e chore: Fix missing template parameter for IEventListener
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-01-30 10:57:15 +01:00
Joas Schilling
aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +01:00
Christoph Wurst
ea8f9a7e84 refactor: Repalce array_search with in_array in lib/
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-11-22 11:42:53 +01:00
Christoph Wurst
d779092564
Merge pull request #38425 from nextcloud/feat/ocp/strict-igroup
feat(ocp): Add types and strict typing to \OCP\Group\IGroup
2023-11-02 11:07:12 +01:00
Côme Chilliet
d18bb7e9bb
Build query once instead of in-loop
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-07 17:07:47 +02:00
Christoph Wurst
312dd8ac6d feat(ocp): Add types and strict typing to \OCP\Group\IGroup
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-09-06 11:58:09 +02:00
Côme Chilliet
35069ad86a
Fix psalm spotted type errors
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-05 16:56:48 +02:00
Côme Chilliet
2c8b415c55
Move new methods to a new interface in OCP
This avoids breaking compatibility for group backends not based on
 ABackend abstract class.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-05 16:56:48 +02:00
Carl Schwan
3270b7f12e
Add batch methods in user backends
This allows for faster group search with significantly less DB traffic

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2023-09-05 16:56:47 +02:00
Joas Schilling
daac5c9a95
fix(cache): Remove displayname cache entry on delete
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-28 14:59:54 +02:00
Joas Schilling
80f79e170d
fix!: Remove symfony EventDispatcherInterface from Group
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-27 23:13:37 +02:00
John Molakvoæ
4a86487859
fix: getGroups limit check syntax
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2023-05-11 17:30:04 +02:00
Robin Appelman
13b06ba4e2
revert public interface back to the original types, just cast them before passing the nulls to the backends
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-05-11 17:30:03 +02:00
Robin Appelman
7ad3574d71
also update groupinterface and database backend
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-05-11 17:30:03 +02:00
Robin Appelman
e4b9ecd8f2
fix default values and type hints for GroupManager::search
ints really are ints

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-05-11 17:30:01 +02:00
Côme Chilliet
10296ba7e5
Fix tests, and fix Group::searchUsers to avoid duplicates
Also went back to searchUsers indexing the array by uid as it was the
 previous behavior and the IGroup phpdoc does not say anything about the
 keys.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-05-02 11:35:41 +02:00
Côme Chilliet
346344c153
Update version number in since and deprecated annotations
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-04-27 12:04:32 +02:00
Côme Chilliet
b6c17c6ce7
Clear up return types
usersInGroup index by int for BC, searchInGroup index by uid (string).

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-04-27 12:00:45 +02:00
Côme Chilliet
3c2b126eba
Make code clearer and bump @ deprecated annotations
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-04-27 12:00:07 +02:00
Carl Schwan
a4c599c1c9
Split new method in a new group backend interface
Better for backward compatibility, also move new interfaces to nc 26

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2023-04-27 12:00:01 +02:00
Carl Schwan
35dc223500
Optimize retrieving display name when searching for users in a group
This is recurrent scenario that we are searching for users and then for
each users we fetch the displayName. This is inefficient, so instead try
to do one query to fetch everything (e.g. Database backend) or use the
already existing DisplayNameCache helper.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2023-04-27 11:57:45 +02:00
Julien Veyssier
d9925806eb
dispatch new BeforeGroupChangedEvent before setDisplayName on groups
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-02-21 10:42:38 +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
Anna Larch
7c4ceb444c Add group display name cache
Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-11-28 11:52:55 +00:00
Côme Chilliet
32eef3b10f
Do not ignore return value of deleteGroup from backend
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-04-04 16:40:07 +02:00
Côme Chilliet
6be7aa112f
Migrate from ILogger to LoggerInterface in lib/private
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-24 16:21:25 +01:00
Côme Chilliet
d5544923a9
Strong type OC\Group\MetaData
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-08 16:44:22 +01:00
Côme Chilliet
3ecba9fd17
Fix typing of OC\Group\MetaData::sorting
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-08 15:49:29 +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
Tom Grant
23dbbca1a0 Fix indentation error
Signed-off-by: tgrant <tom.grant760@gmail.com>
2021-03-17 23:04:15 +00:00
tgrant
f1710b57bc Fix null displayname crash as described in #21885
Signed-off-by: tgrant <tom.grant760@gmail.com>
2021-03-17 23:04:15 +00:00
Roeland Jago Douma
54cffefed4
Merge pull request #25660 from hosting-de/feature/add-backend-list-groups
Show group backends in occ group:list --info and group:info
2021-03-05 08:49:43 +01:00
Roeland Jago Douma
68ec18323d Fix types in the Group Manager
Psalm found an issue. However the issue found was because of lying
docblocks. Fixed those and did some typing to make it all better.

For #25839

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-03 14:52:47 +01:00
Johannes Leuker
2796ef80ff Show group backends in occ group:list --info and group:info
Signed-off-by: Johannes Leuker <j.leuker@hosting.de>
2021-03-01 16:02:08 +01:00
Christoph Wurst
8b64e92b92
Bump doctrine/dbal from 2.12.0 to 3.0.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-08 11:45:19 +01:00
Christoph Wurst
d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
Morris Jobke
e4f53ff91b
Add typed events for adding and removing a subadmin
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-10-28 21:55:08 +01:00
Roeland Jago Douma
05edd1e5d6
Merge pull request #22890 from nextcloud/techdebt/18680/help-static-code-analysis-understand-code
Help static code analysis to understand code
2020-09-17 08:51:20 +02:00
Daniel Kesselberg
096fe20611
Help static code analysis to understand code.
It adds proper type hints to private namespace to allow private namespace methods.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-09-16 16:37:17 +02:00
Morris Jobke
d3680e682a
Remove not needed semicolon and PHPDoc hint
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-16 16:18:43 +02:00
Morris Jobke
fee13e7ffd
Search also the email and displayname in user mangement for groups
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-05 14:14:05 +02:00
Christoph Wurst
a636aef585
Allow group search by display name
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-06-10 11:44:07 +02:00
Roeland Jago Douma
fd805a0388
Merge pull request #20776 from nextcloud/enh/limit_group_queries
Improve group queries
2020-05-22 14:19:28 +02:00