|
|
@@ -0,0 +1,46 @@
|
|
|
+// Automatic FlutterFlow imports
|
|
|
+import '/backend/schema/structs/index.dart';
|
|
|
+import '/flutter_flow/flutter_flow_theme.dart';
|
|
|
+import '/flutter_flow/flutter_flow_util.dart';
|
|
|
+import 'index.dart'; // Imports other custom actions
|
|
|
+import '/flutter_flow/custom_functions.dart'; // Imports custom functions
|
|
|
+import 'package:flutter/material.dart';
|
|
|
+// Begin custom action code
|
|
|
+// DO NOT REMOVE OR MODIFY THE CODE ABOVE!
|
|
|
+
|
|
|
+import '/backend/api_requests/api_calls.dart';
|
|
|
+
|
|
|
+Future<List<GemeenteModelStruct>> getFavorieteGemeenten(
|
|
|
+ List<String>? favorieteGemeenteIds) async {
|
|
|
+ final resolved = <GemeenteModelStruct>[];
|
|
|
+ final ids = favorieteGemeenteIds ?? [];
|
|
|
+ if (ids.isEmpty) {
|
|
|
+ return resolved;
|
|
|
+ }
|
|
|
+ final provResponse = await ProvinciesCall.call();
|
|
|
+ if (!provResponse.succeeded) {
|
|
|
+ return resolved;
|
|
|
+ }
|
|
|
+ final provincies =
|
|
|
+ provResponse.jsonBody is List ? (provResponse.jsonBody as List) : [];
|
|
|
+ for (final prov in provincies) {
|
|
|
+ if (prov is! Map) continue;
|
|
|
+ final provincieId = prov['provincieid']?.toString();
|
|
|
+ if (provincieId == null || provincieId.isEmpty) continue;
|
|
|
+ final gemResponse = await GemeentenCall.call(provincieid: provincieId);
|
|
|
+ if (!gemResponse.succeeded) continue;
|
|
|
+ final gemeentes =
|
|
|
+ gemResponse.jsonBody is List ? (gemResponse.jsonBody as List) : [];
|
|
|
+ for (final g in gemeentes) {
|
|
|
+ if (g is! Map) continue;
|
|
|
+ final gid = g['gemeenteid']?.toString();
|
|
|
+ if (gid != null && ids.contains(gid)) {
|
|
|
+ final struct = GemeenteModelStruct.maybeFromMap(g);
|
|
|
+ if (struct != null) {
|
|
|
+ resolved.add(struct);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return resolved;
|
|
|
+}
|