Skip to content

Commit fe80bb4

Browse files
dragonpooludomikula
authored andcommitted
Add applicationAuthorOrgId field to application event.
1 parent 3def39c commit fe80bb4

File tree

2 files changed

+77
-77
lines changed

2 files changed

+77
-77
lines changed

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/event/ApplicationCommonEvent.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public class ApplicationCommonEvent extends AbstractEvent {
2323
private final String oldApplicationDescription;
2424
private final String oldApplicationTitle;
2525
private final String applicationAuthor;
26+
private final String applicationAuthorOrgId;
2627
private final EventType type;
2728
@Nullable
2829
@JsonInclude(JsonInclude.Include.NON_NULL)

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

Lines changed: 76 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -125,83 +125,82 @@ public Mono<Void> publishApplicationCommonEvent(ApplicationView originalApplicat
125125

126126
public Mono<Void> publishApplicationCommonEvent(ApplicationView originalApplicationView, ApplicationView applicationView, EventType eventType) {
127127
return sessionUserService.isAnonymousUser()
128-
.flatMap(anonymous -> {
129-
return sessionUserService.getVisitorOrgMemberCache()
130-
.onErrorReturn(new OrgMember(originalApplicationView.getApplicationInfoView().getOrgId(), null, null, null, 0))
131-
.zipWith(Mono.defer(() -> {
132-
String folderId = applicationView.getApplicationInfoView().getFolderId();
133-
if (StringUtils.isBlank(folderId)) {
134-
return Mono.just(Optional.<Folder>empty());
135-
}
136-
return folderService.findById(folderId)
137-
.map(Optional::of)
138-
.onErrorReturn(Optional.empty());
139-
}))
140-
.zipWith(Mono.defer(() -> {
141-
String folderId = applicationView.getApplicationInfoView().getFolderIdFrom();
142-
if (StringUtils.isBlank(folderId)) {
143-
return Mono.just(Optional.<Folder>empty());
144-
}
145-
return folderService.findById(folderId)
146-
.map(Optional::of)
147-
.onErrorReturn(Optional.empty());
148-
}), TupleUtils::merge)
149-
.zipWith(sessionUserService.getVisitorToken())
150-
.zipWith(Mono.defer(() -> {
151-
String appId = applicationView.getApplicationInfoView().getApplicationId();
152-
return applicationService.findById(appId)
153-
.zipWhen(application -> application.getCategory(applicationRecordServiceImpl))
154-
.zipWhen(application -> application.getT1().getDescription(applicationRecordServiceImpl))
155-
.zipWhen(application -> application.getT1().getT1().getTitle(applicationRecordServiceImpl))
156-
.map(tuple -> {
157-
String category = tuple.getT1().getT1().getT2();
158-
String description = tuple.getT1().getT2();
159-
String title = tuple.getT2();
160-
return new String[]{category, description, title};
161-
});
162-
}), TupleUtils::merge)
163-
.flatMap(tuple -> Mono.deferContextual(contextView -> {
164-
OrgMember orgMember = tuple.getT1().getT1();
165-
Optional<Folder> optional = tuple.getT1().getT2();
166-
Optional<Folder> optionalFrom = tuple.getT1().getT3();
167-
String token = tuple.getT2();
168-
String category = tuple.getT3()[0];
169-
String description = tuple.getT3()[1];
170-
String title = tuple.getT3()[2];
171-
ApplicationInfoView applicationInfoView = applicationView.getApplicationInfoView();
172-
173-
ApplicationCommonEvent event = ApplicationCommonEvent.builder()
174-
.orgId(orgMember.getOrgId())
175-
.userId(orgMember.getUserId())
176-
.applicationId(applicationInfoView.getApplicationId())
177-
.applicationGid(applicationInfoView.getApplicationGid())
178-
.applicationName(applicationInfoView.getName())
179-
.applicationAuthor(applicationInfoView.getCreateBy())
180-
.applicationCategory(category)
181-
.applicationDescription(description)
182-
.applicationTitle(title)
183-
.oldApplicationName(originalApplicationView!=null ? originalApplicationView.getApplicationInfoView().getName() : null)
184-
.oldApplicationCategory(originalApplicationView!=null ?originalApplicationView.getApplicationInfoView().getCategory() : null)
185-
.oldApplicationDescription(originalApplicationView!=null ?originalApplicationView.getApplicationInfoView().getDescription() : null)
186-
.oldApplicationTitle(originalApplicationView!=null ?originalApplicationView.getApplicationInfoView().getTitle() : null)
187-
.type(eventType)
188-
.folderId(optional.map(Folder::getId).orElse(null))
189-
.folderName(optional.map(Folder::getName).orElse(null))
190-
.oldFolderId(optionalFrom.map(Folder::getId).orElse(null))
191-
.oldFolderName(optionalFrom.map(Folder::getName).orElse(null))
192-
.isAnonymous(anonymous)
193-
.sessionHash(Hashing.sha512().hashString(token, StandardCharsets.UTF_8).toString())
194-
.build();
195-
196-
event.populateDetails(contextView);
197-
applicationEventPublisher.publishEvent(event);
198-
return Mono.empty();
199-
})).then() // **Ensures Mono<Void> return type**
200-
.onErrorResume(throwable -> {
201-
log.error("publishApplicationCommonEvent error. {}, {}", applicationView, eventType, throwable);
202-
return Mono.empty();
203-
});
204-
});
128+
.flatMap(anonymous -> sessionUserService.getVisitorOrgMemberCache()
129+
.onErrorReturn(new OrgMember(null, null, null, null, 0))
130+
.zipWith(Mono.defer(() -> {
131+
String folderId = applicationView.getApplicationInfoView().getFolderId();
132+
if (StringUtils.isBlank(folderId)) {
133+
return Mono.just(Optional.<Folder>empty());
134+
}
135+
return folderService.findById(folderId)
136+
.map(Optional::of)
137+
.onErrorReturn(Optional.empty());
138+
}))
139+
.zipWith(Mono.defer(() -> {
140+
String folderId = applicationView.getApplicationInfoView().getFolderIdFrom();
141+
if (StringUtils.isBlank(folderId)) {
142+
return Mono.just(Optional.<Folder>empty());
143+
}
144+
return folderService.findById(folderId)
145+
.map(Optional::of)
146+
.onErrorReturn(Optional.empty());
147+
}), TupleUtils::merge)
148+
.zipWith(sessionUserService.getVisitorToken())
149+
.zipWith(Mono.defer(() -> {
150+
String appId = applicationView.getApplicationInfoView().getApplicationId();
151+
return applicationService.findById(appId)
152+
.zipWhen(application -> application.getCategory(applicationRecordServiceImpl))
153+
.zipWhen(application -> application.getT1().getDescription(applicationRecordServiceImpl))
154+
.zipWhen(application -> application.getT1().getT1().getTitle(applicationRecordServiceImpl))
155+
.map(tuple -> {
156+
String category = tuple.getT1().getT1().getT2();
157+
String description = tuple.getT1().getT2();
158+
String title = tuple.getT2();
159+
return new String[]{category, description, title};
160+
});
161+
}), TupleUtils::merge)
162+
.flatMap(tuple -> Mono.deferContextual(contextView -> {
163+
OrgMember orgMember = tuple.getT1().getT1();
164+
Optional<Folder> optional = tuple.getT1().getT2();
165+
Optional<Folder> optionalFrom = tuple.getT1().getT3();
166+
String token = tuple.getT2();
167+
String category = tuple.getT3()[0];
168+
String description = tuple.getT3()[1];
169+
String title = tuple.getT3()[2];
170+
ApplicationInfoView applicationInfoView = applicationView.getApplicationInfoView();
171+
172+
ApplicationCommonEvent event = ApplicationCommonEvent.builder()
173+
.orgId(orgMember.getOrgId())
174+
.userId(orgMember.getUserId())
175+
.applicationId(applicationInfoView.getApplicationId())
176+
.applicationGid(applicationInfoView.getApplicationGid())
177+
.applicationName(applicationInfoView.getName())
178+
.applicationAuthor(applicationInfoView.getCreateBy())
179+
.applicationAuthorOrgId(applicationInfoView.getOrgId())
180+
.applicationCategory(category)
181+
.applicationDescription(description)
182+
.applicationTitle(title)
183+
.oldApplicationName(originalApplicationView!=null ? originalApplicationView.getApplicationInfoView().getName() : null)
184+
.oldApplicationCategory(originalApplicationView!=null ?originalApplicationView.getApplicationInfoView().getCategory() : null)
185+
.oldApplicationDescription(originalApplicationView!=null ?originalApplicationView.getApplicationInfoView().getDescription() : null)
186+
.oldApplicationTitle(originalApplicationView!=null ?originalApplicationView.getApplicationInfoView().getTitle() : null)
187+
.type(eventType)
188+
.folderId(optional.map(Folder::getId).orElse(null))
189+
.folderName(optional.map(Folder::getName).orElse(null))
190+
.oldFolderId(optionalFrom.map(Folder::getId).orElse(null))
191+
.oldFolderName(optionalFrom.map(Folder::getName).orElse(null))
192+
.isAnonymous(anonymous)
193+
.sessionHash(Hashing.sha512().hashString(token, StandardCharsets.UTF_8).toString())
194+
.build();
195+
196+
event.populateDetails(contextView);
197+
applicationEventPublisher.publishEvent(event);
198+
return Mono.empty();
199+
})).then() // **Ensures Mono<Void> return type**
200+
.onErrorResume(throwable -> {
201+
log.error("publishApplicationCommonEvent error. {}, {}", applicationView, eventType, throwable);
202+
return Mono.empty();
203+
}));
205204
}
206205

207206

0 commit comments

Comments
 (0)
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