/** * Adds a discussion to this discussions state instance. * * @param Discussion $discussion * @param StateTransitionOption $option,... * * @return DiscussionState */ public function addDiscussion(Discussion $discussion, StateTransitionOption $option = null) { $entity = new FamilySearchPlatform(); $entity->addDiscussion($discussion); $request = $this->createAuthenticatedRequest('POST', $this->getSelfUri(), FamilySearchRequest::getMediaTypes(), null, $entity->toJson()); return $this->stateFactory->createState('DiscussionState', $this->client, $request, $this->passOptionsTo('invoke', array($request), func_get_args()), $this->accessToken); }
/** * Adds a discussion to the current collection. * * @param Discussion $discussion * @param StateTransitionOption $option,... * * @return DiscussionState * @throws GedcomxApplicationException */ public function addDiscussion(Discussion $discussion, StateTransitionOption $option = null) { $link = $this->getLink(Rel::DISCUSSIONS); if ($link == null || $link->getHref() == null) { throw new GedcomxApplicationException("Unable to add discussion: missing link."); } $entity = new FamilySearchPlatform(); $entity->addDiscussion($discussion); $request = $this->createAuthenticatedRequest('POST', $link->getHref(), FamilySearchRequest::getMediaTypes(), null, $entity->toJson()); return $this->stateFactory->createState('DiscussionState', $this->client, $request, $this->passOptionsTo('invoke', array($request), func_get_args()), $this->accessToken); }