-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathLabelPersistenceAdapter.java
More file actions
43 lines (35 loc) · 1.55 KB
/
LabelPersistenceAdapter.java
File metadata and controls
43 lines (35 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package clap.server.adapter.outbound.persistense;
import clap.server.adapter.outbound.persistense.entity.task.LabelEntity;
import clap.server.adapter.outbound.persistense.mapper.LabelPersistenceMapper;
import clap.server.adapter.outbound.persistense.repository.task.LabelRepository;
import clap.server.application.port.outbound.task.CommandLabelPort;
import clap.server.application.port.outbound.task.LoadLabelPort;
import clap.server.common.annotation.architecture.PersistenceAdapter;
import clap.server.domain.model.task.Label;
import lombok.RequiredArgsConstructor;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@PersistenceAdapter
@RequiredArgsConstructor
public class LabelPersistenceAdapter implements LoadLabelPort, CommandLabelPort {
private final LabelRepository labelRepository;
private final LabelPersistenceMapper labelPersistenceMapper;
@Override
public Optional<Label> findById(final Long labelId) {
Optional<LabelEntity> labelEntity = labelRepository.findById(labelId);
return labelEntity.map(labelPersistenceMapper::toDomain);
}
@Override
public List<Label> findLabelList() {
List<LabelEntity> labelEntities = labelRepository.findByIsDeletedFalse();
return labelEntities.stream()
.map(labelPersistenceMapper::toDomain)
.collect(Collectors.toList());
}
@Override
public void save(Label label) {
LabelEntity labelEntity = labelPersistenceMapper.toEntity(label);
labelRepository.save(labelEntity);
}
}