bulkReview method

Future<CatalogBulkReviewResult> bulkReview({
  1. required List<CatalogReviewTarget> targets,
})

Implementation

Future<CatalogBulkReviewResult> bulkReview({
  required List<CatalogReviewTarget> targets,
}) async {
  if (targets.isEmpty) {
    return const CatalogBulkReviewResult(reviewedCount: 0);
  }

  final loaded = await _loadAndSyncState();
  final uniqueTargets = <String, CatalogReviewTarget>{};
  for (final target in targets) {
    uniqueTargets['${target.keyPath}::${target.locale}'] = target;
  }

  var reviewedCount = 0;
  for (final target in uniqueTargets.values) {
    _markReviewedInLoadedCatalog(
      loaded: loaded,
      keyPath: target.keyPath,
      locale: target.locale,
      now: DateTime.now().toUtc(),
      statusEngine: _statusEngine,
    );
    reviewedCount += 1;
  }

  await _stateStore.save(
    config: config,
    projectRootPath: projectRootPath,
    state: loaded.state,
  );

  return CatalogBulkReviewResult(reviewedCount: reviewedCount);
}