Search in sources :

Example 6 with WormholeUser

use of com.vmware.flowgate.common.model.WormholeUser in project flowgate by vmware.

the class AuthControllerTest method readOneUserByNameExample.

@Test
public void readOneUserByNameExample() throws Exception {
    WormholeUserDetails userdetail = new WormholeUserDetails();
    String userId = UUID.randomUUID().toString();
    userdetail.setUserId(userId);
    List<String> rolenames = new ArrayList<String>();
    rolenames.add("admin");
    WormholeUser adminUser = new WormholeUser();
    adminUser.setRoleNames(rolenames);
    adminUser.setId(userId);
    userRepository.save(adminUser);
    Mockito.doReturn(userdetail).when(tokenService).getCurrentUser(any());
    WormholeUser user = createUser();
    userRepository.save(user);
    this.mockMvc.perform(get("/v1/auth/user/username/{userName}", user.getUserName())).andExpect(status().isOk()).andDo(document("AuthController-readOneUserByUserName-example", pathParameters(parameterWithName("userName").description("The name of user")), responseFields(fieldWithPath("id").description("ID of User, created by flowgate"), fieldWithPath("userName").description("userName.").type(JsonFieldType.STRING), fieldWithPath("gender").description("gender").type(JsonFieldType.NUMBER), fieldWithPath("password").description("password"), fieldWithPath("mobile").description("mobile").type(JsonFieldType.STRING), fieldWithPath("status").description("status").type(JsonFieldType.NUMBER), fieldWithPath("createTime").description("createTime").type(Date.class), fieldWithPath("emailAddress").description("emailAddress").type(JsonFieldType.STRING), fieldWithPath("roleNames").description("roleNames").type(List.class), fieldWithPath("userGroupIDs").description("userGroupIDs").type(List.class), fieldWithPath("lastPasswordResetDate").description("lastPasswordResetDate").type(JsonFieldType.NUMBER)))).andReturn();
    userRepository.deleteById(userId);
    userRepository.deleteById(user.getId());
}
Also used : WormholeUserDetails(com.vmware.flowgate.util.WormholeUserDetails) ArrayList(java.util.ArrayList) WormholeUser(com.vmware.flowgate.common.model.WormholeUser) SpringBootTest(org.springframework.boot.test.context.SpringBootTest) Test(org.junit.Test)

Example 7 with WormholeUser

use of com.vmware.flowgate.common.model.WormholeUser in project flowgate by vmware.

the class AuthController method readUser.

// Read a user
@RequestMapping(value = "/user/{id}", method = RequestMethod.GET)
public WormholeUser readUser(@PathVariable(required = false) String id, HttpServletRequest request) {
    WormholeUserDetails userDetail = accessTokenService.getCurrentUser(request);
    Optional<WormholeUser> currentUserOptional = userRepository.findById(userDetail.getUserId());
    WormholeUser user = null;
    WormholeUser currentUser = currentUserOptional.get();
    if (currentUser.getId().equals(id)) {
        user = currentUser;
    } else if (currentUser.getRoleNames().contains(FlowgateConstant.Role_admin)) {
        Optional<WormholeUser> userOptional = userRepository.findById(id);
        user = userOptional.get();
    } else {
        throw new WormholeRequestException(HttpStatus.FORBIDDEN, "Forbidden", null);
    }
    if (user != null) {
        return DesensitizationUserData.desensitizationUser(user);
    }
    return user;
}
Also used : WormholeRequestException(com.vmware.flowgate.exception.WormholeRequestException) WormholeUserDetails(com.vmware.flowgate.util.WormholeUserDetails) Optional(java.util.Optional) WormholeUser(com.vmware.flowgate.common.model.WormholeUser) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 8 with WormholeUser

use of com.vmware.flowgate.common.model.WormholeUser in project flowgate by vmware.

the class FacilitySoftwareController method queryFacilitySoftwareConfigByPage.

