Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2021-04-01 09:05:54 +0300
committerGitHub <noreply@github.com>2021-04-01 09:05:54 +0300
commitbbc64cfabce08d96ebd70dc3b7fc58313b1ecfaa (patch)
tree72d8f04bd22ced793cb91480cb75831ad1e644f6 /lib
parentf016cbe91471007aaae72f3f42a966f1b7c75c77 (diff)
parentfcedbc85d08f66b296416b00774d8a3ca3ba5257 (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.php14
-rw-r--r--lib/public/Accounts/IAccountManager.php10
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