*/ class Notification extends AbstractApi { /** * Get a listing of notifications. * * @link https://developer.github.com/v3/activity/notifications/ * * @param bool $includingRead * @param bool $participating * @param DateTime|null $since * @param DateTime|null $before * * @return array array of notifications */ public function all($includingRead = false, $participating = false, DateTime $since = null, DateTime $before = null) { $parameters = [ 'all' => $includingRead, 'participating' => $participating, ]; if ($since !== null) { $parameters['since'] = $since->format(DateTime::ISO8601); } if ($before !== null) { $parameters['before'] = $before->format(DateTime::ISO8601); } return $this->get('/notifications', $parameters); } /** * Marks all notifications as read from the current date. * * Optionally give DateTime to mark as read before that date. * * @link https://developer.github.com/v3/activity/notifications/#mark-as-read * * @param DateTime|null $since */ public function markRead(DateTime $since = null) { $parameters = []; if ($since !== null) { $parameters['last_read_at'] = $since->format(DateTime::ISO8601); } $this->put('/notifications', $parameters); } /** * Mark a single thread as read using its ID. * * @link https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read * * @param int $id */ public function markThreadRead($id) { $this->patch('/notifications/threads/'.$id); } /** * Gets a single thread using its ID. * * @link https://developer.github.com/v3/activity/notifications/#view-a-single-thread * * @param int $id */ public function id($id) { return $this->get('/notifications/threads/'.$id); } }