Commit d477433
authored
feat(firestore): introduce pipeline functionality (Dart API) (#18096)
* feat(firestore): introduce pipeline functionality (Dart API)
* fix
* fix: restore unrelated regressions in settings, changelog, pubspec and exports
Made-with: Cursor
* fix
* chore: fix formatting
* chore: add pipeline stages tests nd fix bugs
* chore: remove unnecessary parentheses in pipeline stage tests
* test: add aggregate stage serialization tests for pipeline stages
* test: add unit tests for pipeline expressions, ordering, sampling, and snapshot handling
* chore: improve formatting and readability in pipeline test files
* chore: update docs for PipelineSnapshot and PipelineResult
* chore: fix ci
* test: add serialization tests for arrayContainsAll and related expressions in pipeline expressions
* feat: add arrayContainsAll expressions for enhanced array handling in pipeline expressions
* refactor: remove PipelineFilter
* fix: update arrayConcat method to accept Object? and convert to Expression
* chore: remove unsupported expressions
* chore: add timestamp unit validation and enhance timestamp expression methods
* refactor: rename replace methods to stringReplaceAll
* refactor: update test for stringReplaceAll serialization
* chore: fix ci
* chore: fix ci
* docs: add documentation with examples for pipeline functions
* chore: add pipeline_example Flutter project and integration tests
* refactor: improve code formatting and add new execute options tests
* fix ci
* chore: add pipeline e2e test workflow and script for cloud_firestore
* refactor: remove commented-out button for stringReplaceAll in pipeline example
* chore: update e2e tests pipeline to include additional branches for triggering
* chore: add test comment in pipeline example for clarity
* chore: rename e2e pipeline and add iOS testing steps with Firebase configuration
* test ci
* chore: add workflow_dispatch trigger to e2e tests pipeline
* chore: remove Firebase options condition from e2e tests pipeline jobs
* chore: update e2e tests pipeline to run on macOS and implement flutter drive for integration tests
* chore: update cloud_firestore dependency to use local path in pipeline example
* chore: add dependency overrides for local development in cloud_firestore pipeline example
* chore: update analysis options and refactor integration tests
* refactor: improve formatting
* fix ci
* chore: remove Linux pipeline example files and associated configurations
* chore: refine e2e tests pipeline triggers and enhance iOS project setup for Swift Package Manager
* chore: add branch trigger for firestore-pipelines-ios in e2e tests pipeline
* chore: update minimum target version for iOS to 15
* chore: add iOS and macOS paths to e2e tests pipeline triggers
* refactor: improve code formatting in pipeline integration tests
* chore: add branch triggers for Android and Web in e2e tests pipeline
* fix formatting
* trigger CI
* chore: add more expression tests
* chore: add more tests
* fix ci
* chore: include web package in e2e tests pipeline
* chore: remove support for mapFromPairs(not supported on sdks)
* chore: remove support for arraySlice(not supported on SDKs)
* chore: remove arraySlice and _ArraySliceExpression due to SDK incompatibility
* feat(firestore, android): Android implementation for Pipeline APIs (#18098)
* feat(firestore): Android implementation for Pipeline APIs
* refactor: improve handling of timestamps and array expressions in pipeline
* chore: add support for more Expression functions in Android
* chore: remove unsupported 'replace' expression from Android Firestore pipeline API
* chore: enhance PipelineParser to support execute options for Firestore pipelines
* chore: remove commented-out button for stringReplaceAll in pipeline example
* trigger CI
* trigger CI
* trigger CI
* refactor: enhance expression parsing logic in ExpressionParsers
* feat(firestore, web): Web implementation for Pipeline APIs (#18100)
* feat(firestore): Web implementation for Pipeline APIs
* chore: fix ci
* chore: inject firestore pipelines script for web
* chore: add comments for Firestore Pipelines script injection in web implementation
* refactor: remove unecessary comment
* chore: add support for missing Expressions and fix bugs
* chore: fix ci
* feat: enhance pipeline expression handling with new expressions and error handling
* refactor: rename 'replace' case to 'string_replace_all' in pipeline expression parser
* chore: update Pipeline execution to accept options for index mode
* fix: resolve failing mapGet test on web
* fix: correctly parse 'not' expression arguments
* trigger CI
* fix tests
* fix tests
* fix: update type casting for boolean expression in PipelineExpressionParserWeb
* fix ci
* feat(firestore, iOS): iOS implementation for Pipeline APIs (#18099)
* feat(firestore): iOS implementation for Pipeline APIs
* fix: conditionally import FIRPipelineBridge.h for iOS
* chore: add macOS support for FLTPipelineParser by linking to iOS implementation
* fix: conditionally include FIRPipelineBridge.h for macOS support in FLTPipelineParser
* chore: add support for missing Expression function
* refactor: clean up formatting in FLTPipelineParser.m for improved readability
* chore: enhance FLTPipelineParser with support for array and map expressions, ensuring proper argument handling
* chore: implement conditional expression and current timestamp handling in FLTPipelineParser
* chore: add 'find_nearest' stage support in FLTPipelineParser with validation for vector_field, vector_value, and distance_measure
* chore: introduce FLTFirebaseFirestoreErrorCodePipelineParse for improved error handling in pipeline parsing
* trigger CI
* fix: update header inclusion logic for FirebaseFirestore in FLTPipelineParser.m
* trigger CI
* chore: enhance FLTPipelineParser with new expression handling
* chore: update e2e tests pipeline to ignore specific paths for pull requests and pushes
* chore: add new aggregate functions and expression methods
* fix: update end-to-end test to conditionally skip based on platform
* chore: fix ci
* chore: fix ci
* feat: add new pipeline expressions for regex, string manipulation, and aggregation
* fix ci
* fix: add conditional import for FIRVectorValue to FLTPipelineParser.m
* fix: update argument passing in PipelineExpressionParserWeb for type expression
* refactor: update type handling in pipeline expressions to use enum Type for better clarity and consistency
* fix ci1 parent e9c99ef commit d477433
187 files changed
Lines changed: 20846 additions & 50 deletions
File tree
- .github/workflows
- packages
- cloud_firestore
- cloud_firestore_platform_interface
- lib
- src
- method_channel
- pigeon
- platform_interface
- pigeons
- test/pigeon
- cloud_firestore_web/lib
- src
- interop
- cloud_firestore
- android/src/main/java/io/flutter/plugins/firebase/firestore
- utils
- ios/cloud_firestore/Sources/cloud_firestore
- include/cloud_firestore
- Private
- Public
- lib
- src
- macos/cloud_firestore/Sources/cloud_firestore
- include/cloud_firestore/Private
- pipeline_example
- android
- app
- src
- debug
- main
- kotlin/com/example/pipeline_example
- res
- drawable-v21
- drawable
- mipmap-hdpi
- mipmap-mdpi
- mipmap-xhdpi
- mipmap-xxhdpi
- mipmap-xxxhdpi
- values-night
- values
- profile
- gradle/wrapper
- integration_test/pipeline
- ios
- Flutter
- Runner.xcodeproj
- project.xcworkspace
- Runner.xcworkspace
- RunnerTests
- Runner
- Assets.xcassets
- AppIcon.appiconset
- LaunchImage.imageset
- Base.lproj
- lib
- macos
- Flutter
- Runner.xcodeproj
- Runner.xcworkspace
- RunnerTests
- Runner
- Assets.xcassets/AppIcon.appiconset
- Base.lproj
- Configs
- test_driver
- test
- web
- icons
- windows
- flutter
- runner
- resources
- test
- firebase_core/firebase_core_web/lib/src
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
172 | 172 | | |
173 | 173 | | |
174 | 174 | | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
175 | 182 | | |
176 | 183 | | |
177 | 184 | | |
| |||
Lines changed: 64 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
| |||
52 | 54 | | |
53 | 55 | | |
54 | 56 | | |
| 57 | + | |
55 | 58 | | |
56 | 59 | | |
57 | 60 | | |
| |||
1007 | 1010 | | |
1008 | 1011 | | |
1009 | 1012 | | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
1010 | 1074 | | |
0 commit comments