add internal feign key
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
package ru.soune.nocopy.adminpanel.client;
|
||||
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody;
|
||||
import ru.soune.nocopy.adminpanel.dto.BaseRequest;
|
||||
|
||||
import java.util.Map;
|
||||
@@ -18,4 +22,7 @@ public interface DashBoardAppClient {
|
||||
|
||||
@PostMapping("api/internal/data-control")
|
||||
Map<String, Object> internalDataControl(@RequestBody BaseRequest request);
|
||||
|
||||
@GetMapping("api/internal/data-download/{fileId}")
|
||||
public ResponseEntity<StreamingResponseBody> download(@PathVariable String fileId);
|
||||
}
|
||||
|
||||
@@ -4,10 +4,7 @@ import jakarta.servlet.http.HttpServletRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.soune.nocopy.adminpanel.client.DashBoardAppClient;
|
||||
import ru.soune.nocopy.adminpanel.dto.BaseRequest;
|
||||
import ru.soune.nocopy.adminpanel.dto.BaseResponse;
|
||||
@@ -117,4 +114,20 @@ public class AdminController {
|
||||
.messageBody(response)
|
||||
.build());
|
||||
}
|
||||
|
||||
@GetMapping("/download/{fileId}")
|
||||
public ResponseEntity<?> downloadFile(@PathVariable String fileId) {
|
||||
Long currentUserId = (Long) httpServletRequest.getAttribute("userId");
|
||||
|
||||
if (!adminSectionPermissionService.canRead(currentUserId,
|
||||
AdminSection.USERS)) {
|
||||
return ResponseEntity.ok(BaseResponse.builder()
|
||||
.msgId(0)
|
||||
.messageCode(MessageCode.PERMISSION_DENIED.getCode())
|
||||
.messageDesc("You can't control")
|
||||
.build());
|
||||
}
|
||||
|
||||
return dashBoardAppClient.download(fileId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user