import 'dart:convert'; FilteringData filteringFromJson(String str) => FilteringData.fromJson(json.decode(str)); String filteringToJson(FilteringData data) => json.encode(data.toJson()); class Filtering { int loadStatus = 0; FilteringData? data; Filtering({ required this.loadStatus, this.data }); } class FilteringData { final List filters; final List whitelistFilters; List userRules; int interval; bool enabled; FilteringData({ required this.filters, required this.whitelistFilters, required this.userRules, required this.interval, required this.enabled, }); factory FilteringData.fromJson(Map json) => FilteringData( filters: json["filters"] != null ? List.from(json["filters"].map((x) => Filter.fromJson(x))) : [], whitelistFilters: json["whitelist_filters"] != null ? List.from(json["whitelist_filters"].map((x) => Filter.fromJson(x))) : [], userRules: json["user_rules"] != null ? List.from(json["user_rules"].map((x) => x)).where((i) => i != '').toList() : [], interval: json["interval"], enabled: json["enabled"], ); Map toJson() => { "filters": List.from(filters.map((x) => x.toJson())), "whitelist_filters": List.from(whitelistFilters.map((x) => x.toJson())), "user_rules": List.from(userRules.map((x) => x)), "interval": interval, "enabled": enabled, }; } class Filter { final String url; final String name; final DateTime? lastUpdated; final int id; final int rulesCount; final bool enabled; Filter({ required this.url, required this.name, required this.lastUpdated, required this.id, required this.rulesCount, required this.enabled, }); factory Filter.fromJson(Map json) => Filter( url: json["url"], name: json["name"], lastUpdated: json["last_updated"] == null ? null : DateTime.parse(json["last_updated"]), id: json["id"], rulesCount: json["rules_count"], enabled: json["enabled"], ); Map toJson() => { "url": url, "name": name, "last_updated": lastUpdated == null ? null : lastUpdated!.toIso8601String(), "id": id, "rules_count": rulesCount, "enabled": enabled, }; }