Fix mapper + DTO
This commit is contained in:
@@ -24,6 +24,7 @@ public class SecurityConfiguration {
|
|||||||
.csrf(csrf -> csrf.disable())
|
.csrf(csrf -> csrf.disable())
|
||||||
.authorizeHttpRequests(auth -> auth
|
.authorizeHttpRequests(auth -> auth
|
||||||
.requestMatchers("/api/v1/auth/**").permitAll()
|
.requestMatchers("/api/v1/auth/**").permitAll()
|
||||||
|
.requestMatchers("/encomes").hasRole("ADMIN")
|
||||||
.anyRequest().authenticated()
|
.anyRequest().authenticated()
|
||||||
)
|
)
|
||||||
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class AuthenticationController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/authenticate")
|
@PostMapping("/authenticate")
|
||||||
public ResponseEntity<AuthenticationResponse> register(@RequestBody AuthenticationRequest request) {
|
public ResponseEntity<AuthenticationResponse> authenticate(@RequestBody AuthenticationRequest request) {
|
||||||
return ResponseEntity.ok(service.authenticate(request));
|
return ResponseEntity.ok(service.authenticate(request));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,5 +6,11 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class UserCreationDTO {
|
public class UserCreationDTO {
|
||||||
private String uuid;
|
|
||||||
|
private String firstname;
|
||||||
|
private String lastname;
|
||||||
|
private String username;
|
||||||
|
private String email;
|
||||||
|
private String password;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,9 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class UserDTO {
|
public class UserDTO {
|
||||||
private String uuid;
|
|
||||||
private String name;
|
private String name;
|
||||||
private String surname;
|
private String surname;
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,19 +10,17 @@ import org.springframework.stereotype.Component;
|
|||||||
@Component
|
@Component
|
||||||
public class UserMapper {
|
public class UserMapper {
|
||||||
|
|
||||||
private final UserService userService;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
public UserMapper(UserService userService) {
|
|
||||||
this.userService = userService;
|
|
||||||
}
|
|
||||||
|
|
||||||
public UserDTO toDto(User user) {
|
public UserDTO toDto(User user) {
|
||||||
return new UserDTO(user.getUuid(), user.getName(), user.getSurname(), user.getUsername());
|
return new UserDTO(user.getFirstName(), user.getLastName(), user.getUsername());
|
||||||
}
|
}
|
||||||
|
|
||||||
public User toUser(UserCreationDTO userDTO) {
|
public User toUser(UserCreationDTO userDTO) {
|
||||||
return userService.getUserById(userDTO.getUuid());
|
User user = new User();
|
||||||
|
user.setFirstName(userDTO.getFirstname());
|
||||||
|
user.setLastName(userDTO.getLastname());
|
||||||
|
user.setUsername(userDTO.getUsername());
|
||||||
|
|
||||||
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.faf223.expensetrackerfaf.repository;
|
package com.faf223.expensetrackerfaf.repository;
|
||||||
|
|
||||||
import com.faf223.expensetrackerfaf.model.Expense;
|
import com.faf223.expensetrackerfaf.model.Expense;
|
||||||
|
import com.faf223.expensetrackerfaf.model.User;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@@ -8,5 +9,5 @@ import java.util.List;
|
|||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface ExpenseRepository extends JpaRepository<Expense, Long> {
|
public interface ExpenseRepository extends JpaRepository<Expense, Long> {
|
||||||
List<Expense> findByUserUuid(String userUuid);
|
List<Expense> findByUser(User user);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.faf223.expensetrackerfaf.repository;
|
package com.faf223.expensetrackerfaf.repository;
|
||||||
|
|
||||||
import com.faf223.expensetrackerfaf.model.Income;
|
import com.faf223.expensetrackerfaf.model.Income;
|
||||||
|
import com.faf223.expensetrackerfaf.model.User;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
@@ -8,5 +9,5 @@ import java.util.List;
|
|||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface IncomeRepository extends JpaRepository<Income, Long> {
|
public interface IncomeRepository extends JpaRepository<Income, Long> {
|
||||||
List<Income> findByUserUuid(String userUuid);
|
List<Income> findByUser(User user);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,5 +3,8 @@ package com.faf223.expensetrackerfaf.repository;
|
|||||||
import com.faf223.expensetrackerfaf.model.User;
|
import com.faf223.expensetrackerfaf.model.User;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface UserRepository extends JpaRepository<User, String> {
|
public interface UserRepository extends JpaRepository<User, String> {
|
||||||
|
Optional<User> getUserByUserUuid(String userUuid);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class AuthenticationService {
|
|||||||
.password(passwordEncoder.encode(request.getPassword()))
|
.password(passwordEncoder.encode(request.getPassword()))
|
||||||
.username(request.getUsername())
|
.username(request.getUsername())
|
||||||
.build();
|
.build();
|
||||||
System.out.println(user);
|
// System.out.println(user);
|
||||||
userRepository.save(user);
|
userRepository.save(user);
|
||||||
Credential credential = new Credential(user, request.getEmail(), passwordEncoder.encode(request.getPassword()));
|
Credential credential = new Credential(user, request.getEmail(), passwordEncoder.encode(request.getPassword()));
|
||||||
credentialRepository.save(credential);
|
credentialRepository.save(credential);
|
||||||
|
|||||||
@@ -1,25 +1,36 @@
|
|||||||
package com.faf223.expensetrackerfaf.service;
|
package com.faf223.expensetrackerfaf.service;
|
||||||
|
|
||||||
import com.faf223.expensetrackerfaf.model.Expense;
|
import com.faf223.expensetrackerfaf.model.Expense;
|
||||||
|
import com.faf223.expensetrackerfaf.model.User;
|
||||||
import com.faf223.expensetrackerfaf.repository.ExpenseRepository;
|
import com.faf223.expensetrackerfaf.repository.ExpenseRepository;
|
||||||
|
import com.faf223.expensetrackerfaf.repository.UserRepository;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class ExpenseService {
|
public class ExpenseService {
|
||||||
|
|
||||||
private final ExpenseRepository expenseRepository;
|
private final ExpenseRepository expenseRepository;
|
||||||
|
private final UserRepository userRepository;
|
||||||
|
|
||||||
public void createOrUpdateExpense(Expense expense) {
|
public void createOrUpdateExpense(Expense expense) {
|
||||||
expenseRepository.save(expense);
|
expenseRepository.save(expense);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Expense> getExpensesByUserId(String userUuid) {
|
public List<Expense> getExpensesByUserId(String userUuid) {
|
||||||
return expenseRepository.findByUserUuid(userUuid);
|
|
||||||
|
Optional<User> user = userRepository.getUserByUserUuid(userUuid);
|
||||||
|
if (user.isPresent()) {
|
||||||
|
return expenseRepository.findByUser(user.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Expense> getExpenses() {
|
public List<Expense> getExpenses() {
|
||||||
|
|||||||
@@ -1,18 +1,23 @@
|
|||||||
package com.faf223.expensetrackerfaf.service;
|
package com.faf223.expensetrackerfaf.service;
|
||||||
|
|
||||||
import com.faf223.expensetrackerfaf.model.Income;
|
import com.faf223.expensetrackerfaf.model.Income;
|
||||||
|
import com.faf223.expensetrackerfaf.model.User;
|
||||||
import com.faf223.expensetrackerfaf.repository.IncomeRepository;
|
import com.faf223.expensetrackerfaf.repository.IncomeRepository;
|
||||||
|
import com.faf223.expensetrackerfaf.repository.UserRepository;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class IncomeService {
|
public class IncomeService {
|
||||||
|
|
||||||
private final IncomeRepository incomeRepository;
|
private final IncomeRepository incomeRepository;
|
||||||
|
private final UserRepository userRepository;
|
||||||
|
|
||||||
public void createOrUpdateIncome(Income income) {
|
public void createOrUpdateIncome(Income income) {
|
||||||
incomeRepository.save(income);
|
incomeRepository.save(income);
|
||||||
@@ -23,7 +28,13 @@ public class IncomeService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<Income> getIncomesByUserId(String userUuid) {
|
public List<Income> getIncomesByUserId(String userUuid) {
|
||||||
return incomeRepository.findByUserUuid(userUuid);
|
|
||||||
|
Optional<User> user = userRepository.getUserByUserUuid(userUuid);
|
||||||
|
if (user.isPresent()) {
|
||||||
|
return incomeRepository.findByUser(user.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Income getIncomeById(long id) {
|
public Income getIncomeById(long id) {
|
||||||
|
|||||||
Reference in New Issue
Block a user