|
15 | 15 | // ignore_for_file: non_constant_identifier_names, avoid_print |
16 | 16 |
|
17 | 17 | import 'dart:math'; |
| 18 | +import 'dart:typed_data'; |
18 | 19 |
|
19 | 20 | import 'package:cloud_firestore/cloud_firestore.dart'; |
20 | 21 | import 'package:firebase_snippets_app/model/firestore_add_data_custom_objects_snippet.dart'; |
21 | 22 | import 'package:firebase_snippets_app/model/restaurant.dart'; |
22 | 23 | import 'package:firebase_snippets_app/snippets/snippet_base.dart'; |
| 24 | +import 'package:http/http.dart' as http; |
23 | 25 |
|
24 | 26 | class FirestoreSnippets extends DocSnippet { |
25 | 27 | @override |
@@ -102,9 +104,26 @@ class FirestoreSnippets extends DocSnippet { |
102 | 104 | // [END data_model_sub_collections] |
103 | 105 | } |
104 | 106 |
|
105 | | - void dataBundles_loadingClientBundles() { |
| 107 | + void dataBundles_loadingClientBundles() async { |
106 | 108 | // [START data_bundles_loading_client_bundles] |
107 | | - // TODO - currently in scratch file |
| 109 | + // Get a bundle from a server |
| 110 | + final url = Uri.https('example.com', '/create-bundle'); |
| 111 | + final response = await http.get(url); |
| 112 | + String string = response.body; |
| 113 | + final buffer = Uint8List.fromList(string.codeUnits); |
| 114 | + |
| 115 | + // Load a bundle from a buffer |
| 116 | + LoadBundleTask task = FirebaseFirestore.instance.loadBundle(buffer); |
| 117 | + await task.stream.toList(); |
| 118 | + |
| 119 | + // Use the cached named query |
| 120 | + final results = await FirebaseFirestore.instance.namedQueryGet( |
| 121 | + "example-query", |
| 122 | + options: const GetOptions( |
| 123 | + source: Source.cache, |
| 124 | + ), |
| 125 | + ); |
| 126 | + |
108 | 127 | // [END data_bundles_loading_client_bundles] |
109 | 128 | } |
110 | 129 |
|
@@ -823,25 +842,18 @@ class FirestoreSnippets extends DocSnippet { |
823 | 842 |
|
824 | 843 | void filterQuery_or() { |
825 | 844 | // [START firestore_query_filter_or] |
826 | | - var query = db.collection("cities") |
827 | | - .where( |
828 | | - Filter.or( |
829 | | - Filter("capital", isEqualTo: true), |
830 | | - Filter("population", isGreaterThan: 1000000) |
831 | | - )); |
| 845 | + var query = db.collection("cities").where(Filter.or( |
| 846 | + Filter("capital", isEqualTo: true), |
| 847 | + Filter("population", isGreaterThan: 1000000))); |
832 | 848 | // [END firestore_query_filter_or] |
833 | 849 | } |
834 | 850 |
|
835 | 851 | void filterQuery_or2() { |
836 | 852 | // [START firestore_query_filter_or_compound] |
837 | | - var query = db.collection("cities") |
838 | | - .where( |
839 | | - Filter.and( |
840 | | - Filter("state", isEqualTo: "CA"), |
841 | | - Filter.or( |
842 | | - Filter("capital", isEqualTo: true), |
843 | | - Filter("population", isGreaterThan: 1000000) |
844 | | - ))); |
| 853 | + var query = db.collection("cities").where(Filter.and( |
| 854 | + Filter("state", isEqualTo: "CA"), |
| 855 | + Filter.or(Filter("capital", isEqualTo: true), |
| 856 | + Filter("population", isGreaterThan: 1000000)))); |
845 | 857 | // [END firestore_query_filter_or_compound] |
846 | 858 | } |
847 | 859 |
|
@@ -951,7 +963,8 @@ class FirestoreSnippets extends DocSnippet { |
951 | 963 | final next = db |
952 | 964 | .collection("cities") |
953 | 965 | .orderBy("population") |
954 | | - .startAfterDocument(lastVisible).limit(25); |
| 966 | + .startAfterDocument(lastVisible) |
| 967 | + .limit(25); |
955 | 968 |
|
956 | 969 | // Use the query for pagination |
957 | 970 | // ... |
|
0 commit comments