hunk.code_window: import com.appsmith.server.authentication.handlers.LogoutSuccessHandler;
   import com.appsmith.server.services.UserService;
   import com.fasterxml.jackson.databind.ObjectMapper;
   import org.springframework.beans.factory.annotation.Autowired;
   import org.springframework.context.annotation.Bean;
   import org.springframework.core.io.ClassPathResource;
   import org.springframework.http.HttpMethod;
   import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
  
hunk.labels: keep keep keep add keep keep keep keep
hunk.after_edit: import org.springframework.beans.factory.annotation.Value;
  
hunk.file_path: app/server/appsmith-server/src/main/java/com/appsmith/server/configurations/SecurityConfig.java
hunk.type: add
file: package com.appsmith.server.services;
  
  import com.appsmith.server.domains.Layout;
  import com.appsmith.server.domains.Page;
  import com.appsmith.server.dtos.PageNameIdDTO;
  import reactor.core.publisher.Flux;
  import reactor.core.publisher.Mono;
  
  public interface PageService extends CrudService<Page, String> {
  
      Mono<Page> findById(String pageId);
  
      Mono<Page> save(Page page);
  
      Mono<Page> findByIdAndLayoutsId(String pageId, String layoutId);
  
      Mono<Page> findByName(String name);
  
      Mono<Void> deleteAll();
  
      Flux<PageNameIdDTO> findNamesByApplicationId(String applicationId);
  
      Layout createDefaultLayout();
  
      Flux<PageNameIdDTO> findNamesByApplicationName(String applicationName);
  
      Mono<Page> findByNameAndApplicationId(String name, String applicationId);
  }
  