de/backend/src/main/java/io/dataease/controller/UserKeysController.java
2021-02-20 10:23:37 +08:00

60 lines
1.9 KiB
Java

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<UserKey> 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);
}
}