Reformat Backend
This commit is contained in:
@@ -12,9 +12,9 @@ public class WebConfig implements WebMvcConfigurer {
|
|||||||
@Override
|
@Override
|
||||||
public void addCorsMappings(CorsRegistry registry) {
|
public void addCorsMappings(CorsRegistry registry) {
|
||||||
registry.addMapping("/**")
|
registry.addMapping("/**")
|
||||||
.allowedOrigins("http://localhost:5173") // Erlaube Anfragen von der Frontend-Domain
|
.allowedOrigins("http://localhost:5173") // Erlaube Anfragen von der Frontend-Domain
|
||||||
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // Erlaube spezifische HTTP-Methoden
|
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // Erlaube spezifische HTTP-Methoden
|
||||||
.allowedHeaders("*") // Erlaube alle Header
|
.allowedHeaders("*") // Erlaube alle Header
|
||||||
.allowCredentials(true); // Erlaube Cookies
|
.allowCredentials(true); // Erlaube Cookies
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,11 +45,11 @@ public class AccountController {
|
|||||||
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
if(accountService.existsWithEmail(account.getEmail())) {
|
if (accountService.existsWithEmail(account.getEmail())) {
|
||||||
log.warn("[{}] Account cant be created, Email is already in use", request.getRequestURI());
|
log.warn("[{}] Account cant be created, Email is already in use", request.getRequestURI());
|
||||||
return ResponseEntity.unprocessableEntity().build();
|
return ResponseEntity.unprocessableEntity().build();
|
||||||
}
|
}
|
||||||
if(accountService.saveNew(account).getId() == null) {
|
if (accountService.saveNew(account).getId() == null) {
|
||||||
return ResponseEntity.internalServerError().build();
|
return ResponseEntity.internalServerError().build();
|
||||||
}
|
}
|
||||||
return ResponseEntity.ok().build();
|
return ResponseEntity.ok().build();
|
||||||
@@ -63,10 +63,10 @@ public class AccountController {
|
|||||||
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
if(accountService.existsWithEmail(account.getEmail())) {
|
if (accountService.existsWithEmail(account.getEmail())) {
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
if(!accountService.deleteIfExists(account)) {
|
if (!accountService.deleteIfExists(account)) {
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
return ResponseEntity.ok().build();
|
return ResponseEntity.ok().build();
|
||||||
@@ -74,15 +74,15 @@ public class AccountController {
|
|||||||
|
|
||||||
@RequestMapping(path = ACCOUNT_BASE, method = RequestMethod.GET, produces = "application/json")
|
@RequestMapping(path = ACCOUNT_BASE, method = RequestMethod.GET, produces = "application/json")
|
||||||
public ResponseEntity<Account> getAccount(HttpServletRequest request,
|
public ResponseEntity<Account> getAccount(HttpServletRequest request,
|
||||||
@RequestParam(PARAM_EMAIL) String email,
|
@RequestParam(PARAM_EMAIL) String email,
|
||||||
@RequestParam(PARAM_PASSWORD) String password) {
|
@RequestParam(PARAM_PASSWORD) String password) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
if(!accountService.existsWithEmail(email)) {
|
if (!accountService.existsWithEmail(email)) {
|
||||||
log.warn("[{}] Account doesn't exist", request.getRequestURI());
|
log.warn("[{}] Account doesn't exist", request.getRequestURI());
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
Account acc = accountService.isValidLogin(email, password);
|
Account acc = accountService.isValidLogin(email, password);
|
||||||
if(acc == null) {
|
if (acc == null) {
|
||||||
log.warn("[{}] Invalid Credentials", request.getRequestURI());
|
log.warn("[{}] Invalid Credentials", request.getRequestURI());
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
@@ -95,22 +95,22 @@ public class AccountController {
|
|||||||
@RequestParam(PARAM_PASSWORD) String password,
|
@RequestParam(PARAM_PASSWORD) String password,
|
||||||
@RequestBody Account account) {
|
@RequestBody Account account) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
if(validatorService.isInvalid(account)) {
|
if (validatorService.isInvalid(account)) {
|
||||||
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
if(!accountService.existsWithEmail(email)) {
|
if (!accountService.existsWithEmail(email)) {
|
||||||
log.warn("[{}] Account doesn't exist", request.getRequestURI());
|
log.warn("[{}] Account doesn't exist", request.getRequestURI());
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
Account loggedIn = accountService.isValidLogin(email, password);
|
Account loggedIn = accountService.isValidLogin(email, password);
|
||||||
if(loggedIn == null) {
|
if (loggedIn == null) {
|
||||||
log.warn("[{}] Invalid Credentials", request.getRequestURI());
|
log.warn("[{}] Invalid Credentials", request.getRequestURI());
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
account.setId(loggedIn.getId());
|
account.setId(loggedIn.getId());
|
||||||
Account saved = accountService.save(account);
|
Account saved = accountService.save(account);
|
||||||
if(saved == null) {
|
if (saved == null) {
|
||||||
return ResponseEntity.internalServerError().build();
|
return ResponseEntity.internalServerError().build();
|
||||||
}
|
}
|
||||||
return ResponseEntity.ok(saved);
|
return ResponseEntity.ok(saved);
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class CustomerController {
|
|||||||
|
|
||||||
@RequestMapping(path = CUSTOMER_BASE, method = RequestMethod.GET, produces = "application/json")
|
@RequestMapping(path = CUSTOMER_BASE, method = RequestMethod.GET, produces = "application/json")
|
||||||
public ResponseEntity<Customer> getCustomerById(HttpServletRequest request,
|
public ResponseEntity<Customer> getCustomerById(HttpServletRequest request,
|
||||||
@RequestParam(PARAM_ID) Long customerId) {
|
@RequestParam(PARAM_ID) Long customerId) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
if (customerId == null) {
|
if (customerId == null) {
|
||||||
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
||||||
@@ -43,14 +43,14 @@ public class CustomerController {
|
|||||||
|
|
||||||
@RequestMapping(path = CUSTOMER_BASE, method = RequestMethod.POST, produces = "application/json")
|
@RequestMapping(path = CUSTOMER_BASE, method = RequestMethod.POST, produces = "application/json")
|
||||||
public ResponseEntity<Customer> createCustomer(HttpServletRequest request,
|
public ResponseEntity<Customer> createCustomer(HttpServletRequest request,
|
||||||
@RequestBody Customer customer) {
|
@RequestBody Customer customer) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
if (validatorService.isInvalid(customer)) {
|
if (validatorService.isInvalid(customer)) {
|
||||||
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
Customer saved = customerService.save(customer);
|
Customer saved = customerService.save(customer);
|
||||||
if(saved.getId() == null) {
|
if (saved.getId() == null) {
|
||||||
return ResponseEntity.internalServerError().build();
|
return ResponseEntity.internalServerError().build();
|
||||||
}
|
}
|
||||||
return ResponseEntity.ok(saved);
|
return ResponseEntity.ok(saved);
|
||||||
@@ -58,7 +58,7 @@ public class CustomerController {
|
|||||||
|
|
||||||
@RequestMapping(path = CUSTOMER_BASE, method = RequestMethod.DELETE, produces = "application/json")
|
@RequestMapping(path = CUSTOMER_BASE, method = RequestMethod.DELETE, produces = "application/json")
|
||||||
public ResponseEntity<Void> deleteCustomer(HttpServletRequest request,
|
public ResponseEntity<Void> deleteCustomer(HttpServletRequest request,
|
||||||
@RequestBody Customer customer) {
|
@RequestBody Customer customer) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
if (validatorService.isInvalid(customer)) {
|
if (validatorService.isInvalid(customer)) {
|
||||||
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
||||||
@@ -77,7 +77,7 @@ public class CustomerController {
|
|||||||
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
if(customerService.findById(id) == null) {
|
if (customerService.findById(id) == null) {
|
||||||
log.warn("[{}] AccountID doesn't exist", request.getRequestURI());
|
log.warn("[{}] AccountID doesn't exist", request.getRequestURI());
|
||||||
return ResponseEntity.badRequest().build();
|
return ResponseEntity.badRequest().build();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import static de.htwsaar.webshop.config.ControllerPathConfig.*;
|
import static de.htwsaar.webshop.config.ControllerPathConfig.IMAGE_ALL;
|
||||||
|
import static de.htwsaar.webshop.config.ControllerPathConfig.IMAGE_BASE;
|
||||||
import static de.htwsaar.webshop.config.ParameterConfig.*;
|
import static de.htwsaar.webshop.config.ParameterConfig.*;
|
||||||
import static de.htwsaar.webshop.util.LoggerUtil.logRequest;
|
import static de.htwsaar.webshop.util.LoggerUtil.logRequest;
|
||||||
|
|
||||||
@@ -33,10 +34,10 @@ public class ImageController {
|
|||||||
|
|
||||||
@RequestMapping(path = IMAGE_ALL, method = RequestMethod.GET, produces = "application/json")
|
@RequestMapping(path = IMAGE_ALL, method = RequestMethod.GET, produces = "application/json")
|
||||||
public ResponseEntity<List<String>> getAll(HttpServletRequest request,
|
public ResponseEntity<List<String>> getAll(HttpServletRequest request,
|
||||||
@RequestParam(value = PARAM_UUID) UUID uuid) {
|
@RequestParam(value = PARAM_UUID) UUID uuid) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
List<Image> images = imageService.getImagesByUUID(uuid);
|
List<Image> images = imageService.getImagesByUUID(uuid);
|
||||||
if(images.isEmpty()) {
|
if (images.isEmpty()) {
|
||||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||||
}
|
}
|
||||||
List<String> images_base = new ArrayList<>();
|
List<String> images_base = new ArrayList<>();
|
||||||
@@ -47,10 +48,10 @@ public class ImageController {
|
|||||||
|
|
||||||
@RequestMapping(path = IMAGE_BASE, method = RequestMethod.GET, produces = "text/plain")
|
@RequestMapping(path = IMAGE_BASE, method = RequestMethod.GET, produces = "text/plain")
|
||||||
public ResponseEntity<String> getFirst(HttpServletRequest request,
|
public ResponseEntity<String> getFirst(HttpServletRequest request,
|
||||||
@RequestParam(value = PARAM_UUID) UUID uuid) {
|
@RequestParam(value = PARAM_UUID) UUID uuid) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
Image image = imageService.getImageByUUID(uuid);
|
Image image = imageService.getImageByUUID(uuid);
|
||||||
if(image == null) {
|
if (image == null) {
|
||||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||||
}
|
}
|
||||||
return ResponseEntity.ok(image.getBase64());
|
return ResponseEntity.ok(image.getBase64());
|
||||||
@@ -58,8 +59,8 @@ public class ImageController {
|
|||||||
|
|
||||||
@RequestMapping(path = IMAGE_BASE, method = RequestMethod.POST, produces = "application/json")
|
@RequestMapping(path = IMAGE_BASE, method = RequestMethod.POST, produces = "application/json")
|
||||||
public ResponseEntity<Boolean> add(HttpServletRequest request,
|
public ResponseEntity<Boolean> add(HttpServletRequest request,
|
||||||
@RequestParam(value = PARAM_UUID) UUID articleUuid,
|
@RequestParam(value = PARAM_UUID) UUID articleUuid,
|
||||||
@RequestParam(value = PARAM_IMAGE) MultipartFile file) {
|
@RequestParam(value = PARAM_IMAGE) MultipartFile file) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
|
|
||||||
if (articleUuid == null || articleService.findByUUID(articleUuid) == null
|
if (articleUuid == null || articleService.findByUUID(articleUuid) == null
|
||||||
@@ -74,8 +75,8 @@ public class ImageController {
|
|||||||
|
|
||||||
@RequestMapping(path = IMAGE_ALL, method = RequestMethod.POST, produces = "application/json")
|
@RequestMapping(path = IMAGE_ALL, method = RequestMethod.POST, produces = "application/json")
|
||||||
public ResponseEntity<Integer> addAll(HttpServletRequest request,
|
public ResponseEntity<Integer> addAll(HttpServletRequest request,
|
||||||
@RequestParam(value = PARAM_UUID) UUID articleUuid,
|
@RequestParam(value = PARAM_UUID) UUID articleUuid,
|
||||||
@RequestParam(value = PARAM_IMAGE) List<MultipartFile> files) {
|
@RequestParam(value = PARAM_IMAGE) List<MultipartFile> files) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
|
|
||||||
if (articleUuid == null || articleService.findByUUID(articleUuid) == null
|
if (articleUuid == null || articleService.findByUUID(articleUuid) == null
|
||||||
|
|||||||
@@ -14,7 +14,8 @@ import java.util.List;
|
|||||||
|
|
||||||
import static de.htwsaar.webshop.config.ControllerPathConfig.ORDER_BASE;
|
import static de.htwsaar.webshop.config.ControllerPathConfig.ORDER_BASE;
|
||||||
import static de.htwsaar.webshop.config.ControllerPathConfig.ORDER_GET_ALL;
|
import static de.htwsaar.webshop.config.ControllerPathConfig.ORDER_GET_ALL;
|
||||||
import static de.htwsaar.webshop.config.ParameterConfig.*;
|
import static de.htwsaar.webshop.config.ParameterConfig.PARAM_CUSTOMER_ID;
|
||||||
|
import static de.htwsaar.webshop.config.ParameterConfig.PARAM_ID;
|
||||||
import static de.htwsaar.webshop.util.LoggerUtil.logRequest;
|
import static de.htwsaar.webshop.util.LoggerUtil.logRequest;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@@ -32,10 +33,10 @@ public class OrderController {
|
|||||||
|
|
||||||
@RequestMapping(path = ORDER_GET_ALL, method = RequestMethod.GET, produces = "application/json")
|
@RequestMapping(path = ORDER_GET_ALL, method = RequestMethod.GET, produces = "application/json")
|
||||||
public ResponseEntity<List<Order>> getAll(HttpServletRequest request,
|
public ResponseEntity<List<Order>> getAll(HttpServletRequest request,
|
||||||
@RequestParam(value = PARAM_CUSTOMER_ID) Long customerId) {
|
@RequestParam(value = PARAM_CUSTOMER_ID) Long customerId) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
List<Order> orders = orderService.getAllOrders(customerId);
|
List<Order> orders = orderService.getAllOrders(customerId);
|
||||||
if(orders.isEmpty()) {
|
if (orders.isEmpty()) {
|
||||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||||
}
|
}
|
||||||
return ResponseEntity.ok(orders);
|
return ResponseEntity.ok(orders);
|
||||||
@@ -43,10 +44,10 @@ public class OrderController {
|
|||||||
|
|
||||||
@RequestMapping(path = ORDER_BASE, method = RequestMethod.GET, produces = "application/json")
|
@RequestMapping(path = ORDER_BASE, method = RequestMethod.GET, produces = "application/json")
|
||||||
public ResponseEntity<Order> get(HttpServletRequest request,
|
public ResponseEntity<Order> get(HttpServletRequest request,
|
||||||
@RequestParam(value = PARAM_ID) Long orderId) {
|
@RequestParam(value = PARAM_ID) Long orderId) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
Order image = orderService.getOrderById(orderId);
|
Order image = orderService.getOrderById(orderId);
|
||||||
if(image == null) {
|
if (image == null) {
|
||||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||||
}
|
}
|
||||||
return ResponseEntity.ok(image);
|
return ResponseEntity.ok(image);
|
||||||
|
|||||||
@@ -13,7 +13,8 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import static de.htwsaar.webshop.config.ControllerPathConfig.*;
|
import static de.htwsaar.webshop.config.ControllerPathConfig.REVIEW_BASE;
|
||||||
|
import static de.htwsaar.webshop.config.ControllerPathConfig.REVIEW_GET_ALL;
|
||||||
import static de.htwsaar.webshop.config.ParameterConfig.*;
|
import static de.htwsaar.webshop.config.ParameterConfig.*;
|
||||||
import static de.htwsaar.webshop.util.LoggerUtil.logRequest;
|
import static de.htwsaar.webshop.util.LoggerUtil.logRequest;
|
||||||
|
|
||||||
@@ -35,7 +36,7 @@ public class ReviewController {
|
|||||||
@RequestParam(value = PARAM_UUID) UUID uuid) {
|
@RequestParam(value = PARAM_UUID) UUID uuid) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
List<ReviewModel> review = reviewService.getAllByUUID(uuid).stream().map(reviewService::toModel).toList();
|
List<ReviewModel> review = reviewService.getAllByUUID(uuid).stream().map(reviewService::toModel).toList();
|
||||||
if(review.isEmpty()) {
|
if (review.isEmpty()) {
|
||||||
return ResponseEntity.noContent().build();
|
return ResponseEntity.noContent().build();
|
||||||
}
|
}
|
||||||
return ResponseEntity.ok(review);
|
return ResponseEntity.ok(review);
|
||||||
@@ -46,7 +47,7 @@ public class ReviewController {
|
|||||||
@RequestParam(value = PARAM_ID) Long reviewId) {
|
@RequestParam(value = PARAM_ID) Long reviewId) {
|
||||||
logRequest(request);
|
logRequest(request);
|
||||||
Review review = reviewService.getReviewById(reviewId);
|
Review review = reviewService.getReviewById(reviewId);
|
||||||
if(review == null) {
|
if (review == null) {
|
||||||
return ResponseEntity.noContent().build();
|
return ResponseEntity.noContent().build();
|
||||||
}
|
}
|
||||||
return ResponseEntity.ok(review);
|
return ResponseEntity.ok(review);
|
||||||
@@ -60,7 +61,7 @@ public class ReviewController {
|
|||||||
logRequest(request);
|
logRequest(request);
|
||||||
|
|
||||||
if (uuid == null || articleService.findByUUID(uuid) == null
|
if (uuid == null || articleService.findByUUID(uuid) == null
|
||||||
|| rating < 0 || rating > 10) {
|
|| rating < 0 || rating > 10) {
|
||||||
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
log.warn("[{}] failed Validation, sending bad request", request.getRequestURI());
|
||||||
return ResponseEntity.badRequest().body(false);
|
return ResponseEntity.badRequest().body(false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,12 +47,12 @@ public class SessionController {
|
|||||||
|
|
||||||
@RequestMapping(value = SESSION_BASE, method = RequestMethod.DELETE, produces = "application/json")
|
@RequestMapping(value = SESSION_BASE, method = RequestMethod.DELETE, produces = "application/json")
|
||||||
public ResponseEntity<Boolean> delete(@RequestParam String email, @RequestParam UUID token) {
|
public ResponseEntity<Boolean> delete(@RequestParam String email, @RequestParam UUID token) {
|
||||||
if(email == null || token == null) {
|
if (email == null || token == null) {
|
||||||
log.warn("Got bad request, email and token");
|
log.warn("Got bad request, email and token");
|
||||||
return ResponseEntity.badRequest().body(false);
|
return ResponseEntity.badRequest().body(false);
|
||||||
}
|
}
|
||||||
Session session = sessionService.getByToken(token);
|
Session session = sessionService.getByToken(token);
|
||||||
if(!sessionService.isValid(session, email)) {
|
if (!sessionService.isValid(session, email)) {
|
||||||
log.warn("Got bad request, session is invalid");
|
log.warn("Got bad request, session is invalid");
|
||||||
return ResponseEntity.badRequest().body(false);
|
return ResponseEntity.badRequest().body(false);
|
||||||
}
|
}
|
||||||
@@ -62,16 +62,16 @@ public class SessionController {
|
|||||||
|
|
||||||
@RequestMapping(value = SESSION_BASE, method = RequestMethod.GET, produces = "application/json")
|
@RequestMapping(value = SESSION_BASE, method = RequestMethod.GET, produces = "application/json")
|
||||||
public ResponseEntity<Boolean> isValid(@RequestParam String email, @RequestParam UUID token) {
|
public ResponseEntity<Boolean> isValid(@RequestParam String email, @RequestParam UUID token) {
|
||||||
if(email == null || token == null) {
|
if (email == null || token == null) {
|
||||||
log.warn("Got bad request, email and token");
|
log.warn("Got bad request, email and token");
|
||||||
return ResponseEntity.badRequest().body(false);
|
return ResponseEntity.badRequest().body(false);
|
||||||
}
|
}
|
||||||
Session session = sessionService.getByToken(token);
|
Session session = sessionService.getByToken(token);
|
||||||
if(session == null) {
|
if (session == null) {
|
||||||
log.warn("Got bad request, session is invalid");
|
log.warn("Got bad request, session is invalid");
|
||||||
return ResponseEntity.notFound().build();
|
return ResponseEntity.notFound().build();
|
||||||
}
|
}
|
||||||
if(sessionService.isValid(session, email)) {
|
if (sessionService.isValid(session, email)) {
|
||||||
return ResponseEntity.ok(true);
|
return ResponseEntity.ok(true);
|
||||||
}
|
}
|
||||||
return ResponseEntity.notFound().build();
|
return ResponseEntity.notFound().build();
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
package de.htwsaar.webshop.model;
|
package de.htwsaar.webshop.model;
|
||||||
|
|
||||||
import jakarta.validation.constraints.Max;
|
|
||||||
import jakarta.validation.constraints.Min;
|
import jakarta.validation.constraints.Min;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import jakarta.validation.constraints.Null;
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
@@ -23,5 +21,4 @@ public class SessionModel {
|
|||||||
|
|
||||||
@Min(VALID_MIN_MILLIS_TIMESTAMP)
|
@Min(VALID_MIN_MILLIS_TIMESTAMP)
|
||||||
long timeout;
|
long timeout;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package de.htwsaar.webshop.repository;
|
|||||||
import de.htwsaar.webshop.repository.entities.Article;
|
import de.htwsaar.webshop.repository.entities.Article;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.data.jpa.repository.Query;
|
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
package de.htwsaar.webshop.repository;
|
package de.htwsaar.webshop.repository;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.UUID;
|
|
||||||
import java.util.stream.Stream;
|
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
import org.springframework.stereotype.Repository;
|
|
||||||
|
|
||||||
import de.htwsaar.webshop.repository.entities.Review;
|
import de.htwsaar.webshop.repository.entities.Review;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import jakarta.validation.constraints.Positive;
|
import jakarta.validation.constraints.Positive;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface ReviewRepository extends JpaRepository<Review, Long> {
|
public interface ReviewRepository extends JpaRepository<Review, Long> {
|
||||||
|
|||||||
@@ -3,11 +3,7 @@ package de.htwsaar.webshop.repository.entities;
|
|||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import jakarta.validation.constraints.Max;
|
import jakarta.validation.constraints.Max;
|
||||||
import jakarta.validation.constraints.Min;
|
import jakarta.validation.constraints.Min;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.*;
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.Setter;
|
|
||||||
import lombok.ToString;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@@ -4,8 +4,12 @@ import de.htwsaar.webshop.repository.entities.Account;
|
|||||||
|
|
||||||
public interface AccountService {
|
public interface AccountService {
|
||||||
Account saveNew(Account account);
|
Account saveNew(Account account);
|
||||||
|
|
||||||
Account save(Account account);
|
Account save(Account account);
|
||||||
|
|
||||||
boolean deleteIfExists(Account account);
|
boolean deleteIfExists(Account account);
|
||||||
|
|
||||||
Account isValidLogin(String email, String password);
|
Account isValidLogin(String email, String password);
|
||||||
|
|
||||||
boolean existsWithEmail(String email);
|
boolean existsWithEmail(String email);
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,8 @@ import de.htwsaar.webshop.repository.entities.Customer;
|
|||||||
|
|
||||||
public interface CustomerService {
|
public interface CustomerService {
|
||||||
Customer save(Customer customer);
|
Customer save(Customer customer);
|
||||||
|
|
||||||
void delete(Customer customer);
|
void delete(Customer customer);
|
||||||
|
|
||||||
Customer findById(Long id);
|
Customer findById(Long id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,10 @@ import java.util.List;
|
|||||||
|
|
||||||
public interface OrderService {
|
public interface OrderService {
|
||||||
Order save(Order order);
|
Order save(Order order);
|
||||||
|
|
||||||
void delete(Long orderId);
|
void delete(Long orderId);
|
||||||
|
|
||||||
Order getOrderById(Long orderId);
|
Order getOrderById(Long orderId);
|
||||||
|
|
||||||
List<Order> getAllOrders(Long customerId);
|
List<Order> getAllOrders(Long customerId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,5 +2,6 @@ package de.htwsaar.webshop.service;
|
|||||||
|
|
||||||
public interface PasswordService {
|
public interface PasswordService {
|
||||||
String hashPassword(String password);
|
String hashPassword(String password);
|
||||||
|
|
||||||
boolean verifyPassword(String password, String hashedPassword);
|
boolean verifyPassword(String password, String hashedPassword);
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,21 @@
|
|||||||
package de.htwsaar.webshop.service;
|
package de.htwsaar.webshop.service;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import de.htwsaar.webshop.model.ReviewModel;
|
import de.htwsaar.webshop.model.ReviewModel;
|
||||||
import de.htwsaar.webshop.repository.entities.Review;
|
import de.htwsaar.webshop.repository.entities.Review;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
public interface ReviewService {
|
public interface ReviewService {
|
||||||
Review save(Review review);
|
Review save(Review review);
|
||||||
|
|
||||||
Review save(UUID articleUuid, int rating, String content);
|
Review save(UUID articleUuid, int rating, String content);
|
||||||
|
|
||||||
void delete(Long reviewId);
|
void delete(Long reviewId);
|
||||||
|
|
||||||
Review getReviewById(Long id);
|
Review getReviewById(Long id);
|
||||||
|
|
||||||
List<Review> getAllByUUID(UUID uuid);
|
List<Review> getAllByUUID(UUID uuid);
|
||||||
|
|
||||||
ReviewModel toModel(Review review);
|
ReviewModel toModel(Review review);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package de.htwsaar.webshop.service;
|
package de.htwsaar.webshop.service;
|
||||||
|
|
||||||
import de.htwsaar.webshop.model.SessionModel;
|
|
||||||
import de.htwsaar.webshop.repository.entities.Account;
|
import de.htwsaar.webshop.repository.entities.Account;
|
||||||
import de.htwsaar.webshop.repository.entities.Session;
|
import de.htwsaar.webshop.repository.entities.Session;
|
||||||
|
|
||||||
@@ -8,9 +7,14 @@ import java.util.UUID;
|
|||||||
|
|
||||||
public interface SessionService {
|
public interface SessionService {
|
||||||
Session create(Account account);
|
Session create(Account account);
|
||||||
|
|
||||||
void delete(Session session);
|
void delete(Session session);
|
||||||
|
|
||||||
Session findByAccount(Account account);
|
Session findByAccount(Account account);
|
||||||
|
|
||||||
Session getByToken(UUID token);
|
Session getByToken(UUID token);
|
||||||
|
|
||||||
boolean isValid(Session session, String email);
|
boolean isValid(Session session, String email);
|
||||||
|
|
||||||
boolean isValid(UUID token, String email);
|
boolean isValid(UUID token, String email);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public class AccountServiceImpl implements AccountService {
|
|||||||
@Override
|
@Override
|
||||||
public boolean deleteIfExists(Account account) {
|
public boolean deleteIfExists(Account account) {
|
||||||
Account tbd = accountRepository.getAccountByEmail(account.getEmail());
|
Account tbd = accountRepository.getAccountByEmail(account.getEmail());
|
||||||
if(tbd == null) {
|
if (tbd == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
accountRepository.delete(tbd);
|
accountRepository.delete(tbd);
|
||||||
@@ -42,7 +42,7 @@ public class AccountServiceImpl implements AccountService {
|
|||||||
@Override
|
@Override
|
||||||
public Account isValidLogin(String email, String password) {
|
public Account isValidLogin(String email, String password) {
|
||||||
Account acc = accountRepository.getAccountByEmail(email);
|
Account acc = accountRepository.getAccountByEmail(email);
|
||||||
if(acc == null) {
|
if (acc == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return passwordService.verifyPassword(password, acc.getPassword()) ? acc : null;
|
return passwordService.verifyPassword(password, acc.getPassword()) ? acc : null;
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ public class ImageServiceImpl implements ImageService {
|
|||||||
@Transactional
|
@Transactional
|
||||||
public Image save(UUID uuid, String uri) {
|
public Image save(UUID uuid, String uri) {
|
||||||
Article article = articleService.findByUUID(uuid);
|
Article article = articleService.findByUUID(uuid);
|
||||||
if(article == null) {
|
if (article == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Image image = new Image(null, article, uri);
|
Image image = new Image(null, article, uri);
|
||||||
@@ -63,12 +63,12 @@ public class ImageServiceImpl implements ImageService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Image save(UUID uuid, MultipartFile file) {
|
public Image save(UUID uuid, MultipartFile file) {
|
||||||
if(uuid == null) {
|
if (uuid == null) {
|
||||||
log.warn("Got no UUID, aborting");
|
log.warn("Got no UUID, aborting");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Article article = articleService.findByUUID(uuid);
|
Article article = articleService.findByUUID(uuid);
|
||||||
if(article == null) {
|
if (article == null) {
|
||||||
log.warn("Could not find article with id {}", uuid);
|
log.warn("Could not find article with id {}", uuid);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -79,7 +79,7 @@ public class ImageServiceImpl implements ImageService {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
String based64 = Base64.getEncoder().encodeToString(file.getBytes());
|
String based64 = Base64.getEncoder().encodeToString(file.getBytes());
|
||||||
if(based64 == null || based64.isEmpty()) {
|
if (based64 == null || based64.isEmpty()) {
|
||||||
log.warn("Could not save image with id {} and file size {}", uuid, file.getSize());
|
log.warn("Could not save image with id {} and file size {}", uuid, file.getSize());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public class ReviewServiceImpl implements ReviewService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Review save(UUID articleUuid, int rating, String content) {
|
public Review save(UUID articleUuid, int rating, String content) {
|
||||||
if(articleUuid == null) {
|
if (articleUuid == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Review review = new Review(null, content, articleService.findByUUID(articleUuid), rating, System.currentTimeMillis());
|
Review review = new Review(null, content, articleService.findByUUID(articleUuid), rating, System.currentTimeMillis());
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package de.htwsaar.webshop.service.impl;
|
package de.htwsaar.webshop.service.impl;
|
||||||
|
|
||||||
import de.htwsaar.webshop.model.SessionModel;
|
|
||||||
import de.htwsaar.webshop.repository.AccountRepository;
|
import de.htwsaar.webshop.repository.AccountRepository;
|
||||||
import de.htwsaar.webshop.repository.SessionRepository;
|
import de.htwsaar.webshop.repository.SessionRepository;
|
||||||
import de.htwsaar.webshop.repository.entities.Account;
|
import de.htwsaar.webshop.repository.entities.Account;
|
||||||
@@ -51,14 +50,14 @@ public class SessionServiceImpl implements SessionService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isValid(Session session, String email) {
|
public boolean isValid(Session session, String email) {
|
||||||
if(session == null || email == null) {
|
if (session == null || email == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
Account accountEmail = accountRepository.getAccountByEmail(email);
|
Account accountEmail = accountRepository.getAccountByEmail(email);
|
||||||
if(!session.getAccount().equals(accountEmail)) {
|
if (!session.getAccount().equals(accountEmail)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if(session.getTimeout() >= System.currentTimeMillis()) {
|
if (session.getTimeout() >= System.currentTimeMillis()) {
|
||||||
log.info("Session with email {} is expired", email);
|
log.info("Session with email {} is expired", email);
|
||||||
delete(session);
|
delete(session);
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user