Merge pull request 'fix/omadarootcontainer' (#28) from fix/omadarootcontainer into main
Reviewed-on: #28
This commit is contained in:
commit
9ca440c1be
6 changed files with 48 additions and 11 deletions
|
|
@ -18,7 +18,7 @@ export const useGroupStore = defineStore('group', {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
const url = `${config.backendUrl}/groups`;
|
const url = `${config.backendUrl}/groups`;
|
||||||
const resp = await performRequest(this,'GET', url, null);
|
const resp = await performRequest(this,'GET', url, null);
|
||||||
this.groups = resp.data;
|
this.groups = resp.data.groups;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -56,8 +56,8 @@ export const useUsersStore = defineStore('users', {
|
||||||
};
|
};
|
||||||
|
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.empty = data.length === 0;
|
this.empty = data.users.length === 0;
|
||||||
this.users = data;
|
this.users = data.users;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package de.avatic.lcc.controller.users;
|
package de.avatic.lcc.controller.users;
|
||||||
|
|
||||||
|
import de.avatic.lcc.dto.users.GroupContainerDTO;
|
||||||
import de.avatic.lcc.dto.users.GroupDTO;
|
import de.avatic.lcc.dto.users.GroupDTO;
|
||||||
import de.avatic.lcc.repositories.pagination.SearchQueryResult;
|
import de.avatic.lcc.repositories.pagination.SearchQueryResult;
|
||||||
import de.avatic.lcc.service.users.GroupService;
|
import de.avatic.lcc.service.users.GroupService;
|
||||||
|
|
@ -34,16 +35,19 @@ public class GroupController {
|
||||||
*/
|
*/
|
||||||
@GetMapping({"/", ""})
|
@GetMapping({"/", ""})
|
||||||
@PreAuthorize("hasAnyRole('RIGHT-MANAGEMENT', 'SERVICE')")
|
@PreAuthorize("hasAnyRole('RIGHT-MANAGEMENT', 'SERVICE')")
|
||||||
public ResponseEntity<List<GroupDTO>> listGroups(@RequestParam(defaultValue = "20") @Min(1) int limit,
|
public ResponseEntity<GroupContainerDTO> listGroups(@RequestParam(defaultValue = "20") @Min(1) int limit,
|
||||||
@RequestParam(defaultValue = "1") @Min(1) int page) {
|
@RequestParam(defaultValue = "1") @Min(1) int page) {
|
||||||
|
|
||||||
SearchQueryResult<GroupDTO> groups = groupService.listGroups(page, limit);
|
SearchQueryResult<GroupDTO> groups = groupService.listGroups(page, limit);
|
||||||
|
|
||||||
|
var container = new GroupContainerDTO();
|
||||||
|
container.setGroups(groups.toList());
|
||||||
|
|
||||||
return ResponseEntity.ok()
|
return ResponseEntity.ok()
|
||||||
.header("X-Total-Count", String.valueOf(groups.getTotalElements()))
|
.header("X-Total-Count", String.valueOf(groups.getTotalElements()))
|
||||||
.header("X-Page-Count", String.valueOf(groups.getTotalPages()))
|
.header("X-Page-Count", String.valueOf(groups.getTotalPages()))
|
||||||
.header("X-Current-Page", String.valueOf(page))
|
.header("X-Current-Page", String.valueOf(page))
|
||||||
.body(groups.toList());
|
.body(container);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,17 @@
|
||||||
package de.avatic.lcc.controller.users;
|
package de.avatic.lcc.controller.users;
|
||||||
|
|
||||||
|
|
||||||
|
import de.avatic.lcc.dto.users.UserContainerDTO;
|
||||||
import de.avatic.lcc.dto.users.UserDTO;
|
import de.avatic.lcc.dto.users.UserDTO;
|
||||||
import de.avatic.lcc.repositories.pagination.SearchQueryResult;
|
import de.avatic.lcc.repositories.pagination.SearchQueryResult;
|
||||||
import de.avatic.lcc.service.users.UserService;
|
import de.avatic.lcc.service.users.UserService;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.Min;
|
import jakarta.validation.constraints.Min;
|
||||||
import jakarta.validation.constraints.NotNull;
|
|
||||||
import org.hibernate.validator.constraints.Length;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -41,17 +39,20 @@ public class UserController {
|
||||||
*/
|
*/
|
||||||
@GetMapping({"/", ""})
|
@GetMapping({"/", ""})
|
||||||
@PreAuthorize("hasRole('RIGHT-MANAGEMENT')")
|
@PreAuthorize("hasRole('RIGHT-MANAGEMENT')")
|
||||||
public ResponseEntity<List<UserDTO>> listUsers(
|
public ResponseEntity<UserContainerDTO> listUsers(
|
||||||
@RequestParam(defaultValue = "20") @Min(1) int limit,
|
@RequestParam(defaultValue = "20") @Min(1) int limit,
|
||||||
@RequestParam(defaultValue = "1") @Min(1) int page) {
|
@RequestParam(defaultValue = "1") @Min(1) int page) {
|
||||||
|
|
||||||
SearchQueryResult<UserDTO> users = userService.listUsers(page, limit);
|
SearchQueryResult<UserDTO> users = userService.listUsers(page, limit);
|
||||||
|
|
||||||
|
var container = new UserContainerDTO();
|
||||||
|
container.setUsers( users.toList());
|
||||||
|
|
||||||
return ResponseEntity.ok()
|
return ResponseEntity.ok()
|
||||||
.header("X-Total-Count", String.valueOf(users.getTotalElements()))
|
.header("X-Total-Count", String.valueOf(users.getTotalElements()))
|
||||||
.header("X-Page-Count", String.valueOf(users.getTotalPages()))
|
.header("X-Page-Count", String.valueOf(users.getTotalPages()))
|
||||||
.header("X-Current-Page", String.valueOf(page))
|
.header("X-Current-Page", String.valueOf(page))
|
||||||
.body(users.toList());
|
.body(container);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
16
src/main/java/de/avatic/lcc/dto/users/GroupContainerDTO.java
Normal file
16
src/main/java/de/avatic/lcc/dto/users/GroupContainerDTO.java
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
package de.avatic.lcc.dto.users;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class GroupContainerDTO {
|
||||||
|
|
||||||
|
private List<GroupDTO> groups;
|
||||||
|
|
||||||
|
public List<GroupDTO> getGroups() {
|
||||||
|
return groups;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroups(List<GroupDTO> groups) {
|
||||||
|
this.groups = groups;
|
||||||
|
}
|
||||||
|
}
|
||||||
16
src/main/java/de/avatic/lcc/dto/users/UserContainerDTO.java
Normal file
16
src/main/java/de/avatic/lcc/dto/users/UserContainerDTO.java
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
package de.avatic.lcc.dto.users;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class UserContainerDTO {
|
||||||
|
|
||||||
|
private List<UserDTO> users;
|
||||||
|
|
||||||
|
public List<UserDTO> getUsers() {
|
||||||
|
return users;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUsers(List<UserDTO> users) {
|
||||||
|
this.users = users;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue