Homeautomation/src/main/java/de/ph87/homeautomation/bulk/BulkWriter.java
2022-10-24 09:48:43 +02:00

46 lines
1.1 KiB
Java

package de.ph87.homeautomation.bulk;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.function.Consumer;
@Slf4j
@Service
@Transactional
@RequiredArgsConstructor
public class BulkWriter {
private final BulkRepository bulkRepository;
private final BulkReader bulkReader;
private final BulkMapper bulkMapper;
public Bulk create(final BulkCreateDto dto) {
final Bulk bulk = bulkRepository.save(new Bulk(dto));
log.info("Bulk created: {}", bulk);
return bulk;
}
public void delete(final long id) {
final Bulk bulk = bulkReader.getById(id);
bulkRepository.delete(bulk);
log.info("Bulk deleted: {}", bulk);
}
public BulkDto set(final long id, final Consumer<Bulk> consumer) {
final Bulk bulk = bulkReader.getById(id);
consumer.accept(bulk);
log.info("Changed Bulk: {}", bulk);
return bulkMapper.toDto(bulk);
}
public BulkDto createDto(final BulkCreateDto dto) {
return bulkMapper.toDto(create(dto));
}
}