Rename some parameters and methods to make the API more clear

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2021-03-10 20:30:29 +01:00
parent 99c1eda9c5
commit 5fa52d492a
No known key found for this signature in database
GPG Key ID: 7076EA9751AACDDA
5 changed files with 38 additions and 11 deletions

View File

@ -679,7 +679,7 @@ class UsersController extends AUserData {
$this->accountManager->updateUser($targetUser, $userAccount, true); $this->accountManager->updateUser($targetUser, $userAccount, true);
if ($key === IAccountManager::PROPERTY_PHONE) { if ($key === IAccountManager::PROPERTY_PHONE) {
$this->knownUserService->deleteKnownUser($targetUser->getUID()); $this->knownUserService->deleteByContactUserId($targetUser->getUID());
} }
} catch (\InvalidArgumentException $e) { } catch (\InvalidArgumentException $e) {
throw new OCSException('Invalid ' . $e->getMessage(), 102); throw new OCSException('Invalid ' . $e->getMessage(), 102);

View File

@ -49,6 +49,6 @@ class UserDeletedListener implements IEventListener {
$this->service->deleteKnownTo($user->getUID()); $this->service->deleteKnownTo($user->getUID());
// Delete all entries that other users know this user // Delete all entries that other users know this user
$this->service->deleteKnownUser($user->getUID()); $this->service->deleteByContactUserId($user->getUID());
} }
} }

View File

@ -413,7 +413,7 @@ class UsersController extends Controller {
try { try {
$data = $this->saveUserSettings($user, $data); $data = $this->saveUserSettings($user, $data);
if ($beforeData[IAccountManager::PROPERTY_PHONE]['value'] !== $data[IAccountManager::PROPERTY_PHONE]['value']) { if ($beforeData[IAccountManager::PROPERTY_PHONE]['value'] !== $data[IAccountManager::PROPERTY_PHONE]['value']) {
$this->knownUserService->deleteKnownUser($user->getUID()); $this->knownUserService->deleteByContactUserId($user->getUID());
} }
return new DataResponse( return new DataResponse(
[ [

View File

@ -63,10 +63,12 @@ class KnownUserMapper extends QBMapper {
} }
/** /**
* Returns all "known users" for the given "known to" user
*
* @param string $knownTo * @param string $knownTo
* @return KnownUser[] * @return KnownUser[]
*/ */
public function getKnownTo(string $knownTo): array { public function getKnownUsers(string $knownTo): array {
$query = $this->db->getQueryBuilder(); $query = $this->db->getQueryBuilder();
$query->select('*') $query->select('*')
->from($this->getTableName()) ->from($this->getTableName())

View File

@ -33,30 +33,55 @@ class KnownUserService {
$this->mapper = $mapper; $this->mapper = $mapper;
} }
/**
* Delete all matches where the given user is the owner of the phonebook
*
* @param string $knownTo
* @return int Number of deleted matches
*/
public function deleteKnownTo(string $knownTo): int { public function deleteKnownTo(string $knownTo): int {
return $this->mapper->deleteKnownTo($knownTo); return $this->mapper->deleteKnownTo($knownTo);
} }
public function deleteKnownUser(string $knownUser): int { /**
return $this->mapper->deleteKnownUser($knownUser); * Delete all matches where the given user is the one in the phonebook
*
* @param string $contactUserId
* @return int Number of deleted matches
*/
public function deleteByContactUserId(string $contactUserId): int {
return $this->mapper->deleteKnownUser($contactUserId);
} }
public function storeIsKnownToUser(string $knownTo, string $knownUser): void { /**
* Store a match because $knownTo has $contactUserId in his phonebook
*
* @param string $knownTo User id of the owner of the phonebook
* @param string $contactUserId User id of the contact in the phonebook
*/
public function storeIsKnownToUser(string $knownTo, string $contactUserId): void {
$entity = new KnownUser(); $entity = new KnownUser();
$entity->setKnownTo($knownTo); $entity->setKnownTo($knownTo);
$entity->setKnownUser($knownUser); $entity->setKnownUser($contactUserId);
$this->mapper->insert($entity); $this->mapper->insert($entity);
} }
public function isKnownToUser(string $knownTo, string $user): bool { /**
* Check if $contactUserId is in the phonebook of $knownTo
*
* @param string $knownTo User id of the owner of the phonebook
* @param string $contactUserId User id of the contact in the phonebook
* @return bool
*/
public function isKnownToUser(string $knownTo, string $contactUserId): bool {
if (!isset($this->knownUsers[$knownTo])) { if (!isset($this->knownUsers[$knownTo])) {
$entities = $this->mapper->getKnownTo($knownTo); $entities = $this->mapper->getKnownUsers($knownTo);
$this->knownUsers[$knownTo] = []; $this->knownUsers[$knownTo] = [];
foreach ($entities as $entity) { foreach ($entities as $entity) {
$this->knownUsers[$knownTo][$entity->getKnownUser()] = true; $this->knownUsers[$knownTo][$entity->getKnownUser()] = true;
} }
} }
return isset($this->knownUsers[$knownTo][$user]); return isset($this->knownUsers[$knownTo][$contactUserId]);
} }
} }