mirror of
				https://github.com/pierre42100/ComunicAPI
				synced 2025-11-03 19:54:14 +00:00 
			
		
		
		
	Can respond to call
This commit is contained in:
		@@ -85,6 +85,50 @@ class CallsController {
 | 
				
			|||||||
		return self::CallInformationToAPI($call);
 | 
							return self::CallInformationToAPI($call);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Respond to a call
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @url POST /calls/respond
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public function respondToCall(){
 | 
				
			||||||
 | 
							user_login_required();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Get target call ID
 | 
				
			||||||
 | 
							$call_id = $this->GetSafeCallIDFromRequest("call_id");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Get target response
 | 
				
			||||||
 | 
							$accept = postBool("accept");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Set user response to call
 | 
				
			||||||
 | 
							if(!components()->calls->setMemberResponse($call_id, userID, $accept))
 | 
				
			||||||
 | 
								Rest_fatal_error(500, "Could not set response of user to call!");
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return array(
 | 
				
			||||||
 | 
								"success" => "User response to call has been successfully set!"
 | 
				
			||||||
 | 
							);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Get safely the ID of a call from the request
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param $name The name of the POST field containing call ID
 | 
				
			||||||
 | 
						 * @return int The ID of the call
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						private function GetSafeCallIDFromRequest(string $name) : int {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Get call ID
 | 
				
			||||||
 | 
							$call_id = postInt($name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if($call_id < 1)
 | 
				
			||||||
 | 
								Rest_fatal_error(401, "Invalid call id !");
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							//Check if the user belongs to the call or not
 | 
				
			||||||
 | 
							if(!components()->calls->doesUserBelongToCall($call_id, userID))
 | 
				
			||||||
 | 
								Rest_fatal_error(401, "You do not belong to this call!");
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return $call_id;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Turn a CallsConfig object into an API entry
 | 
						 * Turn a CallsConfig object into an API entry
 | 
				
			||||||
	 * 
 | 
						 * 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -220,6 +220,21 @@ class CallsComponents {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Check out whether a user belongs to a call or not
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param $callID The ID of the target call
 | 
				
			||||||
 | 
						 * @param $userID The ID of the target user
 | 
				
			||||||
 | 
						 * @return bool TRUE if the user belongs to the call / FALSE else
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public function doesUserBelongToCall(int $callID, int $userID) : bool {
 | 
				
			||||||
 | 
							return db()->count(
 | 
				
			||||||
 | 
								self::CALLS_MEMBERS_TABLE,
 | 
				
			||||||
 | 
								"WHERE call_id = ? AND user_id = ?",
 | 
				
			||||||
 | 
								array($callID, $userID)
 | 
				
			||||||
 | 
							) > 0;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Set the response of a member to a call
 | 
						 * Set the response of a member to a call
 | 
				
			||||||
	 * 
 | 
						 * 
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user