1
|
package cz.zcu.kiv.backendapi.titlepage;
|
2
|
|
3
|
import lombok.RequiredArgsConstructor;
|
4
|
import lombok.extern.slf4j.Slf4j;
|
5
|
import org.springframework.stereotype.Service;
|
6
|
import org.springframework.transaction.annotation.Transactional;
|
7
|
|
8
|
import java.util.Optional;
|
9
|
|
10
|
/**
|
11
|
* Title page service implementation
|
12
|
*/
|
13
|
@Service
|
14
|
@Transactional
|
15
|
@RequiredArgsConstructor
|
16
|
@Slf4j
|
17
|
public class TitlePageServiceImplementation implements ITitlePageService {
|
18
|
/**
|
19
|
* ID of the title page
|
20
|
*/
|
21
|
private static final long TITLE_PAGE_ID = 1;
|
22
|
|
23
|
/**
|
24
|
* Title page repository
|
25
|
*/
|
26
|
private final TitlePageRepository titlePageRepository;
|
27
|
|
28
|
@Override
|
29
|
public TitlePage getTitlePage() {
|
30
|
Optional<TitlePage> optionalTitlePage = titlePageRepository.findById(TITLE_PAGE_ID);
|
31
|
if (optionalTitlePage.isEmpty()) {
|
32
|
TitlePage titlePage = new TitlePage(TITLE_PAGE_ID, "");
|
33
|
return titlePageRepository.save(titlePage);
|
34
|
}
|
35
|
return optionalTitlePage.get();
|
36
|
}
|
37
|
|
38
|
@Override
|
39
|
public void updateTitlePage(TitlePage titlePage) {
|
40
|
titlePage.setId(TITLE_PAGE_ID);
|
41
|
titlePageRepository.save(titlePage);
|
42
|
}
|
43
|
}
|