Skip to content

Commit c40a038

Browse files
authored
Merge pull request #1169 from lowcoder-org/feature/editlock
set editingUserId, lastEditedAt on put endpoint, get editingUserId, lastEditedAt on get endpoint
2 parents 531c053 + 891be31 commit c40a038

File tree

2 files changed

+5
-11
lines changed

2 files changed

+5
-11
lines changed

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

+1
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@ public Mono<Boolean> updateLastEditedAt(String applicationId, Instant time, Stri
352352
return repository.findByIdIn(List.of(applicationId))
353353
.filter(application -> application.getEditingUserId().equals(visitorId))
354354
.doOnNext(application -> application.setLastEditedAt(time))
355+
.doOnNext(application -> application.setEditingUserId(visitorId))
355356
.flatMap(repository::save)
356357
.hasElements();
357358
}

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

+4-11
Original file line numberDiff line numberDiff line change
@@ -256,18 +256,11 @@ public Mono<ApplicationView> getEditingApplication(String applicationId) {
256256
.delayUntil(application -> checkApplicationStatus(application, NORMAL)))
257257
.zipWhen(tuple -> applicationService.getAllDependentModulesFromApplication(tuple.getT2(), false), TupleUtils::merge)
258258
.zipWhen(tuple -> organizationService.getOrgCommonSettings(tuple.getT2().getOrganizationId()), TupleUtils::merge)
259-
.zipWhen(tuple -> sessionUserService.getVisitorId())
260259
.flatMap(tuple -> {
261-
ResourcePermission permission = tuple.getT1().getT1();
262-
Application application = tuple.getT1().getT2();
263-
List<Application> dependentModules = tuple.getT1().getT3();
264-
Map<String, Object> commonSettings = tuple.getT1().getT4();
265-
String visitorId = tuple.getT2();
266-
267-
if(!visitorId.equals(application.getEditingUserId()) && (application.getLastEditedAt() == null || application.getLastEditedAt().compareTo(Instant.now().minusSeconds(300)) < 0)) {
268-
application.setEditingUserId(visitorId);
269-
application.setLastEditedAt(Instant.now());
270-
}
260+
ResourcePermission permission = tuple.getT1();
261+
Application application = tuple.getT2();
262+
List<Application> dependentModules = tuple.getT3();
263+
Map<String, Object> commonSettings = tuple.getT4();
271264

272265
Map<String, Map<String, Object>> dependentModuleDsl = dependentModules.stream()
273266
.collect(Collectors.toMap(Application::getId, Application::getLiveApplicationDsl, (a, b) -> b));

0 commit comments

Comments
 (0)