hunk.code_window: package com.external.plugins;
   import com.appsmith.external.models.ActionConfiguration;
   import com.appsmith.external.models.ActionExecutionResult;
   import com.appsmith.external.models.DBAuth;
   import com.appsmith.external.models.DatasourceConfiguration;
   import com.appsmith.external.models.DatasourceStructure;
  
hunk.labels: keep add keep keep keep keep keep
hunk.after_edit: import com.appsmith.external.exceptions.pluginExceptions.AppsmithPluginError;
   import com.appsmith.external.exceptions.pluginExceptions.AppsmithPluginException;
   import com.appsmith.external.exceptions.pluginExceptions.StaleConnectionException;
  
hunk.file_path: app/server/appsmith-plugins/postgresPlugin/src/main/java/com/external/plugins/PostgresPlugin.java
hunk.type: add
file: package com.appsmith.server.services;
  
  import com.appsmith.server.acl.AclPermission;
  import com.appsmith.server.domains.Organization;
  import com.appsmith.server.domains.User;
  import com.appsmith.server.domains.UserRole;
  import org.springframework.http.codec.multipart.Part;
  import reactor.core.publisher.Flux;
  import reactor.core.publisher.Mono;
  
  import java.util.List;
  import java.util.Map;
  import java.util.Set;
  
  public interface OrganizationService extends CrudService<Organization, String> {
  
      Mono<Organization> create(Organization organization);
  
      Mono<Organization> getBySlug(String slug);
  
      Mono<String> getNextUniqueSlug(String initialSlug);
  
      Mono<Organization> createDefault(Organization organization, User user);
  
      Mono<Organization> create(Organization organization, User user);
  
      Mono<Organization> findById(String id, AclPermission permission);
  
      Mono<Organization> save(Organization organization);
  
      Mono<Organization> findByIdAndPluginsPluginId(String organizationId, String pluginId);
  
      Flux<Organization> findByIdsIn(Set<String> ids,AclPermission permission);
  
      Mono<Map<String, String>> getUserRolesForOrganization(String orgId);
  
      Mono<List<UserRole>> getOrganizationMembers(String orgId);
  
      Mono<Organization> uploadLogo(String organizationId, Part filePart);
  
      Mono<Organization> deleteLogo(String organizationId);
  }
  