code: @Get("/projects/{projectName}/repos")
      public CompletableFuture<List<RepositoryDto>> listRepositories(ServiceRequestContext ctx, Project project,
                                                                     @Param("status") Optional<String> status,
                                                                     User user) {
          status.ifPresent(HttpApiUtil::checkStatusArgument);
          return mds.findRole(project.name(), user).handle((role, throwable) -> {
              final boolean hasOwnerRole = role == ProjectRole.OWNER;
              if (status.isPresent()) {
                  if (hasOwnerRole) {
                      return project.repos().listRemoved().stream().map(RepositoryDto::new)
                                    .collect(toImmutableList());
                  }
                  return HttpApiUtil.throwResponse(
                          ctx, HttpStatus.FORBIDDEN,
                          "You must be an owner of project '%s' to remove it.", project.name());
              }
  
              // Do not add internal repository to the list if the user is not an administrator.
              return project.repos().list().values().stream()
                            .filter(r -> user.isAdmin() || !Project.REPO_DOGMA.equals(r.name()))
                            .map(DtoConverter::convert)
                            .collect(toImmutableList());
          });
      }
docs: GET /projects/{projectName}/repos?status={status}
  
  <p>Returns the list of the repositories or removed repositories.