diff --git a/pom.xml b/pom.xml
index 16f7a9a..1f7ab15 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,10 @@
org.springframework.boot
spring-boot-starter-web
-
+
+ org.springframework.boot
+ spring-boot-starter-security
+
com.mysql
mysql-connector-j
diff --git a/src/main/java/me/jweissen/aeticket/controller/CartController.java b/src/main/java/me/jweissen/aeticket/controller/CartController.java
index fb9930b..6c339dc 100644
--- a/src/main/java/me/jweissen/aeticket/controller/CartController.java
+++ b/src/main/java/me/jweissen/aeticket/controller/CartController.java
@@ -1,12 +1,16 @@
package me.jweissen.aeticket.controller;
+import me.jweissen.aeticket.dto.response.CartEntryResponseDto;
import me.jweissen.aeticket.service.CartService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
+
@RestController
@RequestMapping("/cart")
public class CartController {
@@ -16,8 +20,15 @@ public class CartController {
this.cartService = cartService;
}
+ /*@GetMapping("/list")
+ public ResponseEntity> getCartEntries() {
+ return cartService.get
+ }*/
+
@PostMapping("/add")
public ResponseEntity addEntry() {
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
+
+
}
diff --git a/src/main/java/me/jweissen/aeticket/dto/response/CartEntryResponseDto.java b/src/main/java/me/jweissen/aeticket/dto/response/CartEntryResponseDto.java
index 5b3ac3c..37c923a 100644
--- a/src/main/java/me/jweissen/aeticket/dto/response/CartEntryResponseDto.java
+++ b/src/main/java/me/jweissen/aeticket/dto/response/CartEntryResponseDto.java
@@ -1,4 +1,4 @@
package me.jweissen.aeticket.dto.response;
-public record CartEntryResponseDto(Integer id, String name, Double price, Integer amount) {
+public record CartEntryResponseDto(Long id, String name, Double price, Integer amount) {
}
diff --git a/src/main/java/me/jweissen/aeticket/model/Role.java b/src/main/java/me/jweissen/aeticket/model/Role.java
new file mode 100644
index 0000000..31c0609
--- /dev/null
+++ b/src/main/java/me/jweissen/aeticket/model/Role.java
@@ -0,0 +1,6 @@
+package me.jweissen.aeticket.model;
+
+public enum Role {
+ ADMIN,
+ USER,
+}
diff --git a/src/main/java/me/jweissen/aeticket/model/User.java b/src/main/java/me/jweissen/aeticket/model/User.java
index bc7bdfb..95b563e 100644
--- a/src/main/java/me/jweissen/aeticket/model/User.java
+++ b/src/main/java/me/jweissen/aeticket/model/User.java
@@ -4,14 +4,18 @@ import jakarta.persistence.*;
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.core.userdetails.UserDetails;
+import java.util.Collection;
import java.util.List;
@Entity
@Table
@Getter
@Setter
-public class User {
+public class User implements UserDetails {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@@ -39,4 +43,38 @@ public class User {
@OneToMany(mappedBy = "user")
@JoinColumn(nullable = false)
private List carts;
+
+ @Enumerated(EnumType.STRING)
+ private Role role;
+
+ @Override
+ public Collection extends GrantedAuthority> getAuthorities() {
+ return List.of(new SimpleGrantedAuthority(role.name()));
+ }
+
+ @Override
+ public String getUsername() {
+ return email;
+ }
+
+ @Override
+ public boolean isAccountNonExpired() {
+ return true;
+ }
+
+ @Override
+ public boolean isAccountNonLocked() {
+ return true;
+ }
+
+ @Override
+ public boolean isCredentialsNonExpired() {
+ return true;
+ }
+
+ @Override
+ public boolean isEnabled() {
+ return true;
+ }
+}
}
diff --git a/src/main/java/me/jweissen/aeticket/service/CartEntryService.java b/src/main/java/me/jweissen/aeticket/service/CartEntryService.java
index bedd27c..ef218b9 100644
--- a/src/main/java/me/jweissen/aeticket/service/CartEntryService.java
+++ b/src/main/java/me/jweissen/aeticket/service/CartEntryService.java
@@ -14,7 +14,7 @@ public class CartEntryService {
return new CartEntryResponseDto(
category.getId(),
category.getName(),
- category.getPrice(),
+ CategoryService.centsToEuros(category.getPrice()),
cartEntry.getAmount()
);
}
diff --git a/src/main/java/me/jweissen/aeticket/service/CartService.java b/src/main/java/me/jweissen/aeticket/service/CartService.java
index 792f5d9..eb18f7a 100644
--- a/src/main/java/me/jweissen/aeticket/service/CartService.java
+++ b/src/main/java/me/jweissen/aeticket/service/CartService.java
@@ -1,5 +1,6 @@
package me.jweissen.aeticket.service;
+import me.jweissen.aeticket.dto.response.CartEntryResponseDto;
import me.jweissen.aeticket.dto.response.CartEventResponseDto;
import me.jweissen.aeticket.model.Cart;
import me.jweissen.aeticket.model.Event;
@@ -33,4 +34,7 @@ public class CartService {
CartEntryService.toDtos(cartEntryRepository.getByCartAndEvent(cart.getId(), event.getId()))
)).toList();
}
+
+ //public List getCartByAuthToken() {
+
}
diff --git a/src/main/java/me/jweissen/aeticket/service/CategoryService.java b/src/main/java/me/jweissen/aeticket/service/CategoryService.java
index 7b44853..599065c 100644
--- a/src/main/java/me/jweissen/aeticket/service/CategoryService.java
+++ b/src/main/java/me/jweissen/aeticket/service/CategoryService.java
@@ -10,14 +10,18 @@ import java.util.List;
public class CategoryService {
public static CategoryResponseDto toDto(Category category) {
return new CategoryResponseDto(
- category.getId(),
- category.getName(),
- category.getPrice() / 100.0,
- category.getStock()
+ category.getId(),
+ category.getName(),
+ centsToEuros(category.getPrice()),
+ category.getStock()
);
}
public static List toDtos(List categories) {
return categories.stream().map(CategoryService::toDto).toList();
}
+
+ public static Double centsToEuros(int cents) {
+ return cents / 100.0;
+ }
}