isCollaborator method

Future<bool> isCollaborator(
  1. RepositorySlug slug,
  2. String user
)

Implementation

Future<bool> isCollaborator(RepositorySlug slug, String user) async {
  ArgumentError.checkNotNull(slug);
  ArgumentError.checkNotNull(user);
  var catchError = false;
  http.Response response;
  try {
    response = await github.request(
      'GET',
      '/repos/${slug.fullName}/collaborators/$user',
      statusCode: StatusCodes.NO_CONTENT,
      fail: (response) {
        if (response.statusCode == StatusCodes.NOT_FOUND) {
          catchError = true;
        }
      },
    );
    if (response.statusCode == StatusCodes.NO_CONTENT) {
      return true;
    }
  } catch (e) {
    if (!catchError) {
      rethrow;
    }
  }
  return false;
}