From 4d6ada1523606b6235e7d1684323e53d68c01c10 Mon Sep 17 00:00:00 2001 From: Pierre HUBERT Date: Fri, 25 Jan 2019 19:12:06 +0100 Subject: [PATCH] Added hang up status --- RestControllers/CallsController.php | 3 ++- classes/components/CallsComponent.php | 27 ++++++++++++++++++++++-- classes/models/CallMemberInformation.php | 1 + 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/RestControllers/CallsController.php b/RestControllers/CallsController.php index c5b8f95..f1daec7 100644 --- a/RestControllers/CallsController.php +++ b/RestControllers/CallsController.php @@ -14,7 +14,8 @@ class CallsController { const USER_RESPONSE_TO_CALL = array( CallMemberInformation::USER_ACCEPTED => "accepted", CallMemberInformation::USER_REJECTED => "rejected", - CallMemberInformation::USER_UNKNOWN => "unknown" + CallMemberInformation::USER_UNKNOWN => "unknown", + CallMemberInformation::USER_HANG_UP => "hang_up" ); /** diff --git a/classes/components/CallsComponent.php b/classes/components/CallsComponent.php index c83f109..3f998ee 100644 --- a/classes/components/CallsComponent.php +++ b/classes/components/CallsComponent.php @@ -265,12 +265,35 @@ class CallsComponents { * @return bool TRUE for a success / FALSE else */ public function setMemberResponse(int $callID, int $userID, bool $accept) : bool { + return $this->setMemberStatus( + $accept ? CallMemberInformation::USER_ACCEPTED : CallMemberInformation::USER_REJECTED, $callID, $userID); + } + + /** + * Make user hang up the call + * + * @param int $callID Target call ID + * @param int $userID Target user ID + * @return bool TRUE for a success / FALSE else + */ + public function setMemberHangUp(int $callID, int $userID) : bool { + return $this->setMemberStatus(CallMemberInformation::USER_HANG_UP, $callID, $userID); + } + + /** + * Update member status + * + * @param $status New status for the user + * @param $callID Target call ID + * @param $userID Target user ID + * @return bool TRUE for a success / FALSE else + */ + private function setMemberStatus(int $status, int $callID, int $userID){ db()->updateDB( self::CALLS_MEMBERS_TABLE, "call_id = ? AND user_id = ?", array( - "user_accepted" => - $accept ? CallMemberInformation::USER_ACCEPTED : CallMemberInformation::USER_REJECTED + "user_accepted" => $status ), array( $callID, diff --git a/classes/models/CallMemberInformation.php b/classes/models/CallMemberInformation.php index d71db87..ba0c235 100644 --- a/classes/models/CallMemberInformation.php +++ b/classes/models/CallMemberInformation.php @@ -13,6 +13,7 @@ class CallMemberInformation extends BaseUniqueObjectFromUser { public const USER_ACCEPTED = 1; public const USER_REJECTED = 0; public const USER_UNKNOWN = -1; + public const USER_HANG_UP = 2;