Skip to content

Commit 4ae55e9

Browse files
committed
Last interface + Refactoring
1 parent c81f6b0 commit 4ae55e9

File tree

6 files changed

+277
-180
lines changed

6 files changed

+277
-180
lines changed

src/main/java/de/mayer/backendspringpostgres/adventure/api/RecordByChapterController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public RecordByChapterController(RecordRepository recordRepository) {
2121
@Override
2222
public ResponseEntity<List<RecordInAChapter>> getRecordsByChapterName(String adventure, String chapterName) {
2323
try {
24-
return ResponseEntity.ok(recordRepository.readByAdventureAndChapter(adventure, chapterName));
24+
return ResponseEntity.ok(recordRepository.read(adventure, chapterName));
2525
} catch (ChapterNotFoundException e) {
2626
return ResponseEntity.status(HttpStatus.NOT_FOUND).build();
2727
}
@@ -30,7 +30,7 @@ public ResponseEntity<List<RecordInAChapter>> getRecordsByChapterName(String adv
3030
@Override
3131
public ResponseEntity<Void> deleteRecordsByChapterName(String adventure, String chapterName) {
3232
try {
33-
recordRepository.deleteByAdventureAndChapter(adventure, chapterName);
33+
recordRepository.delete(adventure, chapterName);
3434
return ResponseEntity.ok().build();
3535
} catch (ChapterNotFoundException e) {
3636
return ResponseEntity.status(HttpStatus.NOT_FOUND).build();

src/main/java/de/mayer/backendspringpostgres/adventure/api/RecordByChapterNameAndIndexController.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public RecordByChapterNameAndIndexController(RecordRepository recordRepository)
2020

2121
@Override
2222
public ResponseEntity<RecordInAChapter> getRecordByNameAndIndex(String adventure, String chapterName, Integer index) {
23-
var optionalRecord = recordRepository.readByAdventureAndChapterAndIndex(adventure, chapterName, index);
23+
var optionalRecord = recordRepository.read(adventure, chapterName, index);
2424
return optionalRecord
2525
.map(ResponseEntity::ok)
2626
.orElseGet(() -> ResponseEntity.status(HttpStatus.NOT_FOUND).build());
@@ -59,6 +59,11 @@ public ResponseEntity<Void> patchRecordByChapterNameAndIndex(String adventure,
5959

6060
@Override
6161
public ResponseEntity<Void> deleteRecordByChapterNameAndIndex(String adventure, String chapterName, Integer index) {
62-
return RecordByChapterNameAndIndexHttpApi.super.deleteRecordByChapterNameAndIndex(adventure, chapterName, index);
62+
try {
63+
recordRepository.delete(adventure, chapterName, index);
64+
} catch (ChapterNotFoundException | RecordNotFoundException e) {
65+
return ResponseEntity.status((HttpStatus.NOT_FOUND)).build();
66+
}
67+
return ResponseEntity.ok().build();
6368
}
6469
}

src/main/java/de/mayer/backendspringpostgres/adventure/domainservice/RecordRepository.java

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,29 @@
1111

1212
public interface RecordRepository {
1313

14-
void create(Adventure adventure, Chapter chapter, RecordInAChapter record, Integer index) throws ChapterNotFoundException, ChapterToNotFoundException;
15-
void createMultiple(Adventure adventure, Chapter chapter, List<RecordInAChapter> records) throws ChapterNotFoundException, ChapterToNotFoundException;
14+
void create(Adventure adventure, Chapter chapter, RecordInAChapter record, Integer index)
15+
throws ChapterNotFoundException, ChapterToNotFoundException;
1616

17-
LinkedList<RecordInAChapter> readByAdventureAndChapter(String adventureName, String chapterName) throws ChapterNotFoundException;
17+
void create(String adventure, String chapterName, Integer index, RecordInAChapter record)
18+
throws ChapterNotFoundException, ChapterToNotFoundException;
1819

19-
void deleteByAdventureAndChapter(String adventure, String chapter) throws ChapterNotFoundException;
20+
void create(Adventure adventure, Chapter chapter, List<RecordInAChapter> records)
21+
throws ChapterNotFoundException, ChapterToNotFoundException;
2022

21-
void deleteAllChapterLinksReferencing(String adventureName, String chapterName);
23+
LinkedList<RecordInAChapter> read(String adventureName, String chapterName)
24+
throws ChapterNotFoundException;
2225

23-
Optional<RecordInAChapter> readByAdventureAndChapterAndIndex(String adventure, String chapter, Integer index);
26+
Optional<RecordInAChapter> read(String adventure, String chapter, Integer index);
2427

25-
void create(String adventure, String chapterName, Integer index, RecordInAChapter record) throws ChapterNotFoundException, ChapterToNotFoundException;
28+
void update(String adventure, String chapterName, Integer index, RecordInAChapter record)
29+
throws RecordNotFoundException, ChapterNotFoundException, ChapterToNotFoundException;
30+
31+
void delete(String adventure, String chapter)
32+
throws ChapterNotFoundException;
33+
34+
void delete(String adventure, String chapter, Integer index)
35+
throws ChapterNotFoundException, RecordNotFoundException;
36+
37+
void deleteChapterLinksReferencing(String adventureName, String chapterName);
2638

27-
void update(String adventure, String chapterName, Integer index, RecordInAChapter record) throws RecordNotFoundException, ChapterNotFoundException, ChapterToNotFoundException;
2839
}

src/main/java/de/mayer/backendspringpostgres/adventure/persistence/ChapterRepositoryWithJpa.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ public void update(String adventure, String nameOfChapterToBeUpdated, Chapter ch
9090
null);
9191

9292
if (chapterWithNewData.records() != null) {
93-
recordRepository.deleteByAdventureAndChapter(adventure, nameOfChapterToBeUpdated);
94-
recordRepository.createMultiple(
93+
recordRepository.delete(adventure, nameOfChapterToBeUpdated);
94+
recordRepository.create(
9595
new Adventure(adventureJpa.getName(), null),
9696
chapter,
9797
chapterWithNewData.records());
@@ -110,8 +110,8 @@ public void delete(String adventureName, String chapterName) throws ChapterNotFo
110110
if (chapter.isEmpty())
111111
throw new ChapterNotFoundException();
112112

113-
recordRepository.deleteByAdventureAndChapter(adventureName, chapterName);
114-
recordRepository.deleteAllChapterLinksReferencing(adventureName, chapterName);
113+
recordRepository.delete(adventureName, chapterName);
114+
recordRepository.deleteChapterLinksReferencing(adventureName, chapterName);
115115

116116

117117
chapterJpaRepository.delete(chapter.get());
@@ -142,12 +142,12 @@ public void create(String adventure, Chapter chapter) throws AdventureNotFoundEx
142142
chapter.subheader(),
143143
durationAsLong));
144144

145-
recordRepository.createMultiple(new Adventure(adventure, null), chapter, chapter.records());
145+
recordRepository.create(new Adventure(adventure, null), chapter, chapter.records());
146146

147147
}
148148
public Chapter mapJpaToDomain(String adventureName, ChapterJpa chapterJpa) throws ChapterNotFoundException {
149149

150-
var records = recordRepository.readByAdventureAndChapter(adventureName, chapterJpa.getName());
150+
var records = recordRepository.read(adventureName, chapterJpa.getName());
151151

152152
return new Chapter(chapterJpa.getName(),
153153
chapterJpa.getSubheader(),

0 commit comments

Comments
 (0)