Use friend model.

This commit is contained in:
Pierre 2018-02-03 15:25:58 +01:00
parent 375a4c6c82
commit 9bc436b2a2
2 changed files with 51 additions and 9 deletions

View File

@ -22,11 +22,20 @@ class friendsController{
if($friendsList === false) if($friendsList === false)
Rest_fatal_error(500, "Couldn't get friends list !"); Rest_fatal_error(500, "Couldn't get friends list !");
//Process the list
$api_list = array();
foreach($friendsList as $friend){
//Parse friend informations
$api_list[] = $this->parseFriendAPI($friend);
}
//Update the last activity of the user //Update the last activity of the user
CS::get()->components->user->updateLastActivity(userID); CS::get()->components->user->updateLastActivity(userID);
//Return list //Return list
return $friendsList; return $api_list;
} }
/** /**
@ -213,4 +222,23 @@ class friendsController{
//Success //Success
return array("success" => "Friendship status has been updated!"); return array("success" => "Friendship status has been updated!");
} }
/**
* Convert a friend object into an object readable by the api
*
* @param Friend $friend The input friend
* @return array Informations about the friend readable by the api
*/
private function parseFriendAPI(Friend $friend) : array {
//Parse informations about the friend
$data = array(
"ID_friend" => $friend->getFriendID(),
"accepted" => $friend->isAccepted() ? 1 : 0,
"following" => $friend->isFollowing() ? 1 : 0,
"time_last_activity" => $friend->getLastActivityTime()
);
return $data;
}
} }

View File

@ -28,7 +28,7 @@ class friends {
* Get and returns the list of the friends of a user * Get and returns the list of the friends of a user
* *
* @param int $userID The ID of the user * @param int $userID The ID of the user
* @return array The list of the friends of the user * @return array The list of the friends of the user (Friend objects)
*/ */
public function getList(int $userID) : array { public function getList(int $userID) : array {
@ -51,12 +51,7 @@ class friends {
//Process results //Process results
$friendsList = array(); $friendsList = array();
foreach($results as $process){ foreach($results as $process){
$friendsList[] = array( $friendsList[] = $this->parse_friend_db_infos($process);
"ID_friend" => $process["ID_amis"],
"accepted" => $process["actif"],
"following" => $process["abonnement"],
"time_last_activity" => $process["last_activity"]
);
} }
//Return result //Return result
@ -353,6 +348,25 @@ class friends {
return CS::get()->db->count($tableName, $conditions, $condValues); return CS::get()->db->count($tableName, $conditions, $condValues);
} }
/**
* Parse friend informations from the database
*
* @param array $data Informations about the friend from the database
* @return Friend Parsed friend object
*/
private function parse_friend_db_infos(array $data) : Friend {
$friend = new Friend();
//Parse informations
$friend->setFriendID($data["ID_amis"]);
$friend->setAccepted($data["actif"] == 1);
$friend->setFollowing($data["abonnement"] == 1);
$friend->setLastActivityTime($data["last_activity"]);
return $friend;
}
} }
//Register component //Register component