Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit11e825a

Browse files
Thomasrludomikula
Thomasr
authored andcommitted
search by slugs
1 parente16d918 commit11e825a

File tree

6 files changed

+36
-18
lines changed

6 files changed

+36
-18
lines changed

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/repository/ApplicationRepository.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,21 @@ public interface ApplicationRepository extends ReactiveMongoRepository<Applicati
2929
@Aggregation(pipeline = {"{ $match: { gid: ?0 } }","{ $project: { 'editingApplicationDSL.settings': 1, _id: 1, gid: 1, organizationId: 1, name: 1, applicationType: 1, applicationStatus: 1, publicToAll: 1, publicToMarketplace: 1, agencyProfile: 1, editingUserId: 1, lastEditedAt: 1, createdAt: 1, updatedAt: 1, createdBy: 1, modifiedBy: 1, _class: 1}}"})
3030
Flux<Application>findByGid(@NonnullStringgid);
3131

32+
@Aggregation(pipeline = {"{ $match: { slug: ?0 } }","{ $project: { 'editingApplicationDSL.settings': 1, _id: 1, gid: 1, organizationId: 1, name: 1, applicationType: 1, applicationStatus: 1, publicToAll: 1, publicToMarketplace: 1, agencyProfile: 1, editingUserId: 1, lastEditedAt: 1, createdAt: 1, updatedAt: 1, createdBy: 1, modifiedBy: 1, _class: 1}}"})
33+
Flux<Application>findBySlug(@NonnullStringslug);
34+
3235
Mono<Long>countByOrganizationIdAndApplicationStatus(StringorganizationId,ApplicationStatusapplicationStatus);
3336

3437
@Query("{$or : [{'publishedApplicationDSL.queries.datasourceId':?0},{'editingApplicationDSL.queries.datasourceId':?0}]}")
3538
Flux<Application>findByDatasourceId(StringdatasourceId);
3639

3740
Flux<Application>findByIdIn(Collection<String>ids);
3841
Flux<Application>findByGidIn(Collection<String>ids);
42+
Flux<Application>findBySlugIn(Collection<String>slugs);
3943

4044
Flux<Application>findByCreatedByAndIdIn(StringuserId,Collection<String>ids);
4145
Flux<Application>findByCreatedByAndGidIn(StringuserId,Collection<String>gids);
46+
Flux<Application>findByCreatedByAndSlugIn(StringuserId,Collection<String>slugs);
4247

