You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

50 lines
1.6 KiB

package ru.digitalbanana.demoresourceserver.web.controller;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.security.oauth2.jwt.Jwt;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import lombok.extern.slf4j.Slf4j;
import ru.digitalbanana.demoresourceserver.persistence.model.UserEntity;
import ru.digitalbanana.demoresourceserver.service.UserService;
@Slf4j
@CrossOrigin(origins = "*")
@RestController
public class UserInfoController {
private final UserService userService;
@Autowired
public UserInfoController(final UserService userService) {
this.userService = userService;
}
@GetMapping(value = "/userinfo")
public String userinfo(@AuthenticationPrincipal Jwt principal) {
return principal.getClaimAsString("email");
}
@GetMapping(value = "/users")
public List<UserEntity> allUsers() {
log.debug("Request all users");
return StreamSupport
.stream(userService.findAll().spliterator(), false)
.filter(user -> user.getEmail() != null)
.collect(Collectors.toList())
;
}
}