diff options
author | Julius Härtl <jus@bitgrid.net> | 2021-04-01 09:05:54 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-01 09:05:54 +0300 |
commit | bbc64cfabce08d96ebd70dc3b7fc58313b1ecfaa (patch) | |
tree | 72d8f04bd22ced793cb91480cb75831ad1e644f6 /lib | |
parent | f016cbe91471007aaae72f3f42a966f1b7c75c77 (diff) | |
parent | fcedbc85d08f66b296416b00774d8a3ca3ba5257 (diff) |
Merge pull request #26394 from nextcloud/feature/noid/updatable-account-data
Allow apps to write/update account data
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/Accounts/AccountManager.php | 14 | ||||
-rw-r--r-- | lib/public/Accounts/IAccountManager.php | 10 |
2 files changed, 24 insertions, 0 deletions
diff --git a/lib/private/Accounts/AccountManager.php b/lib/private/Accounts/AccountManager.php index 6198f8dbddd..7b08fa3e598 100644 --- a/lib/private/Accounts/AccountManager.php +++ b/lib/private/Accounts/AccountManager.php @@ -510,4 +510,18 @@ class AccountManager implements IAccountManager { public function getAccount(IUser $user): IAccount { return $this->parseAccountData($user, $this->getUser($user)); } + + public function updateAccount(IAccount $account): void { + $data = []; + + foreach ($account->getProperties() as $property) { + $data[$property->getName()] = [ + 'value' => $property->getValue(), + 'scope' => $property->getScope(), + 'verified' => $property->getVerified(), + ]; + } + + $this->updateUser($account->getUser(), $data, true); + } } diff --git a/lib/public/Accounts/IAccountManager.php b/lib/public/Accounts/IAccountManager.php index e88fd32f674..63fbc9ba312 100644 --- a/lib/public/Accounts/IAccountManager.php +++ b/lib/public/Accounts/IAccountManager.php @@ -111,6 +111,16 @@ interface IAccountManager { public function getAccount(IUser $user): IAccount; /** + * Update the account data with for the user + * + * @since 21.0.1 + * + * @param IAccount $account + * @throws \InvalidArgumentException Message is the property that was invalid + */ + public function updateAccount(IAccount $account): void; + + /** * Search for users based on account data * * @param string $property |