-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provide more flexible Account Service interactions #39
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really cool to see how these things are coming together @Supereg; thanks for all the work here.
I only had a few smaller comments, really happy to see this merged and great to see the simplification in the Firebase Account Service!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the updates and securing the Firestore call!
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
FirebaseAccountService
that includes both the password and Sign in with Apple provider.FirebaseAccountService
instance which in turn is passed to theAccountConfiguration
of SpeziAccount.FirestoreAccountStorage
was updated to the newAccountStorageProvider
protocol and is now passed as an initializer argument to theAccountConfiguration
. You do no longer need to make it a dependency of yourStandard
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 theFirestoreAccountStorage
, you might want to use the newmapping
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 and Contributing Guidelines: