Skip to content

Commit f436a39

Browse files
committed
[NAE-2070] Admin create/edit endpoints
- after merge fix
1 parent 19f1bb3 commit f436a39

12 files changed

Lines changed: 189 additions & 62 deletions

File tree

application-engine/src/main/java/com/netgrif/application/engine/auth/web/UserController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,8 @@ public PagedModel<UserResource> getAllWithRole(@RequestBody Set<String> roleIds,
183183
})
184184
public MessageResource assignRolesToUser(@PathVariable("id") String userId, @RequestBody Set<String> roleIds, Authentication auth) {
185185
try {
186-
processRoleService.assignRolesToUser(userId, roleIds.stream().map(ProcessResourceId::new).collect(Collectors.toSet()), (LoggedUser) auth.getPrincipal());
186+
IUser user = userService.findById(userId, null);
187+
processRoleService.assignRolesToUser(user, roleIds.stream().map(ProcessResourceId::new).collect(Collectors.toSet()), (LoggedUser) auth.getPrincipal());
187188
log.info("Process roles " + roleIds + " assigned to user " + userId);
188189
return MessageResource.successMessage("Selected roles assigned to user " + userId);
189190
} catch (IllegalArgumentException e) {

application-engine/src/main/java/com/netgrif/application/engine/auth/web/requestbodies/UpdateUserRequest.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
import java.io.Serial;
1010
import java.io.Serializable;
11+
import java.time.LocalDateTime;
12+
import java.util.Map;
1113
import java.util.Set;
1214

1315
@Setter
@@ -113,6 +115,26 @@ public boolean isImpersonating() {
113115
return false;
114116
}
115117

118+
@Override
119+
public LocalDateTime getCreatedAt() {
120+
return null;
121+
}
122+
123+
@Override
124+
public Map<String, Attribute<?>> getAttributes() {
125+
return Map.of();
126+
}
127+
128+
@Override
129+
public boolean isEnabled() {
130+
return false;
131+
}
132+
133+
@Override
134+
public boolean isEmailVerified() {
135+
return false;
136+
}
137+
116138
@Override
117139
public IUser getSelfOrImpersonated() {
118140
return null;
@@ -223,6 +245,16 @@ public Set<ProcessRole> getProcessRoles() {
223245
return Set.of();
224246
}
225247

248+
@Override
249+
public Set<ProcessRole> getNegativeProcessRoles() {
250+
return Set.of();
251+
}
252+
253+
@Override
254+
public void setNegativeProcessRoles(Set<ProcessRole> processRoles) {
255+
256+
}
257+
226258
@Override
227259
public void setProcessRoles(Set<ProcessRole> set) {
228260

@@ -273,6 +305,16 @@ public void removeProcessRole(ProcessRole processRole) {
273305

274306
}
275307

308+
@Override
309+
public void addNegativeProcessRole(ProcessRole role) {
310+
311+
}
312+
313+
@Override
314+
public void removeNegativeProcessRole(ProcessRole role) {
315+
316+
}
317+
276318
@Override
277319
public void setAttribute(String s, Object o, boolean b) {
278320

application-engine/src/main/java/com/netgrif/application/engine/configuration/security/jwt/JwtService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ public LoggedUser getLoggedUser(String token, String authority) {
7575
userMap.get("username").toString(),
7676
userMap.get("password").toString(),
7777
Collections.singleton(authorityService.getOrCreate(authority)),
78-
Collections.singleton(roleService.anonymousRole())
78+
Collections.singleton(roleService.anonymousRole()),
79+
Collections.emptySet()
7980
);
8081
user.setFirstName(userMap.get("firstName").toString());
8182
user.getAttributes().put("anonymous", new Attribute<>(true, false));

application-engine/src/main/java/com/netgrif/application/engine/orgstructure/web/GroupController.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@
99
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
1010
import io.swagger.v3.oas.annotations.tags.Tag;
1111
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
12+
import org.springframework.data.domain.Pageable;
1213
import org.springframework.hateoas.MediaTypes;
1314
import org.springframework.security.access.prepost.PreAuthorize;
1415
import org.springframework.web.bind.annotation.GetMapping;
1516
import org.springframework.web.bind.annotation.RequestMapping;
1617
import org.springframework.web.bind.annotation.RestController;
1718

1819
import java.util.HashSet;
20+
import java.util.List;
1921
import java.util.Set;
2022
import java.util.stream.Collectors;
2123

@@ -45,7 +47,7 @@ public GroupController(GroupService service) {
4547
@ApiResponse(responseCode = "403", description = "Caller doesn't fulfill the authorisation requirements"),
4648
})
4749
public GroupsResource getAllGroups() {
48-
Set<com.netgrif.application.engine.objects.auth.domain.Group> groups = service.findAll();
50+
List<com.netgrif.application.engine.objects.auth.domain.Group> groups = service.findAll(Pageable.unpaged()).getContent();
4951
Set<Group> groupResponse = groups.stream()
5052
.map(g -> new Group(g.getStringId(), g.getDisplayName()))
5153
.collect(Collectors.toCollection(HashSet::new));

application-engine/src/main/java/com/netgrif/application/engine/petrinet/config/ProcessBeansConfiguration.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.netgrif.application.engine.petrinet.config;
22

33
import com.netgrif.application.engine.adapter.spring.petrinet.service.ProcessRoleService;
4+
import com.netgrif.application.engine.auth.service.GroupService;
45
import com.netgrif.application.engine.petrinet.domain.dataset.logic.action.runner.RoleActionsRunner;
56
import com.netgrif.application.engine.petrinet.domain.repositories.PetriNetRepository;
67
import com.netgrif.application.engine.petrinet.domain.roles.ProcessRoleRepository;
@@ -25,15 +26,18 @@ public ProcessRoleService processRoleService(ProcessRoleRepository processRoleRe
2526
RoleActionsRunner roleActionsRunner,
2627
@Lazy PetriNetService petriNetService,
2728
@Lazy UserService userService,
28-
ISecurityContextService securityContextService) {
29+
ISecurityContextService securityContextService,
30+
@Lazy GroupService groupService
31+
) {
2932
return new com.netgrif.application.engine.petrinet.service.ProcessRoleService(
3033
processRoleRepository,
3134
petriNetRepository,
3235
publisher,
3336
roleActionsRunner,
3437
petriNetService,
3538
userService,
36-
securityContextService
39+
securityContextService,
40+
groupService
3741
);
3842
}
3943

application-engine/src/main/java/com/netgrif/application/engine/petrinet/service/PetriNetService.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -482,11 +482,9 @@ public Page<PetriNetReference> search(PetriNetSearch criteriaClass, LoggedUser u
482482
}
483483
if (criteriaClass.getGroup() != null) {
484484
if (criteriaClass.getGroup().size() == 1) {
485-
IUser owner = userService.findById(this.groupService.findById(criteriaClass.getGroup().getFirst()).getOwnerId(), null);
486-
this.addValueCriteria(query, queryTotal, Criteria.where("author.email").is(owner.getEmail()));
485+
this.addValueCriteria(query, queryTotal, Criteria.where("author.email").is(groupService.getGroupOwnerEmail(criteriaClass.getGroup().get(0))));
487486
} else {
488-
List<IUser> owners = userService.findAllByIds(this.groupService.findAllByIds(new HashSet<>(criteriaClass.getGroup())).stream().map(Group::getOwnerId).collect(Collectors.toSet()), null);
489-
this.addValueCriteria(query, queryTotal, Criteria.where("author.email").in(owners.stream().map(IUser::getEmail).collect(Collectors.toSet())));
487+
this.addValueCriteria(query, queryTotal, Criteria.where("author.email").in(groupService.getGroupsOwnerEmails(criteriaClass.getGroup())));
490488
}
491489
}
492490
if (criteriaClass.getVersion() != null) {

0 commit comments

Comments
 (0)