Skip to content

Commit 746ce56

Browse files
FalkWolskyludomikula
FalkWolsky
authored andcommitted
Added comments based on common discussion
1 parent c96bb7e commit 746ce56

File tree

3 files changed

+67
-3
lines changed

3 files changed

+67
-3
lines changed

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

+10-3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
@Repository
1919
public interface ApplicationRepository extends ReactiveMongoRepository<Application, String>, CustomApplicationRepository {
2020

21+
// publishedApplicationDSL : 0 -> excludes publishedApplicationDSL from the return
2122
@Query(fields = "{ publishedApplicationDSL : 0 , editingApplicationDSL : 0 }")
2223
Flux<Application> findByOrganizationId(String organizationId);
2324

@@ -37,14 +38,20 @@ public interface ApplicationRepository extends ReactiveMongoRepository<Applicati
3738

3839
// Falk: Why to combine? Marketplace-List and Agency-List are different Endpoints
3940

40-
@Query(value = "{$and:[{'publicToAll':true},{'$or':[{'publicToMarketplace':?0},{'agencyProfile':?1}]}, {'_id': { $in: ?2}}]}", fields = "{_id : 1}")
41+
/* @Query(value = "{$and:[{'publicToAll':true},{'$or':[{'publicToMarketplace':?0},{'agencyProfile':?1}]}, {'_id': { $in: ?2}}]}", fields = "{_id : 1}")
4142
Flux<Application> findByPublicToAllIsTrueAndPublicToMarketplaceIsOrAgencyProfileIsAndIdIn
42-
(Boolean publicToMarketplace, Boolean agencyProfile, Collection<String> ids);
43+
(Boolean publicToMarketplace, Boolean agencyProfile, Collection<String> ids); */
4344

44-
Flux<Application> findByPublicToAllIsTrueAndPublicToMarketplaceIsAndAgencyProfileIsAndIdIn(Boolean publicToMarketplace, Boolean agencyProfile, Collection<String> ids);
45+
// this we do not need
46+
// Flux<Application> findByPublicToAllIsTrueAndPublicToMarketplaceIsAndAgencyProfileIsAndIdIn(Boolean publicToMarketplace, Boolean agencyProfile, Collection<String> ids);
4547

48+
// Find all Public Applications
49+
Flux<Application> findByPublicToAllIsTrue();
50+
51+
// Find all Marketplace Apps
4652
Flux<Application> findByPublicToAllIsTrueAndPublicToMarketplaceIsTrue();
4753

54+
// Find all Agencies
4855
Flux<Application> findByPublicToAllIsTrueAndAgencyProfileIsTrue();
4956

5057
}

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

+54
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,64 @@ public Mono<Boolean> setApplicationAsAgencyProfile(String applicationId, boolean
204204
return mongoUpsertHelper.updateById(application, applicationId);
205205
}
206206

207+
// getPublicApplicationIds /view - publicToAll check
208+
// getPublicMarketplaceApplicationIds / marketplace_view - publicToAll and publicToMarketplace check & isPrivateMarketplace check
209+
// getPublicAgencyProfileApplicationIds / agency_profile_view - publicToAll and agencyProfile check
210+
211+
// marketplace_view [anonymous] publicToAll and publicToMarketplace check & isPrivateMarketplace false -> OK
212+
213+
// marketplace_view [anonymous] publicToAll and publicToMarketplace check & isPrivateMarketplace true -> NOT OK
214+
215+
// marketplace_view [LoggedIn] publicToAll and publicToMarketplace check & isPrivateMarketplace true -> OK
216+
// marketplace_view [LoggedIn] publicToAll and publicToMarketplace check & isPrivateMarketplace false -> OK
217+
218+
219+
// will be extended by EndpointType
220+
/*
221+
* if (EndpointType == view)
222+
* if (EndpointType == marketplace_view)
223+
* if (EndpointType == agency_profile_view)
224+
*/
225+
226+
// is it needed?
207227
@NonEmptyMono
208228
@SuppressWarnings("ReactiveStreamsNullableInLambdaInTransform")
209229
public Mono<Set<String>> getPublicApplicationIds(Collection<String> applicationIds, Boolean isAnonymous, Boolean isPrivateMarketplace) {
210230

231+
return repository.findByPublicToAllIsTrue()
232+
.map(HasIdAndAuditing::getId)
233+
.collect(Collectors.toSet());
234+
}
235+
236+
// for Marketplaces
237+
@NonEmptyMono
238+
@SuppressWarnings("ReactiveStreamsNullableInLambdaInTransform")
239+
public Mono<Set<String>> getPublicMarketplaceApplicationIds(Collection<String> applicationIds, Boolean isAnonymous, Boolean isPrivateMarketplace) {
240+
241+
if(isAnonymous) {
242+
if(isPrivateMarketplace) {
243+
return repository.findByPublicToAllIsTrueAndPublicToMarketplaceIsTrue(false, false, applicationIds)
244+
.map(HasIdAndAuditing::getId)
245+
.collect(Collectors.toSet());
246+
} else {
247+
return repository.findByPublicToAllIsTrueAndPublicToMarketplaceIsTrue(true, false, applicationIds)
248+
.map(HasIdAndAuditing::getId)
249+
.collect(Collectors.toSet());
250+
}
251+
} else {
252+
return repository.findByPublicToAllIsTrueAndPublicToMarketplaceIsTrue(true, true, applicationIds)
253+
.map(HasIdAndAuditing::getId)
254+
.collect(Collectors.toSet());
255+
}
256+
257+
258+
}
259+
260+
// for Agencies
261+
@NonEmptyMono
262+
@SuppressWarnings("ReactiveStreamsNullableInLambdaInTransform")
263+
public Mono<Set<String>> getPublicAgencyApplicationIds(Collection<String> applicationIds, Boolean isAnonymous, Boolean isPrivateMarketplace) {
264+
211265
if(isAnonymous) {
212266
if(isPrivateMarketplace) {
213267
return repository.findByPublicToAllIsTrueAndPublicToMarketplaceIsAndAgencyProfileIsAndIdIn(false, false, applicationIds)

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationController.java

+3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import org.lowcoder.api.application.view.ApplicationPermissionView;
1717
import org.lowcoder.api.application.view.ApplicationView;
1818
import org.lowcoder.api.application.view.MarketplaceApplicationInfoView;
19+
// should we not have a AgencyApplicationInfoView
20+
1921
import org.lowcoder.api.framework.view.ResponseView;
2022
import org.lowcoder.api.home.SessionUserService;
2123
import org.lowcoder.api.home.UserHomeApiService;
@@ -91,6 +93,7 @@ public Mono<ResponseView<ApplicationView>> getEditingApplication(@PathVariable S
9193
.map(ResponseView::success);
9294
}
9395

96+
// will call the check in ApplicationApiService and ApplicationService
9497
@Override
9598
public Mono<ResponseView<ApplicationView>> getPublishedApplication(@PathVariable String applicationId) {
9699
return applicationApiService.getPublishedApplication(applicationId, ApplicationRequestType.PUBLIC_TO_ALL)

0 commit comments

Comments
 (0)