Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1444 +/- ##
=======================================
Coverage 47.21% 47.21%
=======================================
Files 272 272
Lines 9720 9720
Branches 2862 2944 +82
=======================================
Hits 4589 4589
+ Misses 4900 4895 -5
- Partials 231 236 +5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Claude finished @JasonWildMe's task in 1m 49s —— View job Code Review
SummaryThis PR makes two changes to
Permission Change (lines 496–501)Old behavior — New behavior — explicitly limits delete to:
This is a clear improvement. A few observations: Ownership check uses ID comparison (
Relationship Deletion (lines 539–545)ArrayList<Relationship> rels = myShepherd.getAllRelationshipsForMarkedIndividual(mark.getId());
if (rels != null && rels.size() > 0) {
for (Relationship rel : rels) {
myShepherd.getPM().deletePersistent(rel);
}
}
Placement is logical — relationships are cleaned up before social unit membership removal and before Minor style note: OverallThe logic is sound and the changes achieve the stated goals correctly. The permission model is more intentional and secure than what it replaces, and the relationship cleanup correctly handles orphaned |
Adjusts ImportTask delete permissions to be strictly limited to:
Also ensures Relationship objects are deleted along with bulk import if the related MarkedIndividual is also deleted during bulk import delete.