Skip to content

Commit a9ba279

Browse files
Fix layer removal logic for group-linked parent layers
Updates the logic to prevent removal of layers if the parent layer is a group type. This ensures that linked group layers cannot be removed, addressing an inconsistency in the previous implementation. Refines error handling and maintains proper layer hierarchy.
1 parent af7d9c3 commit a9ba279

1 file changed

Lines changed: 4 additions & 6 deletions

File tree

server/internal/usecase/interactor/nlslayer.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -159,12 +159,10 @@ func (i *NLSLayer) Remove(ctx context.Context, lid id.NLSLayerID, operator *usec
159159
if l.Scene() != parentLayer.Scene() {
160160
return lid, nil, errors.New("invalid layer")
161161
}
162-
}
163-
164-
if parentLayer != nil {
165-
return lid, nil, interfaces.ErrCannotRemoveLayerToLinkedLayerGroup
166-
}
167-
if parentLayer != nil {
162+
// If parentLayer is a group layer, cannot remove (closest available logic)
163+
if parentLayer.LayerType() == "group" {
164+
return lid, nil, interfaces.ErrCannotRemoveLayerToLinkedLayerGroup
165+
}
168166
parentLayer.Children().RemoveLayer(lid)
169167
err = i.nlslayerRepo.Save(ctx, parentLayer)
170168
if err != nil {

0 commit comments

Comments
 (0)