]> source.dussan.org Git - nextcloud-server.git/commitdiff
Expose avatarScope through provisioning API
authorVincent Petry <vincent@nextcloud.com>
Wed, 24 Mar 2021 14:32:51 +0000 (15:32 +0100)
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>
Mon, 29 Mar 2021 07:03:34 +0000 (07:03 +0000)
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
apps/provisioning_api/lib/Controller/AUserData.php
apps/provisioning_api/lib/Controller/UsersController.php

index 73909a319fbc38f7ab3413e11bed68c7b6d5d21d..1280ef2136c7f36f3d74d6fd2c262df154e475ad 100644 (file)
@@ -138,6 +138,11 @@ abstract class AUserData extends OCSController {
                $data['backend'] = $targetUserObject->getBackendClassName();
                $data['subadmin'] = $this->getUserSubAdminGroupsData($targetUserObject->getUID());
                $data['quota'] = $this->fillStorageInfo($targetUserObject->getUID());
+
+               if ($includeScopes) {
+                       $data[IAccountManager::PROPERTY_AVATAR . self::SCOPE_SUFFIX] = $userAccount->getProperty(IAccountManager::PROPERTY_AVATAR)->getScope();
+               }
+
                $data[IAccountManager::PROPERTY_EMAIL] = $targetUserObject->getEMailAddress();
                if ($includeScopes) {
                        $data[IAccountManager::PROPERTY_EMAIL . self::SCOPE_SUFFIX] = $userAccount->getProperty(IAccountManager::PROPERTY_EMAIL)->getScope();
@@ -159,6 +164,7 @@ abstract class AUserData extends OCSController {
                                $data[$propertyName . self::SCOPE_SUFFIX] = $property->getScope();
                        }
                }
+
                $data['groups'] = $gids;
                $data['language'] = $this->l10nFactory->getUserLanguage($targetUserObject);
                $data['locale'] = $this->config->getUserValue($targetUserObject->getUID(), 'core', 'locale');
index eb0bf978df8e4bab8ce27ef64739c3251340c879..f933cd4cd7f99f226cdc09bac3f19791b3f7456c 100644 (file)
@@ -581,6 +581,8 @@ class UsersController extends AUserData {
                        $permittedFields[] = IAccountManager::PROPERTY_WEBSITE . self::SCOPE_SUFFIX;
                        $permittedFields[] = IAccountManager::PROPERTY_TWITTER . self::SCOPE_SUFFIX;
 
+                       $permittedFields[] = IAccountManager::PROPERTY_AVATAR . self::SCOPE_SUFFIX;
+
                        // If admin they can edit their own quota
                        if ($this->groupManager->isAdmin($currentLoggedInUser->getUID())) {
                                $permittedFields[] = 'quota';
@@ -690,6 +692,7 @@ class UsersController extends AUserData {
                        case IAccountManager::PROPERTY_ADDRESS . self::SCOPE_SUFFIX:
                        case IAccountManager::PROPERTY_WEBSITE . self::SCOPE_SUFFIX:
                        case IAccountManager::PROPERTY_TWITTER . self::SCOPE_SUFFIX:
+                       case IAccountManager::PROPERTY_AVATAR . self::SCOPE_SUFFIX:
                                $propertyName = substr($key, 0, strlen($key) - strlen(self::SCOPE_SUFFIX));
                                $userAccount = $this->accountManager->getUser($targetUser);
                                if ($userAccount[$propertyName]['scope'] !== $value) {