32 lines
1.0 KiB
Java
32 lines
1.0 KiB
Java
package com.faf223.expensetrackerfaf.dto.mappers;
|
|
|
|
import com.faf223.expensetrackerfaf.dto.ExpenseCreationDTO;
|
|
import com.faf223.expensetrackerfaf.dto.ExpenseDTO;
|
|
import com.faf223.expensetrackerfaf.model.Expense;
|
|
import com.faf223.expensetrackerfaf.service.ExpenseService;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
@Component
|
|
public class ExpenseMapper {
|
|
|
|
private final ExpenseService expenseService;
|
|
private final UserMapper userMapper;
|
|
|
|
@Autowired
|
|
public ExpenseMapper(ExpenseService expenseService, UserMapper userMapper) {
|
|
this.expenseService = expenseService;
|
|
this.userMapper = userMapper;
|
|
}
|
|
|
|
public ExpenseDTO toDto(Expense expense) {
|
|
return new ExpenseDTO(expense.getExpenseId(), userMapper.toDto(expense.getUser()),
|
|
expense.getCategory(), expense.getDate(), expense.getAmount());
|
|
}
|
|
|
|
public Expense toExpense(ExpenseCreationDTO expenseDTO) {
|
|
return expenseService.getExpenseById(expenseDTO.getExpenseId());
|
|
}
|
|
|
|
}
|