From 4d8148e8627a734b479dbc07c0292d662babac25 Mon Sep 17 00:00:00 2001 From: Thomasr Date: Wed, 8 Jan 2025 12:00:53 -0500 Subject: [PATCH] Rename collection `applicationRecord` to `applicationVersion` --- .../domain/application/model/Application.java | 4 +-- ...ionRecord.java => ApplicationVersion.java} | 2 +- .../ApplicationRecordRepository.java | 10 +++---- .../service/ApplicationRecordService.java | 12 ++++---- .../service/ApplicationRecordServiceImpl.java | 18 ++++++------ .../service/ApplicationServiceImpl.java | 4 +-- .../ApplicationApiServiceImpl.java | 2 +- .../ApplicationRecordApiServiceImpl.java | 7 ++--- .../view/ApplicationRecordMetaView.java | 6 ++-- .../api/home/UserHomeApiServiceImpl.java | 10 +++---- .../runner/migrations/DatabaseChangelog.java | 29 +++++++++++++++++-- 11 files changed, 62 insertions(+), 42 deletions(-) rename server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/{ApplicationRecord.java => ApplicationVersion.java} (91%) diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/Application.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/Application.java index a4d649995..978f5c8c6 100644 --- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/Application.java +++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/Application.java @@ -141,7 +141,7 @@ public Mono getQueryByViewModeAndQueryId(boolean isViewMode, S @JsonIgnore public Mono> getLiveApplicationDsl(ApplicationRecordService applicationRecordService) { return applicationRecordService.getLatestRecordByApplicationId(this.getId()) - .map(ApplicationRecord::getApplicationDSL) + .map(ApplicationVersion::getApplicationDSL) .switchIfEmpty(Mono.just(editingApplicationDSL)); } @@ -237,7 +237,7 @@ public Mono getLiveContainerSize(ApplicationRecordService applicationRec } public Mono> getPublishedApplicationDSL(ApplicationRecordService applicationRecordService) { - return applicationRecordService.getLatestRecordByApplicationId(this.getId()).map(ApplicationRecord::getApplicationDSL); + return applicationRecordService.getLatestRecordByApplicationId(this.getId()).map(ApplicationVersion::getApplicationDSL); } } diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/ApplicationRecord.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/ApplicationVersion.java similarity index 91% rename from server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/ApplicationRecord.java rename to server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/ApplicationVersion.java index d6f57893f..fb89e92d0 100644 --- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/ApplicationRecord.java +++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/ApplicationVersion.java @@ -14,7 +14,7 @@ @SuperBuilder @Jacksonized @NoArgsConstructor -public class ApplicationRecord extends HasIdAndAuditing { +public class ApplicationVersion extends HasIdAndAuditing { private String applicationId; private String tag; diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/repository/ApplicationRecordRepository.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/repository/ApplicationRecordRepository.java index dc333f9ed..cb447582b 100644 --- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/repository/ApplicationRecordRepository.java +++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/repository/ApplicationRecordRepository.java @@ -1,7 +1,7 @@ package org.lowcoder.domain.application.repository; -import org.lowcoder.domain.application.model.ApplicationRecord; +import org.lowcoder.domain.application.model.ApplicationVersion; import org.springframework.data.mongodb.repository.ReactiveMongoRepository; import org.springframework.stereotype.Repository; import reactor.core.publisher.Flux; @@ -10,14 +10,14 @@ import java.util.List; @Repository -public interface ApplicationRecordRepository extends ReactiveMongoRepository { +public interface ApplicationRecordRepository extends ReactiveMongoRepository { Mono deleteByApplicationId(String applicationId); - Flux findByApplicationId(String applicationId); + Flux findByApplicationId(String applicationId); - Flux findByApplicationIdIn(List ids); + Flux findByApplicationIdIn(List ids); - Mono findTop1ByApplicationIdOrderByCreatedAtDesc(String applicationId); + Mono findTop1ByApplicationIdOrderByCreatedAtDesc(String applicationId); } diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationRecordService.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationRecordService.java index 2afe65d8e..56163e370 100644 --- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationRecordService.java +++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationRecordService.java @@ -1,21 +1,21 @@ package org.lowcoder.domain.application.service; -import org.lowcoder.domain.application.model.ApplicationRecord; +import org.lowcoder.domain.application.model.ApplicationVersion; import reactor.core.publisher.Mono; import java.util.List; import java.util.Map; public interface ApplicationRecordService { - Mono insert(ApplicationRecord applicationRecord); + Mono insert(ApplicationVersion applicationRecord); - Mono> getByApplicationId(String applicationId); + Mono> getByApplicationId(String applicationId); - Mono>> getByApplicationIdIn(List applicationIdList); + Mono>> getByApplicationIdIn(List applicationIdList); - Mono getById(String id); + Mono getById(String id); - Mono getLatestRecordByApplicationId(String applicationId); + Mono getLatestRecordByApplicationId(String applicationId); Mono deleteAllApplicationTagByApplicationId(String applicationId); diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationRecordServiceImpl.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationRecordServiceImpl.java index 9c7bcb482..1e6553ee1 100644 --- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationRecordServiceImpl.java +++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationRecordServiceImpl.java @@ -1,7 +1,7 @@ package org.lowcoder.domain.application.service; import lombok.RequiredArgsConstructor; -import org.lowcoder.domain.application.model.ApplicationRecord; +import org.lowcoder.domain.application.model.ApplicationVersion; import org.lowcoder.domain.application.repository.ApplicationRecordRepository; import org.springframework.stereotype.Service; import reactor.core.publisher.Mono; @@ -21,7 +21,7 @@ public class ApplicationRecordServiceImpl implements ApplicationRecordService { private final ApplicationRecordRepository applicationRecordRepository; @Override - public Mono insert(ApplicationRecord applicationRecord) { + public Mono insert(ApplicationVersion applicationRecord) { return applicationRecordRepository.save(applicationRecord); } @@ -29,23 +29,23 @@ public Mono insert(ApplicationRecord applicationRecord) { * get all published versions */ @Override - public Mono> getByApplicationId(String applicationId) { + public Mono> getByApplicationId(String applicationId) { return applicationRecordRepository.findByApplicationId(applicationId) - .sort(Comparator.comparing(ApplicationRecord::getCreatedAt).reversed()) + .sort(Comparator.comparing(ApplicationVersion::getCreatedAt).reversed()) .collectList(); } @Override - public Mono>> getByApplicationIdIn(List applicationIdList) { + public Mono>> getByApplicationIdIn(List applicationIdList) { return applicationRecordRepository.findByApplicationIdIn(applicationIdList) - .sort(Comparator.comparing(ApplicationRecord::getCreatedAt).reversed()) + .sort(Comparator.comparing(ApplicationVersion::getCreatedAt).reversed()) .collectList() .map(applicationRecords -> applicationRecords.stream() - .collect(Collectors.groupingBy(ApplicationRecord::getApplicationId))); + .collect(Collectors.groupingBy(ApplicationVersion::getApplicationId))); } @Override - public Mono getById(String id) { + public Mono getById(String id) { return applicationRecordRepository.findById(id) .switchIfEmpty(deferredError(APPLICATION_NOT_FOUND, "APPLICATION_NOT_FOUND")); } @@ -54,7 +54,7 @@ public Mono getById(String id) { * get the latest published version */ @Override - public Mono getLatestRecordByApplicationId(String applicationId) { + public Mono getLatestRecordByApplicationId(String applicationId) { return applicationRecordRepository.findTop1ByApplicationIdOrderByCreatedAtDesc(applicationId); } diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationServiceImpl.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationServiceImpl.java index 9923cb61a..7c1ab537d 100644 --- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationServiceImpl.java +++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationServiceImpl.java @@ -10,7 +10,7 @@ import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.lowcoder.domain.application.model.Application; -import org.lowcoder.domain.application.model.ApplicationRecord; +import org.lowcoder.domain.application.model.ApplicationVersion; import org.lowcoder.domain.application.model.ApplicationRequestType; import org.lowcoder.domain.application.model.ApplicationStatus; import org.lowcoder.domain.application.repository.ApplicationRepository; @@ -347,7 +347,7 @@ public Mono updateLastEditedAt(String applicationId, Instant time, Stri @Override public Mono> getLiveDSLByApplicationId(String applicationId) { return applicationRecordService.getLatestRecordByApplicationId(applicationId) - .map(ApplicationRecord::getApplicationDSL) + .map(ApplicationVersion::getApplicationDSL) .switchIfEmpty(findById(applicationId) .map(Application::getEditingApplicationDSL)); } diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationApiServiceImpl.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationApiServiceImpl.java index 150d9e4c5..f60d41eae 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationApiServiceImpl.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationApiServiceImpl.java @@ -368,7 +368,7 @@ public Mono publish(String applicationId, ApplicationPublishReq .flatMap(userId -> resourcePermissionService.checkAndReturnMaxPermission(userId, applicationId, PUBLISH_APPLICATIONS)) .delayUntil(__ -> applicationService.findById(applicationId) - .map(application -> ApplicationRecord.builder() + .map(application -> ApplicationVersion.builder() .tag(applicationPublishRequest.tag()) .commitMessage(applicationPublishRequest.commitMessage()) .applicationId(application.getId()) diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationRecordApiServiceImpl.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationRecordApiServiceImpl.java index 8d40e0e5d..6dc204218 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationRecordApiServiceImpl.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationRecordApiServiceImpl.java @@ -2,13 +2,12 @@ import lombok.RequiredArgsConstructor; import org.lowcoder.api.home.SessionUserService; -import org.lowcoder.api.application.ApplicationApiServiceImpl; import org.lowcoder.api.application.view.ApplicationRecordMetaView; import org.lowcoder.api.usermanagement.OrgDevChecker; +import org.lowcoder.domain.application.model.ApplicationVersion; import org.lowcoder.domain.organization.model.OrgMember; import org.lowcoder.domain.application.model.Application; import org.lowcoder.domain.application.model.ApplicationCombineId; -import org.lowcoder.domain.application.model.ApplicationRecord; import org.lowcoder.domain.application.service.ApplicationRecordService; import org.lowcoder.domain.application.service.ApplicationService; import org.lowcoder.domain.user.service.UserService; @@ -41,7 +40,7 @@ public Mono> getRecordDSLFromApplicationCombineId(Applicatio return applicationService.getLiveDSLByApplicationId(applicationCombineId.applicationId()); } return applicationRecordService.getById(applicationCombineId.applicationRecordId()) - .map(ApplicationRecord::getApplicationDSL); + .map(ApplicationVersion::getApplicationDSL); })); } @@ -55,7 +54,7 @@ public Mono delete(String id) { public Mono> getByApplicationId(String applicationId) { return applicationRecordService.getByApplicationId(applicationId) .flatMap(applicationRecords -> multiBuild(applicationRecords, - ApplicationRecord::getCreatedBy, + ApplicationVersion::getCreatedBy, userService::getByIds, ApplicationRecordMetaView::from )); diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/view/ApplicationRecordMetaView.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/view/ApplicationRecordMetaView.java index 8b6ab4369..a378b250a 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/view/ApplicationRecordMetaView.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/view/ApplicationRecordMetaView.java @@ -1,6 +1,6 @@ package org.lowcoder.api.application.view; -import org.lowcoder.domain.application.model.ApplicationRecord; +import org.lowcoder.domain.application.model.ApplicationVersion; import org.lowcoder.domain.user.model.User; public record ApplicationRecordMetaView(String id, @@ -10,7 +10,7 @@ public record ApplicationRecordMetaView(String id, long createTime, String creatorName) { - public static ApplicationRecordMetaView from(ApplicationRecord applicationRecord) { + public static ApplicationRecordMetaView from(ApplicationVersion applicationRecord) { return new ApplicationRecordMetaView(applicationRecord.getId(), applicationRecord.getApplicationId(), applicationRecord.getTag(), @@ -19,7 +19,7 @@ public static ApplicationRecordMetaView from(ApplicationRecord applicationRecord null); } - public static ApplicationRecordMetaView from(ApplicationRecord applicationRecord, User applicationRecordCreator) { + public static ApplicationRecordMetaView from(ApplicationVersion applicationRecord, User applicationRecordCreator) { return new ApplicationRecordMetaView(applicationRecord.getId(), applicationRecord.getApplicationId(), applicationRecord.getTag(), diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/home/UserHomeApiServiceImpl.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/home/UserHomeApiServiceImpl.java index ce20a0c17..efc27c41a 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/home/UserHomeApiServiceImpl.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/home/UserHomeApiServiceImpl.java @@ -4,7 +4,6 @@ import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.lowcoder.api.application.view.ApplicationInfoView; -import org.lowcoder.api.application.view.ApplicationInfoView.ApplicationInfoViewBuilder; import org.lowcoder.api.application.view.MarketplaceApplicationInfoView; import org.lowcoder.api.bundle.view.BundleInfoView; import org.lowcoder.api.bundle.view.MarketplaceBundleInfoView; @@ -12,7 +11,7 @@ import org.lowcoder.api.usermanagement.view.OrgAndVisitorRoleView; import org.lowcoder.api.usermanagement.view.UserProfileView; import org.lowcoder.domain.application.model.Application; -import org.lowcoder.domain.application.model.ApplicationRecord; +import org.lowcoder.domain.application.model.ApplicationVersion; import org.lowcoder.domain.application.model.ApplicationStatus; import org.lowcoder.domain.application.model.ApplicationType; import org.lowcoder.domain.application.service.ApplicationRecordService; @@ -38,7 +37,6 @@ import org.lowcoder.infra.util.NetworkUtils; import org.lowcoder.infra.util.TupleUtils; import org.lowcoder.sdk.config.CommonConfig; -import org.lowcoder.sdk.models.VersionedModel; import org.springframework.stereotype.Component; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Flux; @@ -574,7 +572,7 @@ private Mono buildView(Application application, ResourceRol .zipWith(application.getIcon(applicationRecordService), TupleUtils::merge) .zipWith(applicationRecordService.getLatestRecordByApplicationId(application.getId()).map(Optional::of).switchIfEmpty(Mono.just(Optional.empty())), TupleUtils::merge) .flatMap(tuple -> { - Optional lastAppRecord = tuple.getT5(); + Optional lastAppRecord = tuple.getT5(); ApplicationInfoView.ApplicationInfoViewBuilder applicationInfoViewBuilder = ApplicationInfoView.builder() .applicationId(application.getId()) .applicationGid(application.getGid()) @@ -585,8 +583,8 @@ private Mono buildView(Application application, ResourceRol .category(tuple.getT3()) .icon(tuple.getT4()) .published(lastAppRecord.isPresent()) - .publishedVersion(lastAppRecord.map(ApplicationRecord::version).orElse(null)) - .lastPublishedTime(lastAppRecord.map(ApplicationRecord::getCreatedAt).orElse(null)) + .publishedVersion(lastAppRecord.map(ApplicationVersion::version).orElse(null)) + .lastPublishedTime(lastAppRecord.map(ApplicationVersion::getCreatedAt).orElse(null)) .createBy(Optional.ofNullable(userMap.get(application.getCreatedBy())) .map(User::getName) .orElse("")) diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/DatabaseChangelog.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/DatabaseChangelog.java index b0b6175e4..e373ebc29 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/DatabaseChangelog.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/DatabaseChangelog.java @@ -4,8 +4,10 @@ import com.github.cloudyrock.mongock.ChangeSet; import com.github.cloudyrock.mongock.driver.mongodb.springdata.v4.decorator.impl.MongockTemplate; import com.github.f4b6a3.uuid.UuidCreator; +import com.mongodb.MongoNamespace; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoCursor; +import com.mongodb.client.MongoDatabase; import com.mongodb.client.result.DeleteResult; import lombok.extern.slf4j.Slf4j; import org.bson.Document; @@ -13,7 +15,7 @@ import org.lowcoder.domain.application.model.Application; import org.lowcoder.domain.application.model.ApplicationHistorySnapshot; import org.lowcoder.domain.application.model.ApplicationHistorySnapshotTS; -import org.lowcoder.domain.application.model.ApplicationRecord; +import org.lowcoder.domain.application.model.ApplicationVersion; import org.lowcoder.domain.bundle.model.Bundle; import org.lowcoder.domain.datasource.model.Datasource; import org.lowcoder.domain.datasource.model.DatasourceStructureDO; @@ -438,7 +440,7 @@ public void publishedToRecord(MongockTemplate mongoTemplate, CommonConfig common ObjectId id = document.getObjectId("_id"); String createdBy = document.getString("createdBy"); Map dslMap = documentToMap(dsl); - ApplicationRecord record = ApplicationRecord.builder() + ApplicationVersion record = ApplicationVersion.builder() .applicationId(id.toHexString()) .applicationDSL(dslMap) .commitMessage("") @@ -453,7 +455,28 @@ public void publishedToRecord(MongockTemplate mongoTemplate, CommonConfig common } @ChangeSet(order = "029", id = "add-tag-index-to-record", author = "Thomas") public void addTagIndexToRecord(MongockTemplate mongoTemplate, CommonConfig commonConfig) { - ensureIndexes(mongoTemplate, ApplicationRecord.class, makeIndex("applicationId", "tag").unique()); + ensureIndexes(mongoTemplate, ApplicationVersion.class, makeIndex("applicationId", "tag").unique()); + } + + @ChangeSet(order = "030", id = "rename-application-record-collection", author = "Thomas") + public void renameApplicationRecordCollection(MongockTemplate mongoTemplate, MongoDatabase mongoDatabase) { + String oldCollectionName = "applicationRecord"; + String newCollectionName = "applicationVersion"; + + // Check if the old collection exists + boolean collectionExists = mongoDatabase.listCollectionNames() + .into(new java.util.ArrayList<>()) + .contains(oldCollectionName); + + if (collectionExists) { + // Rename the collection + mongoDatabase.getCollection(oldCollectionName) + .renameCollection(new MongoNamespace(mongoDatabase.getName(), newCollectionName)); + System.out.println("Collection renamed from " + oldCollectionName + " to " + newCollectionName); + } else { + System.out.println("Collection " + oldCollectionName + " does not exist, skipping rename."); + } + } private void addGidField(MongockTemplate mongoTemplate, String collectionName) { pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy