importRules method

Future<void> importRules(
  1. List<MockRule> newRules, {
  2. bool clearExisting = false,
})

Implementation

Future<void> importRules(
  List<MockRule> newRules, {
  bool clearExisting = false,
}) async {
  await init();
  final box = Hive.box(_boxName);
  if (clearExisting) {
    await box.clear();
    rules.value = [];
  }

  final List<MockRule> updatedRules = List.from(rules.value);
  for (var rule in newRules) {
    final finalRule = rule.id.isEmpty
        ? rule.copyWith(
            id: DateTime.now().millisecondsSinceEpoch.toString() +
                updatedRules.length.toString(),
          )
        : rule;

    await box.put(finalRule.id, finalRule.toMap());
    updatedRules.add(finalRule);
  }

  rules.value = updatedRules;
  debugPrint('[MockController] Imported ${newRules.length} rules');
}