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

Commit fe80bb4

Browse files
Thomasrludomikula
Thomasr
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)

AltStyle によって変換されたページ (->オリジナル) /