46 lines
1.1 KiB
Java
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));
|
|
}
|
|
|
|
}
|