@@ -61,6 +61,8 @@ public Mono<Application> findByIdWithoutDsl(String id) {
61
61
return Mono .error (new BizException (BizError .INVALID_PARAMETER , "INVALID_PARAMETER" , FieldName .ID ));
62
62
}
63
63
64
+ if (FieldName .guessFieldNameFromId (id ).equals (FieldName .GID ))
65
+ return Mono .from (repository .findByGid (id )).switchIfEmpty (Mono .error (new BizException (BizError .NO_RESOURCE_FOUND , "CANT_FIND_APPLICATION" , id )));
64
66
return repository .findById (id )
65
67
.switchIfEmpty (Mono .error (new BizException (BizError .NO_RESOURCE_FOUND , "CANT_FIND_APPLICATION" , id )));
66
68
}
@@ -127,6 +129,9 @@ public Mono<Long> countByOrganizationId(String orgId, ApplicationStatus applicat
127
129
128
130
@ Override
129
131
public Flux <Application > findByIdIn (List <String > applicationIds ) {
132
+ if (applicationIds .isEmpty ()) return Flux .empty ();
133
+ if (FieldName .guessFieldNameFromId (applicationIds .get (0 )).equals (FieldName .GID ))
134
+ return repository .findByGidIn (applicationIds );
130
135
return repository .findByIdIn (applicationIds );
131
136
}
132
137
@@ -257,9 +262,19 @@ public Mono<Set<String>> getFilteredPublicApplicationIds(ApplicationRequestType
257
262
@ SuppressWarnings ("ReactiveStreamsNullableInLambdaInTransform" )
258
263
public Mono <Set <String >> getPublicApplicationIds (Collection <String > applicationIds ) {
259
264
265
+ if (applicationIds .isEmpty ())
266
+ return repository .findByPublicToAllIsTrueAndIdIn (applicationIds )
267
+ .map (HasIdAndAuditing ::getId )
268
+ .collect (Collectors .toSet ());
269
+
270
+ if (FieldName .guessFieldNameFromId (applicationIds .stream ().findFirst ().get ()).equals (FieldName .GID ))
271
+ return repository .findByPublicToAllIsTrueAndGidIn (applicationIds )
272
+ .map (Application ::getGid )
273
+ .collect (Collectors .toSet ());
274
+
260
275
return repository .findByPublicToAllIsTrueAndIdIn (applicationIds )
261
- .map (HasIdAndAuditing ::getId )
262
- .collect (Collectors .toSet ());
276
+ .map (HasIdAndAuditing ::getId )
277
+ .collect (Collectors .toSet ());
263
278
}
264
279
265
280
@@ -272,13 +287,19 @@ public Mono<Set<String>> getPublicApplicationIds(Collection<String> applicationI
272
287
public Mono <Set <String >> getPrivateApplicationIds (Collection <String > applicationIds , String userId ) {
273
288
274
289
// TODO: in 2.4.0 we need to check whether the app was published or not
275
- return repository .findByCreatedByAndIdIn (userId , applicationIds )
276
- .map (HasIdAndAuditing ::getId )
277
- .collect (Collectors .toSet ());
290
+ if (applicationIds .isEmpty ())
291
+ return repository .findByCreatedByAndIdIn (userId , applicationIds )
292
+ .map (HasIdAndAuditing ::getId )
293
+ .collect (Collectors .toSet ());
278
294
279
- // return repository.findByIdIn(applicationIds)
280
- // .map(HasIdAndAuditing::getId)
281
- // .collect(Collectors.toSet());
295
+ if (FieldName .guessFieldNameFromId (applicationIds .stream ().findFirst ().get ()).equals (FieldName .GID ))
296
+ return repository .findByCreatedByAndGidIn (userId , applicationIds )
297
+ .map (Application ::getGid )
298
+ .collect (Collectors .toSet ());
299
+
300
+ return repository .findByCreatedByAndIdIn (userId , applicationIds )
301
+ .map (HasIdAndAuditing ::getId )
302
+ .collect (Collectors .toSet ());
282
303
}
283
304
284
305
@@ -292,6 +313,16 @@ public Mono<Set<String>> getPublicMarketplaceApplicationIds(Collection<String> a
292
313
293
314
if ((isAnonymous && !isPrivateMarketplace ) || !isAnonymous )
294
315
{
316
+ if (applicationIds .isEmpty ())
317
+ return repository .findByPublicToAllIsTrueAndPublicToMarketplaceIsTrueAndIdIn (applicationIds )
318
+ .map (HasIdAndAuditing ::getId )
319
+ .collect (Collectors .toSet ());
320
+
321
+ if (FieldName .guessFieldNameFromId (applicationIds .stream ().findFirst ().get ()).equals (FieldName .GID ))
322
+ return repository .findByPublicToAllIsTrueAndPublicToMarketplaceIsTrueAndGidIn (applicationIds )
323
+ .map (Application ::getGid )
324
+ .collect (Collectors .toSet ());
325
+
295
326
return repository .findByPublicToAllIsTrueAndPublicToMarketplaceIsTrueAndIdIn (applicationIds )
296
327
.map (HasIdAndAuditing ::getId )
297
328
.collect (Collectors .toSet ());
@@ -307,6 +338,16 @@ public Mono<Set<String>> getPublicMarketplaceApplicationIds(Collection<String> a
307
338
@ SuppressWarnings ("ReactiveStreamsNullableInLambdaInTransform" )
308
339
public Mono <Set <String >> getPublicAgencyApplicationIds (Collection <String > applicationIds ) {
309
340
341
+ if (applicationIds .isEmpty ())
342
+ return repository .findByPublicToAllIsTrueAndAgencyProfileIsTrueAndIdIn (applicationIds )
343
+ .map (HasIdAndAuditing ::getId )
344
+ .collect (Collectors .toSet ());
345
+
346
+ if (FieldName .guessFieldNameFromId (applicationIds .stream ().findFirst ().get ()).equals (FieldName .GID ))
347
+ return repository .findByPublicToAllIsTrueAndAgencyProfileIsTrueAndGidIn (applicationIds )
348
+ .map (Application ::getGid )
349
+ .collect (Collectors .toSet ());
350
+
310
351
return repository .findByPublicToAllIsTrueAndAgencyProfileIsTrueAndIdIn (applicationIds )
311
352
.map (HasIdAndAuditing ::getId )
312
353
.collect (Collectors .toSet ());
0 commit comments