radarrplexorganizrnginxsonarrdashboardsabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepage
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							90 lines
						
					
					
						
							2.3 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							90 lines
						
					
					
						
							2.3 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								namespace Github\Api;
							 | 
						|
								
							 | 
						|
								use DateTime;
							 | 
						|
								
							 | 
						|
								/**
							 | 
						|
								 * API for accessing Notifications from your Git/Github repositories.
							 | 
						|
								 *
							 | 
						|
								 * Important! You have to be authenticated to perform these methods
							 | 
						|
								 *
							 | 
						|
								 * @link   https://developer.github.com/v3/activity/notifications/
							 | 
						|
								 *
							 | 
						|
								 * @author Dennis de Greef <github@link0.net>
							 | 
						|
								 */
							 | 
						|
								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
							 | 
						|
								     *
							 | 
						|
								     * @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);
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |