Improve resource syncing (refactor + handle mapping cleanup) #1411
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds listeners for handling cleanup of pivot records/mappings
This PR also improves some resource syncing implementation details, for example, the ResourceSyncing trait now uses
static::deleted()instead ofstatic::deleting(), which is safer. The SyncedResourceDeleted event with the DeleteResourceMapping listener also lets us separate the resource x pivot record deletion concerns, and improve the performance (e.g. the mass delete of pivot records when SyncMaster's deleted instead of a for loop where we were deleting the pivot records one by one).