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()
 | |
|     {
 | |
|     }
 | |
| }
 | |
| 
 | |
| ?>
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 |