173 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			173 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			PHP
		
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace OpenApi\LinkExample;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class RepositoriesController
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @OA\Get(path="/2.0/repositories/{username}",
							 | 
						||
| 
								 | 
							
								     *   operationId="getRepositoriesByOwner",
							 | 
						||
| 
								 | 
							
								     *   @OA\Parameter(
							 | 
						||
| 
								 | 
							
								     *     name="username",
							 | 
						||
| 
								 | 
							
								     *     in="path",
							 | 
						||
| 
								 | 
							
								     *     required=true,
							 | 
						||
| 
								 | 
							
								     *     @OA\Schema(type="string")
							 | 
						||
| 
								 | 
							
								     *   ),
							 | 
						||
| 
								 | 
							
								     *   @OA\Response(response=200,
							 | 
						||
| 
								 | 
							
								     *     description="repositories owned by the supplied user",
							 | 
						||
| 
								 | 
							
								     *     @OA\JsonContent(type="array",
							 | 
						||
| 
								 | 
							
								     *       @OA\Items(ref="#/components/schemas/repository")
							 | 
						||
| 
								 | 
							
								     *     ),
							 | 
						||
| 
								 | 
							
								     *     @OA\Link(link="userRepository", ref="#/components/links/UserRepository")
							 | 
						||
| 
								 | 
							
								     *   )
							 | 
						||
| 
								 | 
							
								     * )
							 | 
						||
| 
								 | 
							
								     * @OA\Link(link="UserRepositories",
							 | 
						||
| 
								 | 
							
								     *   operationId="getRepositoriesByOwner",
							 | 
						||
| 
								 | 
							
								     *   parameters={"username"="$response.body#/username"}
							 | 
						||
| 
								 | 
							
								     * )
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function getRepositoriesByOwner($username)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     ** @OA\Get(path="/2.0/repositories/{username}/{slug}",
							 | 
						||
| 
								 | 
							
								     *   operationId="getRepository",
							 | 
						||
| 
								 | 
							
								     *   @OA\Parameter(name="username",
							 | 
						||
| 
								 | 
							
								     *     in="path",
							 | 
						||
| 
								 | 
							
								     *     required=true,
							 | 
						||
| 
								 | 
							
								     *     @OA\Schema(type="string")
							 | 
						||
| 
								 | 
							
								     *   ),
							 | 
						||
| 
								 | 
							
								     *   @OA\Parameter(name="slug",
							 | 
						||
| 
								 | 
							
								     *     in="path",
							 | 
						||
| 
								 | 
							
								     *     required=true,
							 | 
						||
| 
								 | 
							
								     *     @OA\Schema(type="string")
							 | 
						||
| 
								 | 
							
								     *   ),
							 | 
						||
| 
								 | 
							
								     *   @OA\Response(response=200,
							 | 
						||
| 
								 | 
							
								     *       description="The repository",
							 | 
						||
| 
								 | 
							
								     *       @OA\JsonContent(ref="#/components/schemas/repository"),
							 | 
						||
| 
								 | 
							
								     *       @OA\Link(link="repositoryPullRequests", ref="#/components/links/RepositoryPullRequests")
							 | 
						||
| 
								 | 
							
								     *     )
							 | 
						||
| 
								 | 
							
								     *   )
							 | 
						||
| 
								 | 
							
								     * )
							 | 
						||
| 
								 | 
							
								     * @OA\Link(link="UserRepository",
							 | 
						||
| 
								 | 
							
								     *   operationId="getRepository",
							 | 
						||
| 
								 | 
							
								     *   parameters={
							 | 
						||
| 
								 | 
							
								     *     "username"="$response.body#/owner/username",
							 | 
						||
| 
								 | 
							
								     *     "slug"="$response.body#/slug"
							 | 
						||
| 
								 | 
							
								     *   }
							 | 
						||
| 
								 | 
							
								     * )
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function getRepository()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @OA\Get(path="/2.0/repositories/{username}/{slug}/pullrequests",
							 | 
						||
| 
								 | 
							
								     *   operationId="getPullRequestsByRepository",
							 | 
						||
| 
								 | 
							
								     *   @OA\Parameter(name="username",
							 | 
						||
| 
								 | 
							
								     *     in="path",
							 | 
						||
| 
								 | 
							
								     *     required=true,
							 | 
						||
| 
								 | 
							
								     *     @OA\Schema(type="string")
							 | 
						||
| 
								 | 
							
								     *   ),
							 | 
						||
| 
								 | 
							
								     *   @OA\Parameter(name="slug",
							 | 
						||
| 
								 | 
							
								     *     in="path",
							 | 
						||
| 
								 | 
							
								     *     required=true,
							 | 
						||
| 
								 | 
							
								     *     @OA\Schema(type="string")
							 | 
						||
| 
								 | 
							
								     *   ),
							 | 
						||
| 
								 | 
							
								     *   @OA\Parameter(name="state",
							 | 
						||
| 
								 | 
							
								     *     in="query",
							 | 
						||
| 
								 | 
							
								     *     @OA\Schema(type="string",
							 | 
						||
| 
								 | 
							
								     *       enum={"open", "merged", "declined"}
							 | 
						||
| 
								 | 
							
								     *     )
							 | 
						||
| 
								 | 
							
								     *   ),
							 | 
						||
| 
								 | 
							
								     *   @OA\Response(response=200,
							 | 
						||
| 
								 | 
							
								     *     description="an array of pull request objects",
							 | 
						||
| 
								 | 
							
								     *     @OA\JsonContent(type="array",
							 | 
						||
| 
								 | 
							
								     *         @OA\Items(ref="#/components/schemas/pullrequest")
							 | 
						||
| 
								 | 
							
								     *     )
							 | 
						||
| 
								 | 
							
								     *   )
							 | 
						||
| 
								 | 
							
								     * )
							 | 
						||
