Skip to content

Commit 53c93a5

Browse files
committed
chore: address copilot review round 2
1 parent b39b30a commit 53c93a5

File tree

2 files changed

+10
-18
lines changed

2 files changed

+10
-18
lines changed

server/src/main/java/br/com/tasknoteapp/server/repository/NoteRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ public interface NoteRepository extends JpaRepository<NoteEntity, Long> {
1313

1414
Optional<NoteEntity> findByShareToken(String shareToken);
1515

16+
Optional<NoteEntity> findByIdAndUser_id(Long id, Long userId);
17+
1618
@Query(
1719
"select n from NoteEntity n where (upper(n.title) like %?1% or upper(n.description) like"
1820
+ " %?1%) and n.user.id = ?2")

server/src/main/java/br/com/tasknoteapp/server/service/NoteService.java

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -138,15 +138,12 @@ public NoteResponse patchNote(Long noteId, NotePatchRequest patch) {
138138

139139
logger.info("Patching task " + noteId + " to user " + user.getId());
140140

141-
Optional<NoteEntity> note = noteRepository.findById(noteId);
141+
Optional<NoteEntity> note = noteRepository.findByIdAndUser_id(noteId, user.getId());
142142
if (note.isEmpty()) {
143143
throw new NoteNotFoundException();
144144
}
145145

146146
NoteEntity noteEntity = note.get();
147-
if (!noteEntity.getUser().getId().equals(user.getId())) {
148-
throw new NoteNotFoundException();
149-
}
150147
if (!Objects.isNull(patch.title()) && !patch.title().isBlank()) {
151148
noteEntity.setTitle(patch.title().trim());
152149
}
@@ -187,17 +184,13 @@ public void deleteNote(Long noteId) {
187184

188185
logger.info("Deleting note " + noteId + " to user " + user.getId());
189186

190-
Optional<NoteEntity> note = noteRepository.findById(noteId);
187+
Optional<NoteEntity> note = noteRepository.findByIdAndUser_id(noteId, user.getId());
191188
if (note.isEmpty()) {
192189
throw new NoteNotFoundException();
193190
}
194191

195192
NoteEntity noteEntity = note.get();
196193

197-
if (!noteEntity.getUser().getId().equals(user.getId())) {
198-
throw new NoteNotFoundException();
199-
}
200-
201194
noteUrlRepository.deleteByNote_id(noteId);
202195
logger.info("URL deleted from task " + noteId);
203196

@@ -229,21 +222,18 @@ public List<NoteResponse> searchNotes(String searchTerm) {
229222
* @param noteId The note id from the database.
230223
* @return {@link NoteResponse} containing the updated note with share token.
231224
*/
225+
@Transactional
232226
public NoteResponse shareNote(Long noteId) {
233227
UserEntity user = getCurrentUser();
234228
logger.info("Sharing note " + noteId + " for user " + user.getId());
235229

236-
Optional<NoteEntity> noteOpt = noteRepository.findById(noteId);
230+
Optional<NoteEntity> noteOpt = noteRepository.findByIdAndUser_id(noteId, user.getId());
237231
if (noteOpt.isEmpty()) {
238232
throw new NoteNotFoundException();
239233
}
240234

241235
NoteEntity noteEntity = noteOpt.get();
242236

243-
if (!noteEntity.getUser().getId().equals(user.getId())) {
244-
throw new NoteNotFoundException();
245-
}
246-
247237
if (!noteEntity.isShared()) {
248238
noteEntity.setShared(true);
249239
noteEntity.setShareToken(UUID.randomUUID().toString());
@@ -264,15 +254,12 @@ public NoteResponse unshareNote(Long noteId) {
264254
UserEntity user = getCurrentUser();
265255
logger.info("Unsharing note " + noteId + " for user " + user.getId());
266256

267-
Optional<NoteEntity> noteOpt = noteRepository.findById(noteId);
257+
Optional<NoteEntity> noteOpt = noteRepository.findByIdAndUser_id(noteId, user.getId());
268258
if (noteOpt.isEmpty()) {
269259
throw new NoteNotFoundException();
270260
}
271261

272262
NoteEntity noteEntity = noteOpt.get();
273-
if (!noteEntity.getUser().getId().equals(user.getId())) {
274-
throw new NoteNotFoundException();
275-
}
276263
noteEntity.setShared(false);
277264
noteEntity.setShareToken(null);
278265
noteRepository.save(noteEntity);
@@ -310,6 +297,9 @@ private String getNoteUrl(Long noteId) {
310297

311298
private List<NoteResponse> getNotesUrl(List<NoteEntity> notes) {
312299
List<Long> noteIds = notes.stream().map(NoteEntity::getId).toList();
300+
if (noteIds.isEmpty()) {
301+
return notes.stream().map(n -> NoteResponse.fromEntity(n, null)).toList();
302+
}
313303
List<NoteUrlEntity> urls = noteUrlRepository.findAllByNote_idIn(noteIds);
314304
Map<Long, String> noteUrls =
315305
urls.stream().collect(Collectors.toMap(nu -> nu.getNote().getId(), NoteUrlEntity::getUrl));

0 commit comments

Comments
 (0)