setPhotoLike method Null safety

Future<bool> setPhotoLike(
  1. PhotoId photoId,
  2. {required bool like}
)

Updates the given photo's like status.

Returns whether the photo is liked or not.

Implementation

Future<bool> setPhotoLike(
  PhotoId photoId, {
  required bool like,
}) async {
  emit(
    PhotoLikeState.inProgress(like: like),
  );

  final result = await _setPhotoLike(
    SetPhotoLikeParams(
      photoId: photoId,
      like: like,
    ),
  );

  emit(
    result.when(
      (success) => PhotoLikeState.success(like: like),
      failure: PhotoLikeState.failure,
    ),
  );

  return result.when(
    (result) => like,
    failure: (_) => !like,
  );
}