| 
								 | 
							
								     * @OA\Link(link="RepositoryPullRequests",
							 | 
						||
| 
								 | 
							
								     *   operationId="getPullRequestsByRepository",
							 | 
						||
| 
								 | 
							
								     *   parameters={
							 | 
						||
| 
								 | 
							
								     *     "username"="$response.body#/owner/username",
							 | 
						||
| 
								 | 
							
								     *     "slug"="$response.body#/slug"
							 | 
						||
| 
								 | 
							
								     *   }
							 | 
						||
| 
								 | 
							
								     * )
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function getPullRequestsByRepository()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @OA\Get(path="/2.0/repositories/{username}/{slug}/pullrequests/{pid}",
							 | 
						||
| 
								 | 
							
								     *   operationId="getPullRequestsById",
							 | 
						||
| 
								 | 
							
								     *   @OA\Parameter(name="username",
							 | 
						||
| 
								 | 
							
								     *     in="path",
							 | 
						||
| 
								 | 
							
								     *     required=true,
							 | 
						||
| 
								 | 
							
								     *     @OA\Schema(type="string")
							 | 
						||
| 
								 | 
							
								     *   ),
							 | 
						||
| 
								 | 
							
								     *   @OA\Parameter(name="slug",
							 | 
						||
| 
								 | 
							
								     *     in="path",
							 | 
						||
| 
								 | 
							
								     *     required=true,
							 | 
						||
| 
								 | 
							
								     *     @OA\Schema(type="string")
							 | 
						||
| 
								 | 
							
								     *   ),
							 | 
						||
| 
								 | 
							
								     *   @OA\Parameter(name="pid",
							 | 
						||
| 
								 | 
							
								     *     in="path",
							 | 
						||
| 
								 | 
							
								     *     required=true,
							 | 
						||
| 
								 | 
							
								     *     @OA\Schema(type="string")
							 | 
						||
| 
								 | 
							
								     *   ),
							 | 
						||
| 
								 | 
							
								     *   @OA\Response(response=200,
							 | 
						||
| 
								 | 
							
								     *     description="a pull request object",
							 | 
						||
| 
								 | 
							
								     *     @OA\JsonContent(ref="#/components/schemas/pullrequest"),
							 | 
						||
| 
								 | 
							
								     *     @OA\Link(link="pullRequestMerge", ref="#/components/links/PullRequestMerge")
							 | 
						||
| 
								 | 
							
								     *   )
							 | 
						||
| 
								 | 
							
								     * )
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function getPullRequestsById()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @OA\Post(path="/2.0/repositories/{username}/{slug}/pullrequests/{pid}/merge",
							 | 
						||
| 
								 | 
							
								     *   operationId="mergePullRequest",
							 | 
						||
| 
								 | 
							
								     *   @OA\Parameter(name="username",
							 | 
						||
| 
								 | 
							
								     *     in="path",
							 | 
						||
| 
								 | 
							
								     *     required=true,
							 | 
						||
| 
								 | 
							
								     *     @OA\Schema(type="string")
							 | 
						||
| 
								 | 
							
								     *   ),
							 | 
						||
| 
								 | 
							
								     *   @OA\Parameter(name="slug",
							 | 
						||
| 
								 | 
							
								     *     in="path",
							 | 
						||
| 
								 | 
							
								     *     required=true,
							 | 
						||
| 
								 | 
							
								     *     @OA\Schema(type="string")
							 | 
						||
| 
								 | 
							
								     *   ),
							 | 
						||
| 
								 | 
							
								     *   @OA\Parameter(name="pid",
							 | 
						||
| 
								 | 
							
								     *     in="path",
							 | 
						||
| 
								 | 
							
								     *     required=true,
							 | 
						||
| 
								 | 
							
								     *     @OA\Schema(type="string")
							 | 
						||
| 
								 | 
							
								     *   ),
							 | 
						||
| 
								 | 
							
								     *   @OA\Response(response=204,
							 | 
						||
| 
								 | 
							
								     *     description="the PR was successfully merged"
							 | 
						||
| 
								 | 
							
								     *   )
							 | 
						||
| 
								 | 
							
								     * )
							 | 
						||
| 
								 | 
							
								     * @OA\Link(link="PullRequestMerge",
							 | 
						||
| 
								 | 
							
								     *   operationId="mergePullRequest",
							 | 
						||
| 
								 | 
							
								     *   parameters={
							 | 
						||
| 
								 | 
							
								     *     "username"="$response.body#/author/username",
							 | 
						||
| 
								 | 
							
								     *     "slug"="$response.body#/repository/slug",
							 | 
						||
| 
								 | 
							
								     *     "pid"="$response.body#/id"
							 | 
						||
| 
								 | 
							
								     *   }
							 | 
						||
| 
								 | 
							
								     * )
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function mergePullRequest()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								?>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |