diff options
author | Maxence Lange <maxence@nextcloud.com> | 2017-06-01 15:39:33 +0300 |
---|---|---|
committer | Maxence Lange <maxence@nextcloud.com> | 2017-06-01 15:40:32 +0300 |
commit | b8bed97356ea3f7c5a1b91d8ad948ca1cc06e99d (patch) | |
tree | e7c9649317f2a60ac982fe65220b47f8008bc79c /lib | |
parent | 45119fb11e081c61f506bcfb033f08b19f2e048d (diff) |
API::getMember()
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Api/v1/Circles.php | 21 | ||||
-rw-r--r-- | lib/Service/MembersService.php | 30 |
2 files changed, 49 insertions, 2 deletions
diff --git a/lib/Api/v1/Circles.php b/lib/Api/v1/Circles.php index 3981bb8a..a420c502 100644 --- a/lib/Api/v1/Circles.php +++ b/lib/Api/v1/Circles.php @@ -111,7 +111,7 @@ class Circles { $c = self::getContainer(); return $c->query('CirclesService') - ->joinCircle($circleId); + ->leaveCircle($circleId); } @@ -194,6 +194,25 @@ class Circles { /** + * Circles::getMember(); + * + * This function will return information on a member of the circle. Current user need at least + * to be Member. + * + * @param $circleId + * @param $userId + * + * @return Member + */ + public static function getMember($circleId, $userId) { + $c = self::getContainer(); + + return $c->query('MembersService') + ->getMember($circleId, $userId); + } + + + /** * Circles::removeMember(); * * This function will remove a member from the circle. Current user needs to be at least diff --git a/lib/Service/MembersService.php b/lib/Service/MembersService.php index cf588a64..79f49c62 100644 --- a/lib/Service/MembersService.php +++ b/lib/Service/MembersService.php @@ -110,6 +110,31 @@ class MembersService { /** + * getMember(); + * + * Will return any data of a user related to a circle (as a Member). User can be a 'non-member' + * + * @param $circleId + * @param $userId + * + * @return Member + * @throws \Exception + */ + public function getMember($circleId, $userId) { + + try { + $this->dbMembers->getMemberFromCircle($circleId, $this->userId) + ->hasToBeMember(); + $member = $this->dbMembers->getMemberFromCircle($circleId, $userId); + } catch (\Exception $e) { + throw $e; + } + + return $member; + } + + + /** * Check if a fresh member can be generated (by addMember) * * @param $circleId @@ -237,7 +262,10 @@ class MembersService { throw $e; } - $this->dbMembers->remove($member); + $member->setStatus(Member::STATUS_NONMEMBER); + $member->setLevel(Member::LEVEL_NONE); + $this->dbMembers->editMember($member); + $circle = $this->dbCircles->getDetailsFromCircle($circleId, $this->userId); return $this->dbMembers->getMembersFromCircle($circleId, $circle->getUser()); |