mirror of
https://github.com/pierre42100/ComunicAPI
synced 2024-11-23 22:09:29 +00:00
Can get a user membership
This commit is contained in:
parent
aee09dee43
commit
1a9b152b4d
@ -412,6 +412,30 @@ class GroupsController {
|
|||||||
return array("success" => "The response to the request has been successfully saved!");
|
return array("success" => "The response to the request has been successfully saved!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get information about a membership
|
||||||
|
*
|
||||||
|
* @url POST /groups/get_membership
|
||||||
|
*/
|
||||||
|
public function getMembership() : array {
|
||||||
|
|
||||||
|
//Get the ID of the target group
|
||||||
|
$groupID = getPostGroupIdWithAccess("groupID", GroupInfo::MODERATOR_ACCESS);
|
||||||
|
|
||||||
|
//Get user ID
|
||||||
|
$userID = getPostUserID("userID");
|
||||||
|
|
||||||
|
//Check if the user has a membership or not
|
||||||
|
if(!components()->groups->hasMembership($userID, $groupID))
|
||||||
|
Rest_fatal_error(404, "Specified user does not have any membership in this group!");
|
||||||
|
|
||||||
|
//Get user membership
|
||||||
|
$membership = components()->groups->getMembership($userID, $groupID);
|
||||||
|
|
||||||
|
//Parse and return result
|
||||||
|
return self::GroupMemberToAPI($membership);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse a GroupInfo object into an array for the API
|
* Parse a GroupInfo object into an array for the API
|
||||||
*
|
*
|
||||||
|
@ -240,7 +240,7 @@ class GroupsComponent {
|
|||||||
* @param int $groupID The ID of the target group
|
* @param int $groupID The ID of the target group
|
||||||
* @return bool TRUE if the database includes a membership for the user / FALSE else
|
* @return bool TRUE if the database includes a membership for the user / FALSE else
|
||||||
*/
|
*/
|
||||||
private function hasMembership(int $userID, int $groupID) : bool {
|
public function hasMembership(int $userID, int $groupID) : bool {
|
||||||
return db()->count(
|
return db()->count(
|
||||||
self::GROUPS_MEMBERS_TABLE,
|
self::GROUPS_MEMBERS_TABLE,
|
||||||
"WHERE groups_id = ? AND user_id = ?",
|
"WHERE groups_id = ? AND user_id = ?",
|
||||||
@ -375,6 +375,28 @@ class GroupsComponent {
|
|||||||
return $results[0]["level"];
|
return $results[0]["level"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get information the membership of a user over a group
|
||||||
|
*
|
||||||
|
* @param int $userID The ID of the target user
|
||||||
|
* @param int $groupID The ID of the target group
|
||||||
|
* @param GroupMember User membership
|
||||||
|
*/
|
||||||
|
public function getMembership(int $userID, int $groupID) : GroupMember {
|
||||||
|
//Fetch the database to get membership
|
||||||
|
$results = db()->select(
|
||||||
|
self::GROUPS_MEMBERS_TABLE,
|
||||||
|
"WHERE groups_id = ? AND user_id = ?",
|
||||||
|
array($groupID, $userID)
|
||||||
|
);
|
||||||
|
|
||||||
|
//Check for results
|
||||||
|
if(count($results) < 0)
|
||||||
|
return new GroupMember(); //Invalid object
|
||||||
|
|
||||||
|
return $this->dbToGroupMember($results[0]);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check whether a user is an administrator of a group
|
* Check whether a user is an administrator of a group
|
||||||
* or not
|
* or not
|
||||||
|
Loading…
Reference in New Issue
Block a user