package com.dji.sample.manage.controller;
|
|
import com.dji.sample.common.model.CustomClaim;
|
import com.dji.sample.common.model.PaginationData;
|
import com.dji.sample.common.model.ResponseResult;
|
import com.dji.sample.manage.model.dto.UserListDTO;
|
import com.dji.sample.manage.model.dto.WorkspaceDTO;
|
import com.dji.sample.manage.service.IWorkspaceService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.Optional;
|
|
import static com.dji.sample.component.AuthInterceptor.TOKEN_CLAIM;
|
|
/**
|
* @author sean.zhou
|
* @version 0.1
|
* @date 2021/11/23
|
*/
|
@RestController
|
@RequestMapping("${url.manage.prefix}${url.manage.version}/workspaces")
|
public class WorkspaceController {
|
|
@Autowired
|
private IWorkspaceService workspaceService;
|
|
/**
|
* Gets information about the workspace that the current user is in.
|
* @param request
|
* @return
|
*/
|
@GetMapping("/current")
|
public ResponseResult getCurrentWorkspace(HttpServletRequest request) {
|
CustomClaim customClaim = (CustomClaim)request.getAttribute(TOKEN_CLAIM);
|
Optional<WorkspaceDTO> workspaceOpt = workspaceService.getWorkspaceByWorkspaceId(customClaim.getWorkspaceId());
|
|
return workspaceOpt.isEmpty() ? ResponseResult.error() : ResponseResult.success(workspaceOpt.get());
|
}
|
|
@GetMapping("/list")
|
public ResponseResult findCurrentWorkspace(@RequestParam(defaultValue = "1") Long page,
|
@RequestParam(value = "page_size", defaultValue = "50") Long pageSize) {
|
PaginationData<WorkspaceDTO> paginationData = workspaceService.selectWorkspace(page, pageSize);
|
return ResponseResult.success(paginationData);
|
}
|
|
@PostMapping("/add")
|
public ResponseResult add(@RequestBody WorkspaceDTO dto) {
|
return workspaceService.createWorkspace(dto)?ResponseResult.success():ResponseResult.error();
|
}
|
|
@PostMapping("/delete")
|
public ResponseResult delete(@RequestParam(value = "id") Integer id) {
|
return workspaceService.deleteWorkspaceById(id)?ResponseResult.success():ResponseResult.error();
|
}
|
|
@PostMapping("/update")
|
public ResponseResult update(@RequestBody WorkspaceDTO dto) {
|
return workspaceService.updateWorkspaceById(dto)?ResponseResult.success():ResponseResult.error();
|
}
|
@GetMapping("/selectById")
|
public ResponseResult selectById(@RequestParam int id){
|
return ResponseResult.success(workspaceService.getWorkspaceById(id));
|
}
|
|
}
|