@RequestMapping(value = "/page/{pageNumber}/pagesize/{pageSize}", method = RequestMethod.GET)
public Page<FacilitySoftwareConfig> queryFacilitySoftwareConfigByPage(@PathVariable("pageNumber") int currentPage, @PathVariable("pageSize") int pageSize, HttpServletRequest request, @RequestParam(required = false) SoftwareType[] softwaretypes) {
    WormholeUserDetails user = accessTokenService.getCurrentUser(request);
    if (currentPage < FlowgateConstant.defaultPageNumber) {
        currentPage = FlowgateConstant.defaultPageNumber;
    } else if (pageSize <= 0) {
        pageSize = FlowgateConstant.defaultPageSize;
    } else if (pageSize > FlowgateConstant.maxPageSize) {
        pageSize = FlowgateConstant.maxPageSize;
    }
    PageRequest pageRequest = PageRequest.of(currentPage - 1, pageSize);
    Optional<WormholeUser> currentUserOptional = userRepository.findById(user.getUserId());
    WormholeUser currentUser = currentUserOptional.get();
    Page<FacilitySoftwareConfig> result = null;
    List<String> types = new ArrayList<String>();
    if (softwaretypes != null && softwaretypes.length > 0) {
        for (SoftwareType type : softwaretypes) {
            types.add(type.name());
        }
    }
    if (currentUser.getRoleNames().contains(FlowgateConstant.Role_admin)) {
        if (types.isEmpty()) {
            result = repository.findAll(pageRequest);
        } else {
            result = repository.findAllByTypeIn(types, pageRequest);
        }
    } else {
        if (types.isEmpty()) {
            result = repository.findALlByUserId(user.getUserId(), pageRequest);
        } else {
            result = repository.findAllByUserIdAndTypeIn(user.getUserId(), types, pageRequest);
        }
    }
    if (result != null) {
        for (FacilitySoftwareConfig facilitySoftwareConfig : result.getContent()) {
            facilitySoftwareConfig.setPassword(null);
        }
    }
    return result;
}
Also used : PageRequest(org.springframework.data.domain.PageRequest) WormholeUserDetails(com.vmware.flowgate.util.WormholeUserDetails) ArrayList(java.util.ArrayList) FacilitySoftwareConfig(com.vmware.flowgate.common.model.FacilitySoftwareConfig) SoftwareType(com.vmware.flowgate.common.model.FacilitySoftwareConfig.SoftwareType) WormholeUser(com.vmware.flowgate.common.model.WormholeUser) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 9 with WormholeUser

use of com.vmware.flowgate.common.model.WormholeUser in project flowgate by vmware.

the class WormholeAPIClient method getUser.

private WormholeUser getUser() {
    WormholeUser user = new WormholeUser();
    user.setUserName(this.userName);
    user.setPassword(this.password);
    return user;
}
Also used : WormholeUser(com.vmware.flowgate.common.model.WormholeUser)

Example 10 with WormholeUser

use of com.vmware.flowgate.common.model.WormholeUser in project flowgate by vmware.

the class AuthController method queryUserByPageable.

// Read users
@RequestMapping(value = "/user", method = RequestMethod.GET)
public Page<WormholeUser> queryUserByPageable(@RequestParam("currentPage") int currentPage, @RequestParam("pageSize") int pageSize) {
    if (currentPage < FlowgateConstant.defaultPageNumber) {
        currentPage = FlowgateConstant.defaultPageNumber;
    }
    if (pageSize <= 0) {
        pageSize = FlowgateConstant.defaultPageSize;
    } else if (pageSize > FlowgateConstant.maxPageSize) {
        pageSize = FlowgateConstant.maxPageSize;
    }
    PageRequest pageRequest = PageRequest.of(currentPage - 1, pageSize);
    Page<WormholeUser> pageUsers = userRepository.findAll(pageRequest);
    DesensitizationUserData.desensitizationUser(pageUsers.getContent());
    return pageUsers;
}
Also used : PageRequest(org.springframework.data.domain.PageRequest) WormholeUser(com.vmware.flowgate.common.model.WormholeUser) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

WormholeUser (com.vmware.flowgate.common.model.WormholeUser)27 WormholeUserDetails (com.vmware.flowgate.util.WormholeUserDetails)18 Test (org.junit.Test)18 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)18 ArrayList (java.util.ArrayList)14 MvcResult (org.springframework.test.web.servlet.MvcResult)5 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)5 FacilitySoftwareConfig (com.vmware.flowgate.common.model.FacilitySoftwareConfig)4 WormholeRequestException (com.vmware.flowgate.exception.WormholeRequestException)3 DecodedJWT (com.auth0.jwt.interfaces.DecodedJWT)2 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)2 Date (java.util.Date)2 Optional (java.util.Optional)2 PageRequest (org.springframework.data.domain.PageRequest)2 AuthToken (com.vmware.flowgate.common.model.AuthToken)1 SoftwareType (com.vmware.flowgate.common.model.FacilitySoftwareConfig.SoftwareType)1 AuthorityUtil (com.vmware.flowgate.util.AuthorityUtil)1 IOException (java.io.IOException)1 Cookie (javax.servlet.http.Cookie)1 GrantedAuthority (org.springframework.security.core.GrantedAuthority)1