Removing the logic to bind actions to pages when a dynamic binding happens.
This is because when an action is created, it is already bound to that page. This assumption will not change. Also, adding the pageId when searching for an action because the action name and pageId is a unique index. There may be actions with similar names across multiple pages.
This commit is contained in:
parent
7f9e0b71da
commit
738b693d9a
|
|
@ -15,7 +15,7 @@ public interface ActionRepository extends BaseRepository<Action, String> {
|
||||||
|
|
||||||
Mono<Action> findByName(String name);
|
Mono<Action> findByName(String name);
|
||||||
|
|
||||||
Flux<Action> findDistinctActionsByNameIn(Set<String> names);
|
Flux<Action> findDistinctActionsByNameInAndPageId(Set<String> names, String pageId);
|
||||||
|
|
||||||
Flux<Action> saveAll(List<Action> actions);
|
Flux<Action> saveAll(List<Action> actions);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ public interface ActionService extends CrudService<Action, String> {
|
||||||
|
|
||||||
Mono<Action> findByName(String name);
|
Mono<Action> findByName(String name);
|
||||||
|
|
||||||
Flux<Action> findDistinctActionsByNameIn(Set<String> names);
|
Flux<Action> findDistinctActionsByNameInAndPageId(Set<String> names, String pageId);
|
||||||
|
|
||||||
Flux<Action> saveAll(List<Action> actions);
|
Flux<Action> saveAll(List<Action> actions);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -382,8 +382,8 @@ public class ActionServiceImpl extends BaseService<ActionRepository, Action, Str
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Flux<Action> findDistinctActionsByNameIn(Set<String> names) {
|
public Flux<Action> findDistinctActionsByNameInAndPageId(Set<String> names, String pageId) {
|
||||||
return repository.findDistinctActionsByNameIn(names);
|
return repository.findDistinctActionsByNameInAndPageId(names, pageId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -266,13 +266,7 @@ public class LayoutServiceImpl implements LayoutService {
|
||||||
Flux<Action> updatePageIdsForActionsAndReturnDslActions(Set<String> nodes, String pageId) {
|
Flux<Action> updatePageIdsForActionsAndReturnDslActions(Set<String> nodes, String pageId) {
|
||||||
|
|
||||||
return actionService
|
return actionService
|
||||||
.findDistinctActionsByNameIn(nodes)
|
.findDistinctActionsByNameInAndPageId(nodes, pageId);
|
||||||
.map(action -> {
|
|
||||||
action.setPageId(pageId);
|
|
||||||
return action;
|
|
||||||
})
|
|
||||||
.collectList()
|
|
||||||
.flatMapMany(actionService::saveAll);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user