@@ -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