chore: Split up prepare workspace into separate method (#23425)
## Description Refactor change to allow create workspace preparation to happen in a separate method. #### Type of change - Chore (housekeeping or task changes that don't impact user perception) Does not need testing, will be covered as part of regression and existing test suites.
This commit is contained in:
parent
12c66d5b3f
commit
bd993e145c
|
|
@ -4,14 +4,13 @@ import com.appsmith.external.models.BaseDomain;
|
|||
import com.appsmith.external.views.Views;
|
||||
import com.appsmith.server.constants.Url;
|
||||
import com.fasterxml.jackson.annotation.JsonView;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
|
@ -46,7 +45,7 @@ public class Workspace extends BaseDomain {
|
|||
@Deprecated
|
||||
@JsonView(Views.Public.class)
|
||||
private Boolean isAutoGeneratedOrganization;
|
||||
|
||||
|
||||
@JsonView(Views.Public.class)
|
||||
private Boolean isAutoGeneratedWorkspace;
|
||||
|
||||
|
|
@ -60,6 +59,9 @@ public class Workspace extends BaseDomain {
|
|||
@JsonView(Views.Public.class)
|
||||
private String tenantId;
|
||||
|
||||
@JsonView(Views.Internal.class)
|
||||
private Boolean hasEnvironments;
|
||||
|
||||
@JsonView(Views.Internal.class)
|
||||
private Set<String> defaultPermissionGroups;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import com.appsmith.external.helpers.AppsmithBeanUtils;
|
|||
import com.appsmith.external.models.Policy;
|
||||
import com.appsmith.server.acl.AclPermission;
|
||||
import com.appsmith.server.acl.AppsmithRole;
|
||||
import com.appsmith.server.acl.RoleGraph;
|
||||
import com.appsmith.server.constants.Constraint;
|
||||
import com.appsmith.server.constants.FieldName;
|
||||
import com.appsmith.server.domains.Asset;
|
||||
|
|
@ -23,17 +22,16 @@ import com.appsmith.server.helpers.TextUtils;
|
|||
import com.appsmith.server.repositories.ApplicationRepository;
|
||||
import com.appsmith.server.repositories.AssetRepository;
|
||||
import com.appsmith.server.repositories.PluginRepository;
|
||||
import com.appsmith.server.repositories.UserRepository;
|
||||
import com.appsmith.server.repositories.WorkspaceRepository;
|
||||
import com.appsmith.server.services.AnalyticsService;
|
||||
import com.appsmith.server.services.AssetService;
|
||||
import com.appsmith.server.services.BaseService;
|
||||
import com.appsmith.server.services.PermissionGroupService;
|
||||
import com.appsmith.server.services.SessionUserService;
|
||||
import com.appsmith.server.services.UserWorkspaceService;
|
||||
import com.appsmith.server.solutions.PermissionGroupPermission;
|
||||
import com.appsmith.server.solutions.WorkspacePermission;
|
||||
import com.mongodb.DBObject;
|
||||
import jakarta.validation.Validator;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.modelmapper.ModelMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -50,8 +48,6 @@ import reactor.core.publisher.Flux;
|
|||
import reactor.core.publisher.Mono;
|
||||
import reactor.core.scheduler.Scheduler;
|
||||
|
||||
import jakarta.validation.Validator;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -175,12 +171,8 @@ public class WorkspaceServiceCEImpl extends BaseService<WorkspaceRepository, Wor
|
|||
// Does the user have permissions to create a workspace?
|
||||
Mono<Boolean> createWorkspaceAllowedMono = isCreateWorkspaceAllowed(isDefault);
|
||||
|
||||
if (workspace.getEmail() == null) {
|
||||
workspace.setEmail(user.getEmail());
|
||||
}
|
||||
|
||||
workspace.setSlug(TextUtils.makeSlug(workspace.getName()));
|
||||
workspace.setTenantId(user.getTenantId());
|
||||
// Populate all the required fields for a valid workspace
|
||||
prepareWorkspaceToCreate(workspace, user);
|
||||
|
||||
return createWorkspaceAllowedMono
|
||||
.flatMap(isCreateWorkspaceAllowed -> {
|
||||
|
|
@ -213,6 +205,15 @@ public class WorkspaceServiceCEImpl extends BaseService<WorkspaceRepository, Wor
|
|||
.flatMap(analyticsService::sendCreateEvent);
|
||||
}
|
||||
|
||||
protected void prepareWorkspaceToCreate(Workspace workspace, User user) {
|
||||
if (workspace.getEmail() == null) {
|
||||
workspace.setEmail(user.getEmail());
|
||||
}
|
||||
|
||||
workspace.setSlug(TextUtils.makeSlug(workspace.getName()));
|
||||
workspace.setTenantId(user.getTenantId());
|
||||
}
|
||||
|
||||
protected Mono<Workspace> createWorkspaceDependents(Workspace createdWorkspace) {
|
||||
// Nothing to create
|
||||
return Mono.just(createdWorkspace);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user