Skip to content

Commit

Permalink
refactor(gateway): Make all calls to API go through one unique method
Browse files Browse the repository at this point in the history
  • Loading branch information
remi-san committed Jul 9, 2017
1 parent 055f781 commit aa6956f
Showing 1 changed file with 46 additions and 15 deletions.
61 changes: 46 additions & 15 deletions src/API/REST/Gateway/CodebirdTwitterApiGateway.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,9 @@ public function authenticate(AuthenticationToken $token)
*/
public function getAuthenticationUrl()
{
$reply = $this->handleResult($this->codebird->oauth_requestToken())->getContent();
$reply = $this->handleResult(
$this->callApi('oauth_requestToken')
)->getContent();

$this->authenticate(new AuthenticationToken($reply->oauth_token, $reply->oauth_token_secret));

Expand All @@ -89,7 +91,7 @@ public function getAuthenticationUrl()
public function getAuthenticationToken($verificationToken)
{
$reply = $this->handleResult(
$this->codebird->oauth_accessToken(['oauth_verifier' => $verificationToken])
$this->callApi('oauth_accessToken', ['oauth_verifier' => $verificationToken])
)->getContent();

return new AuthenticationToken($reply->oauth_token, $reply->oauth_token_secret);
Expand All @@ -108,7 +110,7 @@ public function consumeUserStream(
callable $callback
) {
$this->codebird->setStreamingCallback($callback);
$this->codebird->user($request->toArray());
$this->callApi('user', $request->toArray());
}

/**
Expand All @@ -120,7 +122,9 @@ public function consumeUserStream(
*/
public function getUserInformation(UserInformationQuery $request)
{
return $this->handleResult($this->codebird->users_show($request->toArray()));
return $this->handleResult(
$this->callApi('users_show', $request->toArray())
);
}

/**
Expand All @@ -135,7 +139,7 @@ public function getUserInformation(UserInformationQuery $request)
public function statusesMentionsTimeLine(MentionsTimelineQuery $query)
{
return $this->handleResult(
$this->codebird->statuses_mentionsTimeline($query->toArray()),
$this->callApi('statuses_mentionsTimeline', $query->toArray()),
true
);
}
Expand All @@ -152,7 +156,7 @@ public function statusesMentionsTimeLine(MentionsTimelineQuery $query)
public function statusesUserTimeLine(UserTimelineQuery $query)
{
return $this->handleResult(
$this->codebird->statuses_userTimeline($query->toArray()),
$this->callApi('statuses_userTimeline', $query->toArray()),
true
);
}
Expand All @@ -169,7 +173,7 @@ public function statusesUserTimeLine(UserTimelineQuery $query)
public function directMessages(DirectMessageQuery $query)
{
return $this->handleResult(
$this->codebird->directMessages($query->toArray()),
$this->callApi('directMessages', $query->toArray()),
true
);
}
Expand All @@ -186,7 +190,7 @@ public function directMessages(DirectMessageQuery $query)
public function sentDirectMessages(SentDirectMessageQuery $query)
{
return $this->handleResult(
$this->codebird->directMessages_sent($query->toArray()),
$this->callApi('directMessages_sent', $query->toArray()),
true
);
}
Expand All @@ -200,7 +204,9 @@ public function sentDirectMessages(SentDirectMessageQuery $query)
*/
public function friends(FriendsListQuery $query)
{
return $this->handleResult($this->codebird->friends_list($query->toArray()));
return $this->handleResult(
$this->callApi('friends_list', $query->toArray())
);
}

/**
Expand All @@ -214,7 +220,9 @@ public function friends(FriendsListQuery $query)
*/
public function updateStatus(TweetParameters $parameters)
{
return $this->handleResult($this->codebird->statuses_update($parameters->toArray()));
return $this->handleResult(
$this->callApi('statuses_update', $parameters->toArray())
);
}

/**
Expand All @@ -228,7 +236,9 @@ public function updateStatus(TweetParameters $parameters)
*/
public function newDirectMessage(DirectMessageParameters $parameters)
{
return $this->handleResult($this->codebird->directMessages_new($parameters->toArray()));
return $this->handleResult(
$this->callApi('directMessages_new', $parameters->toArray())
);
}

/**
Expand All @@ -242,7 +252,9 @@ public function newDirectMessage(DirectMessageParameters $parameters)
*/
public function deleteStatus(DeleteTweetParameters $parameters)
{
return $this->handleResult($this->codebird->statuses_destroy_ID($parameters->toArray()));
return $this->handleResult(
$this->callApi('statuses_destroy_ID', $parameters->toArray())
);
}

/**
Expand All @@ -256,7 +268,9 @@ public function deleteStatus(DeleteTweetParameters $parameters)
*/
public function deleteDirectMessage(DeleteDirectMessageParameters $parameters)
{
return $this->handleResult($this->codebird->directMessages_destroy($parameters->toArray()));
return $this->handleResult(
$this->callApi('directMessages_destroy', $parameters->toArray())
);
}

/**
Expand All @@ -270,7 +284,9 @@ public function deleteDirectMessage(DeleteDirectMessageParameters $parameters)
*/
public function createFriendship(FollowParameters $parameters)
{
return $this->handleResult($this->codebird->friendships_create($parameters->toArray()));
return $this->handleResult(
$this->callApi('friendships_create', $parameters->toArray())
);
}

/**
Expand All @@ -284,7 +300,22 @@ public function createFriendship(FollowParameters $parameters)
*/
public function destroyFriendship(UserIdentifier $parameters)
{
return $this->handleResult($this->codebird->friendships_destroy($parameters->toArray()));
return $this->handleResult(
$this->callApi('friendships_destroy', $parameters->toArray())
);
}

/**
* Call the twitter API
*
* @param string $slugifiedRoute
* @param string[] $parameters
*
* @return object|array
*/
private function callApi($slugifiedRoute, array $parameters = [])
{
return $this->codebird->{$slugifiedRoute}($parameters);
}

/**
Expand Down

0 comments on commit aa6956f

Please sign in to comment.