ClientID for orders

This commit is contained in:
2025-06-08 10:25:36 +02:00
parent 190083c133
commit 81cbc1f4b2
4 changed files with 37 additions and 25 deletions

View File

@@ -2,14 +2,16 @@ package _11.asktpk.artisanconnectbackend.controller;
import _11.asktpk.artisanconnectbackend.dto.*;
import _11.asktpk.artisanconnectbackend.entities.Order;
import _11.asktpk.artisanconnectbackend.service.ClientService;
import _11.asktpk.artisanconnectbackend.service.OrderService;
import _11.asktpk.artisanconnectbackend.service.PaymentService;
import _11.asktpk.artisanconnectbackend.utils.Enums;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import static _11.asktpk.artisanconnectbackend.utils.Tools.getClientIdFromRequest;
@RestController
@RequestMapping("/api/v1/orders")
public class OrderController {
@@ -23,19 +25,20 @@ public class OrderController {
}
@PostMapping("/add")
public ResponseEntity addClient(@RequestBody OrderDTO orderDTO) {
return new ResponseEntity<>(orderService.addOrder(orderDTO), HttpStatus.CREATED);
public ResponseEntity<?> addClient(@RequestBody OrderDTO orderDTO, HttpServletRequest request) {
orderDTO.setClientId(getClientIdFromRequest(request));
return ResponseEntity.status(HttpStatus.CREATED).body(orderService.addOrder(orderDTO));
}
@PutMapping("/changeStatus")
public ResponseEntity changeStatus(@RequestBody OrderStatusDTO orderStatusDTO) {
return new ResponseEntity<>(orderService.changeOrderStatus(orderStatusDTO.getId(),orderStatusDTO.getStatus()), HttpStatus.OK);
public ResponseEntity<?> changeStatus(@RequestBody OrderStatusDTO orderStatusDTO) {
return ResponseEntity.status(HttpStatus.OK).body(orderService.changeOrderStatus(orderStatusDTO.getId(), orderStatusDTO.getStatus()));
}
@PostMapping("/token")
public ResponseEntity<?> fetchToken() {
Order order = orderService.getOrderById(1L);
OAuthPaymentResponseDTO authPaymentDTO= paymentService.getOAuthToken();
OAuthPaymentResponseDTO authPaymentDTO = paymentService.getOAuthToken();
TransactionPaymentRequestDTO.Payer payer = new TransactionPaymentRequestDTO.Payer(
"patryk@test.pl", "Patryk Test");
@@ -44,10 +47,10 @@ public class OrderController {
TransactionPaymentRequestDTO request = new TransactionPaymentRequestDTO(
order.getAmount(), paymentDescription, payer);
String response = paymentService.createTransaction(order,authPaymentDTO.getAccess_token(), request);
String response = paymentService.createTransaction(order, authPaymentDTO.getAccess_token(), request);
System.out.println(response);
System.out.println(request);
return ResponseEntity.ok(response);
return ResponseEntity.status(HttpStatus.OK).body(response);
}
}

View File

@@ -2,7 +2,6 @@ package _11.asktpk.artisanconnectbackend.controller;
import _11.asktpk.artisanconnectbackend.dto.NoticeDTO;
import _11.asktpk.artisanconnectbackend.dto.RequestResponseDTO;
import _11.asktpk.artisanconnectbackend.security.JwtUtil;
import _11.asktpk.artisanconnectbackend.service.ClientService;
import _11.asktpk.artisanconnectbackend.service.NoticeService;
import _11.asktpk.artisanconnectbackend.service.WishlistService;
@@ -13,6 +12,8 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import static _11.asktpk.artisanconnectbackend.utils.Tools.getClientIdFromRequest;
@Slf4j
@RestController
@RequestMapping("/api/v1/wishlist")
@@ -20,13 +21,11 @@ public class WishlistController {
private final WishlistService wishlistService;
private final ClientService clientService;
private final NoticeService noticeService;
private final JwtUtil jwtUtil;
public WishlistController(WishlistService wishlistService, ClientService clientService, NoticeService noticeService, JwtUtil jwtUtil) {
public WishlistController(WishlistService wishlistService, ClientService clientService, NoticeService noticeService) {
this.wishlistService = wishlistService;
this.clientService = clientService;
this.noticeService = noticeService;
this.jwtUtil = jwtUtil;
}
@PostMapping("/toggle/{noticeId}")
@@ -59,15 +58,4 @@ public class WishlistController {
Long clientId = getClientIdFromRequest(request);
return wishlistService.getNoticesInWishlist(clientId);
}
private Long getClientIdFromRequest(HttpServletRequest request) {
String authorizationHeader = request.getHeader("Authorization");
if (authorizationHeader != null && authorizationHeader.startsWith("Bearer ")) {
Long clientId = jwtUtil.extractUserId(authorizationHeader.substring(7));
log.info("Client Id: {}", clientId);
return clientId;
} else {
return null;
}
}
}

View File

@@ -56,8 +56,7 @@ public class OrderService {
public Long addOrder(OrderDTO orderDTO) {
Order order = fromDTO(orderDTO);
return orderRepository.save(order).getId();
return orderRepository.save(fromDTO(orderDTO)).getId();
}
public Long changeOrderStatus(Long id, Enums.OrderStatus status) {

View File

@@ -0,0 +1,22 @@
package _11.asktpk.artisanconnectbackend.utils;
import _11.asktpk.artisanconnectbackend.security.JwtUtil;
import jakarta.servlet.http.HttpServletRequest;
public class Tools {
private static JwtUtil jwtUtil = null;
public Tools(JwtUtil jwtUtil) {
Tools.jwtUtil = jwtUtil;
}
static public Long getClientIdFromRequest(HttpServletRequest request) {
String authorizationHeader = request.getHeader("Authorization");
if (authorizationHeader != null && authorizationHeader.startsWith("Bearer ")) {
return jwtUtil.extractUserId(authorizationHeader.substring(7));
} else {
return null;
}
}
}