Add: missing @RequestBody annotations in some controllers as well as some missing fields in entities.
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
package net.miarma.backend.huertos.controller;
|
package net.miarma.backend.huertos.controller;
|
||||||
|
|
||||||
import net.miarma.backend.huertos.dto.BalanceDto;
|
import net.miarma.backend.huertos.dto.BalanceDto;
|
||||||
|
import net.miarma.backend.huertos.dto.view.VBalanceWithTotalsDto;
|
||||||
import net.miarma.backend.huertos.mapper.BalanceMapper;
|
import net.miarma.backend.huertos.mapper.BalanceMapper;
|
||||||
|
import net.miarma.backend.huertos.mapper.view.VBalanceWithTotalsMapper;
|
||||||
import net.miarma.backend.huertos.model.Balance;
|
import net.miarma.backend.huertos.model.Balance;
|
||||||
import net.miarma.backend.huertos.service.BalanceService;
|
import net.miarma.backend.huertos.service.BalanceService;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
@@ -27,6 +29,12 @@ public class BalanceController {
|
|||||||
return ResponseEntity.ok(BalanceMapper.toDto(balance));
|
return ResponseEntity.ok(BalanceMapper.toDto(balance));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/with-totals")
|
||||||
|
@PreAuthorize("hasAnyRole('HUERTOS_ROLE_ADMIN', 'HUERTOS_ROLE_DEV')")
|
||||||
|
public ResponseEntity<VBalanceWithTotalsDto> getWithTotals() {
|
||||||
|
return ResponseEntity.ok(VBalanceWithTotalsMapper.toDto(balanceService.getWithTotals()));
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping
|
@PostMapping
|
||||||
@PreAuthorize("hasAnyRole('HUERTOS_ROLE_ADMIN', 'HUERTOS_ROLE_DEV')")
|
@PreAuthorize("hasAnyRole('HUERTOS_ROLE_ADMIN', 'HUERTOS_ROLE_DEV')")
|
||||||
public ResponseEntity<BalanceDto> setBalance(BalanceDto dto) {
|
public ResponseEntity<BalanceDto> setBalance(BalanceDto dto) {
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class ExpenseController {
|
|||||||
|
|
||||||
@PostMapping
|
@PostMapping
|
||||||
@PreAuthorize("hasAnyRole('HUERTOS_ROLE_ADMIN', 'HUERTOS_ROLE_DEV')")
|
@PreAuthorize("hasAnyRole('HUERTOS_ROLE_ADMIN', 'HUERTOS_ROLE_DEV')")
|
||||||
public ResponseEntity<ExpenseDto.Response> create(ExpenseDto.Request dto) {
|
public ResponseEntity<ExpenseDto.Response> create(@RequestBody ExpenseDto.Request dto) {
|
||||||
return ResponseEntity.ok(
|
return ResponseEntity.ok(
|
||||||
ExpenseMapper.toResponse(
|
ExpenseMapper.toResponse(
|
||||||
expenseService.create(
|
expenseService.create(
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
package net.miarma.backend.huertos.controller;
|
package net.miarma.backend.huertos.controller;
|
||||||
|
|
||||||
import net.miarma.backend.huertos.dto.ExpenseDto;
|
|
||||||
import net.miarma.backend.huertos.dto.IncomeDto;
|
import net.miarma.backend.huertos.dto.IncomeDto;
|
||||||
import net.miarma.backend.huertos.dto.view.VIncomesWithFullNamesDto;
|
import net.miarma.backend.huertos.dto.view.VIncomesWithInfoDto;
|
||||||
import net.miarma.backend.huertos.mapper.ExpenseMapper;
|
|
||||||
import net.miarma.backend.huertos.mapper.IncomeMapper;
|
import net.miarma.backend.huertos.mapper.IncomeMapper;
|
||||||
import net.miarma.backend.huertos.mapper.view.VIncomesWithFullNamesMapper;
|
import net.miarma.backend.huertos.mapper.view.VIncomesWithInfoMapper;
|
||||||
import net.miarma.backend.huertos.model.Income;
|
import net.miarma.backend.huertos.model.Income;
|
||||||
|
import net.miarma.backend.huertos.service.HuertosUserMetadataService;
|
||||||
import net.miarma.backend.huertos.service.IncomeService;
|
import net.miarma.backend.huertos.service.IncomeService;
|
||||||
import net.miarma.backend.huertos.service.view.VIncomesWithFullNamesService;
|
import net.miarma.backend.huertos.service.view.VIncomesWithInfoService;
|
||||||
import net.miarma.backlib.security.JwtService;
|
import net.miarma.backlib.security.JwtService;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
@@ -23,12 +22,12 @@ import java.util.UUID;
|
|||||||
@RequestMapping("/incomes")
|
@RequestMapping("/incomes")
|
||||||
public class IncomeController {
|
public class IncomeController {
|
||||||
private IncomeService incomeService;
|
private IncomeService incomeService;
|
||||||
private VIncomesWithFullNamesService vIncomesWithFullNamesService;
|
private VIncomesWithInfoService vIncomesWithInfoService;
|
||||||
private JwtService jwtService;
|
private JwtService jwtService;
|
||||||
|
|
||||||
public IncomeController(IncomeService incomeService, VIncomesWithFullNamesService vIncomesWithFullNamesService, JwtService jwtService) {
|
public IncomeController(IncomeService incomeService, VIncomesWithInfoService vIncomesWithInfoService, JwtService jwtService) {
|
||||||
this.incomeService = incomeService;
|
this.incomeService = incomeService;
|
||||||
this.vIncomesWithFullNamesService = vIncomesWithFullNamesService;
|
this.vIncomesWithInfoService = vIncomesWithInfoService;
|
||||||
this.jwtService = jwtService;
|
this.jwtService = jwtService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,13 +42,13 @@ public class IncomeController {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/with-names")
|
@GetMapping("/with-info")
|
||||||
@PreAuthorize("hasAnyRole('HUERTOS_ROLE_ADMIN', 'HUERTOS_ROLE_DEV')")
|
@PreAuthorize("hasAnyRole('HUERTOS_ROLE_ADMIN', 'HUERTOS_ROLE_DEV')")
|
||||||
public ResponseEntity<List<VIncomesWithFullNamesDto>> getAllWithNames() {
|
public ResponseEntity<List<VIncomesWithInfoDto>> getAllWithInfo() {
|
||||||
return ResponseEntity.ok(
|
return ResponseEntity.ok(
|
||||||
vIncomesWithFullNamesService.getAll()
|
vIncomesWithInfoService.getAll()
|
||||||
.stream()
|
.stream()
|
||||||
.map(VIncomesWithFullNamesMapper::toResponse)
|
.map(VIncomesWithInfoMapper::toResponse)
|
||||||
.toList()
|
.toList()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -79,7 +78,7 @@ public class IncomeController {
|
|||||||
|
|
||||||
@PostMapping
|
@PostMapping
|
||||||
@PreAuthorize("hasAnyRole('HUERTOS_ROLE_ADMIN', 'HUERTOS_ROLE_DEV')")
|
@PreAuthorize("hasAnyRole('HUERTOS_ROLE_ADMIN', 'HUERTOS_ROLE_DEV')")
|
||||||
public ResponseEntity<IncomeDto.Response> create(IncomeDto.Request dto) {
|
public ResponseEntity<IncomeDto.Response> create(@RequestBody IncomeDto.Request dto) {
|
||||||
return ResponseEntity.ok(
|
return ResponseEntity.ok(
|
||||||
IncomeMapper.toResponse(
|
IncomeMapper.toResponse(
|
||||||
incomeService.create(
|
incomeService.create(
|
||||||
|
|||||||
@@ -52,10 +52,10 @@ public class RequestController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public ResponseEntity<RequestDto.Response> create(RequestDto.Request dto) {
|
public ResponseEntity<RequestDto.Response> create(@RequestBody RequestDto.Request dto) {
|
||||||
return ResponseEntity.ok(
|
return ResponseEntity.ok(
|
||||||
RequestMapper.toResponse(
|
RequestMapper.toResponse(
|
||||||
requestService.createWaitlist(
|
requestService.create(
|
||||||
RequestMapper.toEntity(dto)
|
RequestMapper.toEntity(dto)
|
||||||
)));
|
)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,11 +7,20 @@ import java.util.UUID;
|
|||||||
public class IncomeDto {
|
public class IncomeDto {
|
||||||
public static class Request {
|
public static class Request {
|
||||||
private UUID userId;
|
private UUID userId;
|
||||||
|
private Integer memberNumber;
|
||||||
private String concept;
|
private String concept;
|
||||||
private BigDecimal amount;
|
private BigDecimal amount;
|
||||||
private Byte type;
|
private Byte type;
|
||||||
private Byte frequency;
|
private Byte frequency;
|
||||||
|
|
||||||
|
public Integer getMemberNumber() {
|
||||||
|
return memberNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMemberNumber(Integer memberNumber) {
|
||||||
|
this.memberNumber = memberNumber;
|
||||||
|
}
|
||||||
|
|
||||||
public UUID getUserId() {
|
public UUID getUserId() {
|
||||||
return userId;
|
return userId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,10 +4,11 @@ import java.math.BigDecimal;
|
|||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class VIncomesWithFullNamesDto {
|
public class VIncomesWithInfoDto {
|
||||||
private UUID incomeId;
|
private UUID incomeId;
|
||||||
private UUID userId;
|
private UUID userId;
|
||||||
private String displayName;
|
private String displayName;
|
||||||
|
private Integer memberNumber;
|
||||||
private String concept;
|
private String concept;
|
||||||
private BigDecimal amount;
|
private BigDecimal amount;
|
||||||
private Byte type;
|
private Byte type;
|
||||||
@@ -34,6 +35,14 @@ public class VIncomesWithFullNamesDto {
|
|||||||
return displayName;
|
return displayName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Integer getMemberNumber() {
|
||||||
|
return memberNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMemberNumber(Integer memberNumber) {
|
||||||
|
this.memberNumber = memberNumber;
|
||||||
|
}
|
||||||
|
|
||||||
public void setDisplayName(String displayName) {
|
public void setDisplayName(String displayName) {
|
||||||
this.displayName = displayName;
|
this.displayName = displayName;
|
||||||
}
|
}
|
||||||
@@ -1,15 +1,16 @@
|
|||||||
package net.miarma.backend.huertos.mapper.view;
|
package net.miarma.backend.huertos.mapper.view;
|
||||||
|
|
||||||
import net.miarma.backend.huertos.dto.view.VIncomesWithFullNamesDto;
|
import net.miarma.backend.huertos.dto.view.VIncomesWithInfoDto;
|
||||||
import net.miarma.backend.huertos.model.view.VIncomesWithFullNames;
|
import net.miarma.backend.huertos.model.view.VIncomesWithInfo;
|
||||||
|
|
||||||
public class VIncomesWithFullNamesMapper {
|
public class VIncomesWithInfoMapper {
|
||||||
|
|
||||||
public static VIncomesWithFullNamesDto toResponse(VIncomesWithFullNames entity) {
|
public static VIncomesWithInfoDto toResponse(VIncomesWithInfo entity) {
|
||||||
VIncomesWithFullNamesDto dto = new VIncomesWithFullNamesDto();
|
VIncomesWithInfoDto dto = new VIncomesWithInfoDto();
|
||||||
dto.setIncomeId(entity.getIncomeId());
|
dto.setIncomeId(entity.getIncomeId());
|
||||||
dto.setUserId(entity.getUserId());
|
dto.setUserId(entity.getUserId());
|
||||||
dto.setDisplayName(entity.getDisplayName());
|
dto.setDisplayName(entity.getDisplayName());
|
||||||
|
dto.setMemberNumber(entity.getMemberNumber());
|
||||||
dto.setConcept(entity.getConcept());
|
dto.setConcept(entity.getConcept());
|
||||||
dto.setAmount(entity.getAmount());
|
dto.setAmount(entity.getAmount());
|
||||||
dto.setType(entity.getType());
|
dto.setType(entity.getType());
|
||||||
@@ -24,10 +24,16 @@ public class Request {
|
|||||||
private Byte status;
|
private Byte status;
|
||||||
|
|
||||||
@Column(name = "requested_by", columnDefinition = "BINARY(16)")
|
@Column(name = "requested_by", columnDefinition = "BINARY(16)")
|
||||||
private UUID requestedBy;
|
private byte[] requestedByBin;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private UUID requestedBy;
|
||||||
|
|
||||||
@Column(name = "target_user_id", columnDefinition = "BINARY(16)")
|
@Column(name = "target_user_id", columnDefinition = "BINARY(16)")
|
||||||
private UUID targetUserId;
|
private byte[] targetUserIdBin;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private UUID targetUserId;
|
||||||
|
|
||||||
@Column(name = "created_at", nullable = false)
|
@Column(name = "created_at", nullable = false)
|
||||||
private Instant createdAt;
|
private Instant createdAt;
|
||||||
@@ -38,6 +44,14 @@ public class Request {
|
|||||||
if (requestId != null) {
|
if (requestId != null) {
|
||||||
requestIdBin = UuidUtil.uuidToBin(requestId);
|
requestIdBin = UuidUtil.uuidToBin(requestId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (requestedBy != null) {
|
||||||
|
requestedByBin = UuidUtil.uuidToBin(requestedBy);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (targetUserId != null) {
|
||||||
|
targetUserIdBin = UuidUtil.uuidToBin(targetUserId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostLoad
|
@PostLoad
|
||||||
@@ -45,6 +59,14 @@ public class Request {
|
|||||||
if (requestIdBin != null) {
|
if (requestIdBin != null) {
|
||||||
requestId = UuidUtil.binToUUID(requestIdBin);
|
requestId = UuidUtil.binToUUID(requestIdBin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (requestedByBin != null) {
|
||||||
|
requestedBy = UuidUtil.binToUUID(requestedByBin);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (targetUserIdBin != null) {
|
||||||
|
targetUserId = UuidUtil.binToUUID(targetUserIdBin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public UUID getRequestId() {
|
public UUID getRequestId() {
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ import java.util.UUID;
|
|||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Immutable
|
@Immutable
|
||||||
@Table(name = "v_incomes_with_full_names")
|
@Table(name = "v_incomes_with_info")
|
||||||
public class VIncomesWithFullNames {
|
public class VIncomesWithInfo {
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
@Column(name = "income_id", columnDefinition = "BINARY(16)")
|
@Column(name = "income_id", columnDefinition = "BINARY(16)")
|
||||||
@@ -29,6 +29,9 @@ public class VIncomesWithFullNames {
|
|||||||
@Column(name = "display_name")
|
@Column(name = "display_name")
|
||||||
private String displayName;
|
private String displayName;
|
||||||
|
|
||||||
|
@Column(name = "member_number")
|
||||||
|
private Integer memberNumber;
|
||||||
|
|
||||||
private String concept;
|
private String concept;
|
||||||
private BigDecimal amount;
|
private BigDecimal amount;
|
||||||
private Byte type;
|
private Byte type;
|
||||||
@@ -60,6 +63,8 @@ public class VIncomesWithFullNames {
|
|||||||
return displayName;
|
return displayName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Integer getMemberNumber() { return memberNumber; }
|
||||||
|
|
||||||
public String getConcept() {
|
public String getConcept() {
|
||||||
return concept;
|
return concept;
|
||||||
}
|
}
|
||||||
@@ -4,7 +4,9 @@ import net.miarma.backend.huertos.model.view.VBalanceWithTotals;
|
|||||||
import org.springframework.data.repository.Repository;
|
import org.springframework.data.repository.Repository;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface VBalanceWithTotalsRepository extends Repository<VBalanceWithTotals, byte[]> {
|
public interface VBalanceWithTotalsRepository extends Repository<VBalanceWithTotals, Byte> {
|
||||||
List<VBalanceWithTotals> findAll();
|
List<VBalanceWithTotals> findAll();
|
||||||
|
Optional<VBalanceWithTotals> findById(Byte id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
package net.miarma.backend.huertos.repository.view;
|
|
||||||
|
|
||||||
import net.miarma.backend.huertos.model.view.VIncomesWithFullNames;
|
|
||||||
import org.springframework.data.repository.Repository;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
public interface VIncomesWithFullNamesRepository extends Repository<VIncomesWithFullNames, byte[]> {
|
|
||||||
List<VIncomesWithFullNames> findAll();
|
|
||||||
Optional<VIncomesWithFullNames> findById(byte[] incomeId);
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package net.miarma.backend.huertos.repository.view;
|
||||||
|
|
||||||
|
import net.miarma.backend.huertos.model.view.VIncomesWithInfo;
|
||||||
|
import org.springframework.data.repository.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
public interface VIncomesWithInfoRepository extends Repository<VIncomesWithInfo, byte[]> {
|
||||||
|
List<VIncomesWithInfo> findAll();
|
||||||
|
Optional<VIncomesWithInfo> findById(byte[] incomeId);
|
||||||
|
}
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
package net.miarma.backend.huertos.service;
|
package net.miarma.backend.huertos.service;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
|
import net.miarma.backend.huertos.model.view.VBalanceWithTotals;
|
||||||
|
import net.miarma.backend.huertos.repository.view.VBalanceWithTotalsRepository;
|
||||||
import net.miarma.backlib.exception.ConflictException;
|
import net.miarma.backlib.exception.ConflictException;
|
||||||
import net.miarma.backlib.exception.NotFoundException;
|
import net.miarma.backlib.exception.NotFoundException;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -15,40 +16,47 @@ import net.miarma.backend.huertos.repository.BalanceRepository;
|
|||||||
@Transactional
|
@Transactional
|
||||||
public class BalanceService {
|
public class BalanceService {
|
||||||
|
|
||||||
private final BalanceRepository repo;
|
private final BalanceRepository balanceRepository;
|
||||||
|
private final VBalanceWithTotalsRepository vBalanceWithTotalsRepository;
|
||||||
|
|
||||||
public BalanceService(BalanceRepository repo) {
|
public BalanceService(BalanceRepository balanceRepository, VBalanceWithTotalsRepository vBalanceWithTotalsRepository) {
|
||||||
this.repo = repo;
|
this.balanceRepository = balanceRepository;
|
||||||
|
this.vBalanceWithTotalsRepository = vBalanceWithTotalsRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Balance get() {
|
public Balance get() {
|
||||||
return repo.findById((byte) 1)
|
return balanceRepository.findById((byte) 1)
|
||||||
|
.orElseThrow(() -> new NotFoundException("Balance not found"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public VBalanceWithTotals getWithTotals() {
|
||||||
|
return vBalanceWithTotalsRepository.findById((byte) 1)
|
||||||
.orElseThrow(() -> new NotFoundException("Balance not found"));
|
.orElseThrow(() -> new NotFoundException("Balance not found"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Balance create(Balance balance) {
|
public Balance create(Balance balance) {
|
||||||
if (repo.existsById((byte) 1)) {
|
if (balanceRepository.existsById((byte) 1)) {
|
||||||
throw new ConflictException("Balance already exists");
|
throw new ConflictException("Balance already exists");
|
||||||
}
|
}
|
||||||
balance.setId((byte) 1);
|
balance.setId((byte) 1);
|
||||||
balance.setCreatedAt(Instant.now());
|
balance.setCreatedAt(Instant.now());
|
||||||
return repo.save(balance);
|
return balanceRepository.save(balance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Balance update(Balance dto) {
|
public Balance update(Balance dto) {
|
||||||
Balance balance = repo.findById((byte) 1)
|
Balance balance = balanceRepository.findById((byte) 1)
|
||||||
.orElseThrow(() -> new NotFoundException("Balance not found"));
|
.orElseThrow(() -> new NotFoundException("Balance not found"));
|
||||||
|
|
||||||
if (dto.getInitialBank() != null) balance.setInitialBank(dto.getInitialBank());
|
if (dto.getInitialBank() != null) balance.setInitialBank(dto.getInitialBank());
|
||||||
if (dto.getInitialCash() != null) balance.setInitialCash(dto.getInitialCash());
|
if (dto.getInitialCash() != null) balance.setInitialCash(dto.getInitialCash());
|
||||||
|
|
||||||
return repo.save(balance);
|
return balanceRepository.save(balance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void delete() {
|
public void delete() {
|
||||||
if (!repo.existsById((byte) 1)) {
|
if (!balanceRepository.existsById((byte) 1)) {
|
||||||
throw new NotFoundException("Balance not found");
|
throw new NotFoundException("Balance not found");
|
||||||
}
|
}
|
||||||
repo.deleteById((byte) 1);
|
balanceRepository.deleteById((byte) 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public class RequestService {
|
|||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Request createWaitlist(Request request) {
|
public Request create(Request request) {
|
||||||
if (request.getType() == null) {
|
if (request.getType() == null) {
|
||||||
throw new BadRequestException("type is required");
|
throw new BadRequestException("type is required");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,31 +7,31 @@ import net.miarma.backlib.exception.NotFoundException;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
import net.miarma.backend.huertos.model.view.VIncomesWithFullNames;
|
import net.miarma.backend.huertos.model.view.VIncomesWithInfo;
|
||||||
import net.miarma.backend.huertos.repository.view.VIncomesWithFullNamesRepository;
|
import net.miarma.backend.huertos.repository.view.VIncomesWithInfoRepository;
|
||||||
import net.miarma.backlib.util.UuidUtil;
|
import net.miarma.backlib.util.UuidUtil;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Transactional
|
@Transactional
|
||||||
public class VIncomesWithFullNamesService {
|
public class VIncomesWithInfoService {
|
||||||
|
|
||||||
private final VIncomesWithFullNamesRepository repository;
|
private final VIncomesWithInfoRepository repository;
|
||||||
|
|
||||||
public VIncomesWithFullNamesService(VIncomesWithFullNamesRepository repository) {
|
public VIncomesWithInfoService(VIncomesWithInfoRepository repository) {
|
||||||
this.repository = repository;
|
this.repository = repository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<VIncomesWithFullNames> getAll() {
|
public List<VIncomesWithInfo> getAll() {
|
||||||
return repository.findAll();
|
return repository.findAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
public VIncomesWithFullNames getById(UUID incomeId) {
|
public VIncomesWithInfo getById(UUID incomeId) {
|
||||||
byte[] idBytes = UuidUtil.uuidToBin(incomeId);
|
byte[] idBytes = UuidUtil.uuidToBin(incomeId);
|
||||||
return repository.findById(idBytes)
|
return repository.findById(idBytes)
|
||||||
.orElseThrow(() -> new NotFoundException("Income not found"));
|
.orElseThrow(() -> new NotFoundException("Income not found"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<VIncomesWithFullNames> getByUserId(UUID userId) {
|
public List<VIncomesWithInfo> getByUserId(UUID userId) {
|
||||||
byte[] idBytes = UuidUtil.uuidToBin(userId);
|
byte[] idBytes = UuidUtil.uuidToBin(userId);
|
||||||
return repository.findAll().stream()
|
return repository.findAll().stream()
|
||||||
.filter(i -> i.getUserId().equals(userId))
|
.filter(i -> i.getUserId().equals(userId))
|
||||||
Reference in New Issue
Block a user