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);
if ($key === IAccountManager::PROPERTY_PHONE) {
$this->knownUserService->deleteKnownUser($targetUser->getUID());
$this->knownUserService->deleteByContactUserId($targetUser->getUID());
}
} catch (\InvalidArgumentException $e) {
throw new OCSException('Invalid ' . $e->getMessage(), 102);

View File

@ -49,6 +49,6 @@ class UserDeletedListener implements IEventListener {
$this->service->deleteKnownTo($user->getUID());
// 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 {
$data = $this->saveUserSettings($user, $data);
if ($beforeData[IAccountManager::PROPERTY_PHONE]['value'] !== $data[IAccountManager::PROPERTY_PHONE]['value']) {
$this->knownUserService->deleteKnownUser($user->getUID());
$this->knownUserService->deleteByContactUserId($user->getUID());
}
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
* @return KnownUser[]
*/
public function getKnownTo(string $knownTo): array {
public function getKnownUsers(string $knownTo): array {
$query = $this->db->getQueryBuilder();
$query->select('*')
->from($this->getTableName())

View File

@ -33,30 +33,55 @@ class KnownUserService {
$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 {
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->setKnownTo($knownTo);
$entity->setKnownUser($knownUser);
$entity->setKnownUser($contactUserId);
$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])) {
$entities = $this->mapper->getKnownTo($knownTo);
$entities = $this->mapper->getKnownUsers($knownTo);
$this->knownUsers[$knownTo] = [];
foreach ($entities as $entity) {
$this->knownUsers[$knownTo][$entity->getKnownUser()] = true;
}
}
return isset($this->knownUsers[$knownTo][$user]);
return isset($this->knownUsers[$knownTo][$contactUserId]);
}
}