searchPhotos method

Future<SearchResult<Photo>> searchPhotos (String query, { Collection collection: Collection.Regular, int resultsPerPage: 15, int page: 1 })

Implementation

Future<SearchResult<Photo>> searchPhotos(String query,
    {Collection collection = Collection.Regular,
    int resultsPerPage = 15,
    int page = 1}) async {
  var url = _getPhotoEndpoint(collection, query, page, resultsPerPage);

  String data = await _getData(url);

  if (data == null) return null;

  var resultData = jsonDecode(data);

  var photosData = resultData['photos'];

  if (photosData == null) return null;

  var photos = <Photo>[];

  for (dynamic photoData in photosData) {
    photos.add(_buildPhoto(photoData));
  }
  return new SearchResult(resultData['page'], resultData['per_page'],
      resultData['total_results'], resultData['next_page'], photos);
}