"""
VCS User Repositories
Retrieve the version control system repositories of specified user.
"""
name = "vcs/user-repos"
version = "2.0.1"

"""
Get User Repositories
Get repositories of the specified user.
"""
usecase UserRepos safe {
  input {
    "
    User
    User identifier for whom to list repositories.
    "
    user! string!
  }

  result {
    repos [{
      "Name of the repository"
      name! string!

      "Description of the repository"
      description string!
    }]
  }

  error {
    """
    Message
    A short, human-readable summary of the problem.
    """
    message! string!
    """
    Status code
    Usually a HTTP status code connected to occured problem.
    """
    statusCode!
    """
    Description
    A optional, human-readable explanation specific to this occurrence of the problem.
    """
    description string!
  }

example success {
    input {
      user = 'superfaceai'
    }

    result {
      repos = [{
        name = 'one-sdk-js',
        description = 'Superface core client library'
      }]
    }
}

example errorNoMatch {
    input {
      user = 'wrongName'
    }
    
    error {
      message = 'No repos found for wrongName',
      description = 'https://docs.github.com/v3/repos/contents/',
      statusCode = 404
    }
  }
}