We do a findOrCreate via the Event.insert method as opposed to passing the TBAEvent during the TBAAward.insert because the context of inserting an Award does not guarantee having an Event object.
This insert is problematic though because the insert can throw. Even in a minimal situation where we insert an Event object with just a key, our Core Data fetch (the find half of findOrCreate) can fail.
Misc
[ ] Consider insert in insert methods failing - should be able to fail gracefully (in some situations)
[ ] Add TBAEventkey unique constraint back
[ ] Swap asyncMap to using async collection methods in iOS 16
[ ] Audit isOrphaned to use TBAWebcast implementation
Notes
throw
infindOrCreate
API models might have other dependent API models. Ex: An Award needs an Event. The Award's insert method might look like the following -
We do a
findOrCreate
via theEvent.insert
method as opposed to passing theTBAEvent
during theTBAAward.insert
because the context of inserting an Award does not guarantee having an Event object.This insert is problematic though because the insert can throw. Even in a minimal situation where we insert an Event object with just a key, our Core Data fetch (the find half of
findOrCreate
) can fail.Misc
insert
ininsert
methods failing - should be able to fail gracefully (in some situations)TBAEvent
key
unique constraint backasyncMap
to using async collection methods in iOS 16isOrphaned
to useTBAWebcast
implementation