Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Provide more flexible Account Service interactions (#39)
# Provide more flexible Account Service interactions ## ♻️ Current situation & Problem StanfordSpezi/SpeziAccount#62 simplified the overall SpeziAccount design and made a lot of interactions easier. This PR updates SpeziFirebaseAccount to this latest SpeziAccount release and improves the overall design of SpeziFirebaseAccount. A list of changes can be found in the next section. ## ⚙️ Release Notes * SpeziFirebaseAccount exposes now a single account service: `FirebaseAccountService` that includes both the password and Sign in with Apple provider. * The old FirebaseAccountConfiguration was removed. Configuration is now passed directly to the `FirebaseAccountService` instance which in turn is passed to the `AccountConfiguration` of SpeziAccount. * The `FirestoreAccountStorage` was updated to the new `AccountStorageProvider` protocol and is now passed as an initializer argument to the `AccountConfiguration`. You do no longer need to make it a dependency of your `Standard` to forward all calls (the old constraint as removed). ### 🚨 Breaking Schema Changes SpeziAccount 2.0 changes the identifiers of account keys. Instead of relying on the type names the `identifier` mirrors the lower-camel-case name of the swift properties. For example `"GenderIdentityKey"` is now named `"genderIdentity"`. Similar the `"DateOfBirthKey"` got renamed to `"dateOfBirth"`. If you have an existing application using the `FirestoreAccountStorage`, you might want to use the new `mapping` initializer argument to provide a backwards compatibility identifier mapping. ## 📚 Documentation All documentation was updated to reflect the new behavior. Some additional adjustments have been made to improve the general structure of the SpeziFirebase documentation catalogs. ## ✅ Testing Existing test cases were used to protect against regressions. Slightly reduced test execution time. ## 📝 Code of Conduct & Contributing Guidelines By submitting creating this pull request, you agree to follow our [Code of Conduct](https://github.com/StanfordSpezi/.github/blob/main/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/StanfordSpezi/.github/blob/main/CONTRIBUTING.md): - [x] I agree to follow the [Code of Conduct](https://github.com/StanfordSpezi/.github/blob/main/CODE_OF_CONDUCT.md) and [Contributing Guidelines](https://github.com/StanfordSpezi/.github/blob/main/CONTRIBUTING.md).
- Loading branch information