4348
/**
4449
* Filter public applications from list of supplied IDs

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationServiceImpl.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,13 @@ public Mono<Application> findByIdWithoutDsl(String id) {
6161
returnMono.error(newBizException(BizError.INVALID_PARAMETER,"INVALID_PARAMETER",FieldName.ID));
6262
}
6363

64-
if(FieldName.isGID(id))
65-
returnMono.from(repository.findByGid(id)).switchIfEmpty(Mono.error(newBizException(BizError.NO_RESOURCE_FOUND,"CANT_FIND_APPLICATION",id)));
66-
returnrepository.findById(id)
64+
returnMono.from(repository.findBySlug(id))
65+
.switchIfEmpty(
66+
Mono.defer(() -> {
67+
if (FieldName.isGID(id))
68+
returnMono.from(repository.findByGid(id));
69+
returnrepository.findById(id);
70+
}))
6771
.switchIfEmpty(Mono.error(newBizException(BizError.NO_RESOURCE_FOUND,"CANT_FIND_APPLICATION",id)));
6872
}
6973

@@ -124,7 +128,7 @@ public Mono<Long> countByOrganizationId(String orgId, ApplicationStatus applicat
124128
publicFlux<Application>findByIdIn(List<String>applicationIds) {
125129
if(!applicationIds.isEmpty() &&FieldName.isGID(applicationIds.get(0)))
126130
returnrepository.findByGidIn(applicationIds);
127-
returnrepository.findByIdIn(applicationIds);
131+
returnrepository.findBySlugIn(applicationIds).switchIfEmpty(repository.findByIdIn(applicationIds));
128132
}
129133

130134
@Override
@@ -280,7 +284,7 @@ public Mono<Set<String>> getPrivateApplicationIds(Collection<String> application
280284
.map(Application::getGid)
281285
.collect(Collectors.toSet());
282286

283-
returnrepository.findByCreatedByAndIdIn(userId,applicationIds)
287+
returnrepository.findByCreatedByAndSlugIn(userId,applicationIds).switchIfEmpty(repository.findByCreatedByAndIdIn(userId,applicationIds))
284288
.map(HasIdAndAuditing::getId)
285289
.collect(Collectors.toSet());
286290
}

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/organization/repository/OrganizationRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,14 @@ public interface OrganizationRepository extends ReactiveMongoRepository<Organiza
1616

1717
Flux<Organization>findByIdInAndState(Collection<String>id,OrganizationStatestate);
1818
Flux<Organization>findByGidInAndState(Collection<String>gid,OrganizationStatestate);
19+
Flux<Organization>findBySlugInAndState(Collection<String>slug,OrganizationStatestate);
1920
Flux<Organization>findByGid(Stringgid);
21+
Flux<Organization>findBySlug(Stringslug);
2022
Flux<Organization>findByState(OrganizationStatestate);
2123

2224
Mono<Organization>findByIdAndState(Stringid,OrganizationStatestate);
2325
Mono<Organization>findByGidAndState(Stringgid,OrganizationStatestate);
26+
Mono<Organization>findBySlugAndState(Stringslug,OrganizationStatestate);
2427

2528
Mono<Organization>findBySourceAndThirdPartyCompanyIdAndState(Stringsource,StringtpCompanyId,OrganizationStatestate);
2629

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/organization/service/OrganizationServiceImpl.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ public Mono<Organization> getById(String id) {
170170
if(FieldName.isGID(id))
171171
returnrepository.findByGidAndState(id,ACTIVE)
172172
.switchIfEmpty(deferredError(UNABLE_TO_FIND_VALID_ORG,"INVALID_ORG_ID"));
173-
returnrepository.findByIdAndState(id,ACTIVE)
173+
returnrepository.findBySlugAndState(id,ACTIVE).switchIfEmpty(repository.findByIdAndState(id,ACTIVE))
174174
.switchIfEmpty(deferredError(UNABLE_TO_FIND_VALID_ORG,"INVALID_ORG_ID"));
175175
}
176176

@@ -180,7 +180,7 @@ public Mono<OrganizationCommonSettings> getOrgCommonSettings(String orgId) {
180180
returnrepository.findByGidAndState(orgId,ACTIVE)
181181
.switchIfEmpty(deferredError(UNABLE_TO_FIND_VALID_ORG,"INVALID_ORG_ID"))
182182
.map(Organization::getCommonSettings);
183-
returnrepository.findByIdAndState(orgId,ACTIVE)
183+
returnrepository.findBySlugAndState(orgId,ACTIVE).switchIfEmpty(repository.findByIdAndState(orgId,ACTIVE))
184184
.switchIfEmpty(deferredError(UNABLE_TO_FIND_VALID_ORG,"INVALID_ORG_ID"))
185185
.map(Organization::getCommonSettings);
186186
}
@@ -189,7 +189,7 @@ public Mono<OrganizationCommonSettings> getOrgCommonSettings(String orgId) {
189189
publicFlux<Organization>getByIds(Collection<String>ids) {
190190
if(!ids.isEmpty() &&FieldName.isGID(ids.stream().findFirst().get()))
191191
returnrepository.findByGidInAndState(ids,ACTIVE);
192-
returnrepository.findByIdInAndState(ids,ACTIVE);
192+
returnrepository.findBySlugInAndState(ids,ACTIVE).switchIfEmpty(repository.findByIdInAndState(ids,ACTIVE));
193193
}
194194

195195
@Override
@@ -222,7 +222,7 @@ public Mono<Boolean> uploadLogo(String organizationId, Part filePart) {
222222
publicMono<Boolean>deleteLogo(StringorganizationId) {
223223
Mono<Organization>organizationMono;
224224
if(FieldName.isGID(organizationId))organizationMono =repository.findByGidAndState(organizationId,ACTIVE);
225-
elseorganizationMono =repository.findByIdAndState(organizationId,ACTIVE);
225+
elseorganizationMono =repository.findBySlugAndState(organizationId,ACTIVE).switchIfEmpty(repository.findByIdAndState(organizationId,ACTIVE));
226226
returnorganizationMono
227227
.flatMap(organization -> {
228228
// delete from asset repo.

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/util/GidService.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,13 @@ public class GidService {
4040
privateBundleRepositorybundleRepository;
4141

4242
publicMono<String>convertApplicationIdToObjectId(Stringid) {
43-
if(FieldName.isGID(id)) {
44-
returnapplicationRepository.findByGid(id).next().mapNotNull(HasIdAndAuditing::getId);
45-
}
46-
returnMono.just(id);
43+
returnapplicationRepository.findBySlug(id).next().mapNotNull(HasIdAndAuditing::getId).switchIfEmpty(
44+
Mono.defer(() -> {
45+
if (FieldName.isGID(id)) {
46+
returnapplicationRepository.findByGid(id).next().mapNotNull(HasIdAndAuditing::getId);
47+
}
48+
returnMono.just(id);
49+
}));
4750
}
4851

4952
publicMono<String>convertDatasourceIdToObjectId(Stringid) {
@@ -54,10 +57,13 @@ public Mono<String> convertDatasourceIdToObjectId(String id) {
5457
}
5558

5659
publicMono<String>convertOrganizationIdToObjectId(Stringid) {
57-
if(FieldName.isGID(id)) {
58-
returnorganizationRepository.findByGid(id).next().mapNotNull(HasIdAndAuditing::getId);
59-
}
60-
returnMono.just(id);
60+
returnorganizationRepository.findBySlug(id).next().mapNotNull(HasIdAndAuditing::getId).switchIfEmpty(
61+
Mono.defer(() -> {
62+
if(FieldName.isGID(id)) {
63+
returnorganizationRepository.findByGid(id).next().mapNotNull(HasIdAndAuditing::getId);
64+
}
65+
returnMono.just(id);
66+
}));
6167
}
6268

6369
publicMono<String>convertGroupIdToObjectId(Stringid) {

‎server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/common/TestRedisConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
importjava.util.concurrent.atomic.AtomicInteger;
1111

1212
@SuppressWarnings("UnstableApiUsage")
13-
@TestConfiguration
13+
//@TestConfiguration
1414
publicclassTestRedisConfiguration {
1515

1616
privatestaticfinalAtomicIntegerSTATE =newAtomicInteger(0);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp