2626use Psr \Log \LoggerInterface ;
2727
2828class PermissionService {
29- private array $ users = [];
29+
30+ /** @var array<string, array<string, User>> */
31+ private $ users = [];
3032
3133 private CappedMemoryCache $ boardCache ;
3234 /** @var CappedMemoryCache<array<Acl::PERMISSION_*, bool>> */
@@ -207,8 +209,9 @@ public function userCan(array $acls, $permission, $userId = null) {
207209 * Required to allow assigning them to cards
208210 *
209211 * @param $boardId
210- * @return array
211- */
212+ * @param $refresh
213+ * @return array<string, User>
214+ * */
212215 public function findUsers ($ boardId , $ refresh = false ) {
213216 // cache users of a board so we don't query them for every cards
214217 if (array_key_exists ((string )$ boardId , $ this ->users ) && !$ refresh ) {
@@ -222,12 +225,12 @@ public function findUsers($boardId, $refresh = false) {
222225 } catch (MultipleObjectsReturnedException $ e ) {
223226 return [];
224227 }
225-
228+ /** @var array<string, User> */
226229 $ users = [];
227230 if (!$ this ->userManager ->userExists ($ board ->getOwner ())) {
228231 $ this ->logger ->info ('No owner found for board ' . $ board ->getId ());
229232 } else {
230- $ users [$ board ->getOwner ()] = new User ($ board ->getOwner (), $ this ->userManager );
233+ $ users [( string ) $ board ->getOwner ()] = new User ($ board ->getOwner (), $ this ->userManager );
231234 }
232235 $ acls = $ this ->aclMapper ->findAll ($ boardId );
233236 /** @var Acl $acl */
@@ -237,7 +240,7 @@ public function findUsers($boardId, $refresh = false) {
237240 $ this ->logger ->info ('No user found for acl rule ' . $ acl ->getId ());
238241 continue ;
239242 }
240- $ users [$ acl ->getParticipant ()] = new User ($ acl ->getParticipant (), $ this ->userManager );
243+ $ users [( string ) $ acl ->getParticipant ()] = new User ($ acl ->getParticipant (), $ this ->userManager );
241244 }
242245 if ($ acl ->getType () === Acl::PERMISSION_TYPE_GROUP ) {
243246 $ group = $ this ->groupManager ->get ($ acl ->getParticipant ());
@@ -246,7 +249,7 @@ public function findUsers($boardId, $refresh = false) {
246249 continue ;
247250 }
248251 foreach ($ group ->getUsers () as $ user ) {
249- $ users [$ user ->getUID ()] = new User ($ user ->getUID (), $ this ->userManager );
252+ $ users [( string ) $ user ->getUID ()] = new User ($ user ->getUID (), $ this ->userManager );
250253 }
251254 }
252255
@@ -267,7 +270,7 @@ public function findUsers($boardId, $refresh = false) {
267270 if ($ user === null ) {
268271 $ this ->logger ->info ('No user found for circle member ' . $ member ->getUserId ());
269272 } else {
270- $ users [$ member ->getUserId ()] = new User ($ member ->getUserId (), $ this ->userManager );
273+ $ users [( string ) $ member ->getUserId ()] = new User ($ member ->getUserId (), $ this ->userManager );
271274 }
272275 }
273276 } catch (\Exception $ e ) {
0 commit comments