Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/circles.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMaxence Lange <maxence@nextcloud.com>2017-06-01 15:39:33 +0300
committerMaxence Lange <maxence@nextcloud.com>2017-06-01 15:40:32 +0300
commitb8bed97356ea3f7c5a1b91d8ad948ca1cc06e99d (patch)
treee7c9649317f2a60ac982fe65220b47f8008bc79c /lib
parent45119fb11e081c61f506bcfb033f08b19f2e048d (diff)
API::getMember()
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/Api/v1/Circles.php21
-rw-r--r--lib/Service/MembersService.php30
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());