relation deletion must be done through the api as events delete all relationships
This commit is contained in:
@@ -102,16 +102,6 @@ func (s *service) processRelationships(ctx context.Context, eventType string, re
|
||||
})
|
||||
}
|
||||
|
||||
for _, relatedResourceID := range deleteParentRelationships {
|
||||
processEvents = append(processEvents, events.ChangeMessage{
|
||||
SubjectID: relationships.Resource.PrefixedID(),
|
||||
EventType: string(events.DeleteChangeType),
|
||||
AdditionalSubjectIDs: []gidx.PrefixedID{
|
||||
relatedResourceID,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
for _, relation := range createSubjectRelationships {
|
||||
processEvents = append(processEvents, events.ChangeMessage{
|
||||
SubjectID: relation.Resource.PrefixedID(),
|
||||
@@ -122,14 +112,23 @@ func (s *service) processRelationships(ctx context.Context, eventType string, re
|
||||
})
|
||||
}
|
||||
|
||||
for _, relatedResourceID := range deleteParentRelationships {
|
||||
err = s.perms.DeleteResourceRelationship(ctx, relationships.Resource.PrefixedID(), string(RelateParent), relatedResourceID)
|
||||
if err != nil {
|
||||
rlogger.Errorw("error deleting parent relationship",
|
||||
"parent.resource.id", relatedResourceID.String(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
for _, relation := range deleteSubjectRelationships {
|
||||
processEvents = append(processEvents, events.ChangeMessage{
|
||||
SubjectID: relation.Resource.PrefixedID(),
|
||||
EventType: string(events.DeleteChangeType),
|
||||
AdditionalSubjectIDs: []gidx.PrefixedID{
|
||||
relationships.Resource.PrefixedID(),
|
||||
},
|
||||
})
|
||||
err = s.perms.DeleteResourceRelationship(ctx, relation.Resource.PrefixedID(), string(relation.Relation), relationships.Resource.PrefixedID())
|
||||
if err != nil {
|
||||
rlogger.Errorw("error deleting relationship",
|
||||
"relation", relation.Relation,
|
||||
"subject.id", relation.Resource.PrefixedID().String(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
for _, event := range processEvents {
|
||||
|
||||
Reference in New Issue
Block a user