addZones method

Future<void> addZones(
  1. List<PrivacyZone> zones
)

Adds multiple privacy zones.

Implementation

Future<void> addZones(List<PrivacyZone> zones) async {
  for (final zone in zones) {
    if (!zone.isValid) {
      throw ArgumentError(
          'Invalid privacy zone configuration: ${zone.identifier}');
    }
  }

  for (final zone in zones) {
    final isNew = !_zones.containsKey(zone.identifier);
    _zones[zone.identifier] = zone;

    _zoneChangesController.add(PrivacyZoneEvent(
      type: isNew ? PrivacyZoneEventType.added : PrivacyZoneEventType.updated,
      zone: zone,
    ));
  }

  await _persist();
}