hunk.code_window:         return service.getActionsForViewMode(applicationId).collectList()
                   .map(actions -> new ResponseDTO<>(HttpStatus.OK.value(), actions, null));
       }
   }
hunk.labels: keep keep add keep
hunk.after_edit:     @PutMapping("/executeOnLoad/{id}")
       public Mono<ResponseDTO<Action>> setExecuteOnLoad(@PathVariable String id, @RequestParam Boolean flag) {
           log.debug("Going to set execute on load for action id {} to {}", id, flag);
           return service.setExecuteOnLoad(id, flag)
                   .map(action -> new ResponseDTO<>(HttpStatus.OK.value(), action, null));
       }
  
hunk.file_path: app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/ActionController.java
hunk.type: add
file: package com.appsmith.server.services;
  
  import com.appsmith.external.models.ActionExecutionResult;
  import com.appsmith.server.acl.AclPermission;
  import com.appsmith.server.domains.Action;
  import com.appsmith.server.dtos.ActionViewDTO;
  import com.appsmith.server.dtos.ExecuteActionDTO;
  import reactor.core.publisher.Flux;
  import reactor.core.publisher.Mono;
  
  import java.util.Map;
  import java.util.Set;
  
  public interface ActionService extends CrudService<Action, String> {
  
      Mono<ActionExecutionResult> executeAction(ExecuteActionDTO executeActionDTO);
  
      Mono<Action> save(Action action);
  
      Mono<Action> findByNameAndPageId(String name, String pageId, AclPermission permission);
  
      Flux<Action> findOnLoadActionsInPage(Set<String> names, String pageId);
  
      Mono<Action> validateAndSaveActionToRepository(Action action);
  
      Action extractAndSetJsonPathKeys(Action action);
  
      <T> T variableSubstitution(T configuration, Map<String, String> replaceParamsMap);
  
      Mono<Action> findById(String id);
  
      Flux<Action> findByPageId(String pageId, AclPermission permission);
  
      Flux<ActionViewDTO> getActionsForViewMode(String applicationId);
  
  }
  