package io.dataease.controller; import io.dataease.base.domain.UserKey; import io.dataease.commons.constants.RoleConstants; import io.dataease.commons.utils.SessionUtils; import io.dataease.security.ApiKeyHandler; import io.dataease.service.UserKeyService; import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresRoles; import org.apache.shiro.web.util.WebUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.ServletRequest; import java.util.List; @RestController @RequestMapping("user/key") @RequiresRoles(value = {RoleConstants.ADMIN, RoleConstants.TEST_MANAGER, RoleConstants.TEST_USER, RoleConstants.TEST_VIEWER, RoleConstants.ORG_ADMIN}, logical = Logical.OR) public class UserKeysController { @Resource private UserKeyService userKeyService; @GetMapping("info") public List getUserKeysInfo() { String userId = SessionUtils.getUser().getId(); return userKeyService.getUserKeysInfo(userId); } @GetMapping("validate") public String validate(ServletRequest request) { return ApiKeyHandler.getUser(WebUtils.toHttp(request)); } @GetMapping("generate") public void generateUserKey() { String userId = SessionUtils.getUser().getId(); userKeyService.generateUserKey(userId); } @GetMapping("delete/{id}") public void deleteUserKey(@PathVariable String id) { userKeyService.deleteUserKey(id); } @GetMapping("active/{id}") public void activeUserKey(@PathVariable String id) { userKeyService.activeUserKey(id); } @GetMapping("disable/{id}") public void disabledUserKey(@PathVariable String id) { userKeyService.disableUserKey(id); } }