From 9d8cf3b1a58d651838d7828e1c037d5f05b0355f Mon Sep 17 00:00:00 2001 From: netkas Date: Thu, 30 Jan 2025 00:24:11 -0500 Subject: [PATCH] Added Method AddressBookContactExists --- .../AddressBook/AddressBookContactExists.php | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/Socialbox/Classes/StandardMethods/AddressBook/AddressBookContactExists.php diff --git a/src/Socialbox/Classes/StandardMethods/AddressBook/AddressBookContactExists.php b/src/Socialbox/Classes/StandardMethods/AddressBook/AddressBookContactExists.php new file mode 100644 index 0000000..c592341 --- /dev/null +++ b/src/Socialbox/Classes/StandardMethods/AddressBook/AddressBookContactExists.php @@ -0,0 +1,51 @@ +containsParameter('peer')) + { + return $rpcRequest->produceError(StandardError::RPC_INVALID_ARGUMENTS, 'Missing required peer parameter'); + } + + try + { + $address = PeerAddress::fromAddress($rpcRequest->getParameter('peer')); + } + catch(InvalidArgumentException $e) + { + throw new StandardException('Invalid peer address', StandardError::RPC_INVALID_ARGUMENTS, $e); + } + + try + { + $peer = $request->getPeer(); + return $rpcRequest->produceResponse(ContactManager::isContact($peer, $address)); + } + catch (DatabaseOperationException $e) + { + throw new StandardException('Failed to check if the contact exists', StandardError::INTERNAL_SERVER_ERROR, $e); + } + } + } \ No newline at end of file