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