@@ -36,6 +36,14 @@ public NewsCommandResponse createNews(long siteUserId,NewsCreateRequest newsCrea
3636 return NewsCommandResponse .from (savedNews );
3737 }
3838
39+ private String getImageUrl (MultipartFile imageFile ) {
40+ if (imageFile != null && !imageFile .isEmpty ()) {
41+ UploadedFileUrlResponse uploadedFile = s3Service .uploadFile (imageFile , ImgType .NEWS );
42+ return uploadedFile .fileUrl ();
43+ }
44+ return newsProperties .defaultThumbnailUrl ();
45+ }
46+
3947 @ Transactional
4048 public NewsCommandResponse updateNews (
4149 long siteUserId ,
@@ -51,38 +59,12 @@ public NewsCommandResponse updateNews(
5159 return NewsCommandResponse .from (savedNews );
5260 }
5361
54- @ Transactional
55- public NewsCommandResponse deleteNewsById (SiteUser siteUser , Long newsId ) {
56- News news = newsRepository .findById (newsId )
57- .orElseThrow (() -> new CustomException (NEWS_NOT_FOUND ));
58- validatePermission (siteUser , news );
59- deleteCustomImage (news .getThumbnailUrl ());
60- newsRepository .delete (news );
61- return NewsCommandResponse .from (news );
62- }
63-
64- private String getImageUrl (MultipartFile imageFile ) {
65- if (imageFile != null && !imageFile .isEmpty ()) {
66- UploadedFileUrlResponse uploadedFile = s3Service .uploadFile (imageFile , ImgType .NEWS );
67- return uploadedFile .fileUrl ();
68- }
69- return newsProperties .defaultThumbnailUrl ();
70- }
71-
7262 private void validateOwnership (News news , long siteUserId ) {
7363 if (news .getSiteUserId () != siteUserId ) {
7464 throw new CustomException (INVALID_NEWS_ACCESS );
7565 }
7666 }
7767
78- private void validatePermission (SiteUser currentUser , News news ) {
79- boolean isOwner = news .getSiteUserId () == currentUser .getId ();
80- boolean isAdmin = currentUser .getRole ().equals (Role .ADMIN );
81- if (!isOwner && !isAdmin ) {
82- throw new CustomException (INVALID_NEWS_ACCESS );
83- }
84- }
85-
8668 private void updateThumbnail (News news , MultipartFile imageFile , Boolean resetToDefaultImage ) {
8769 if (Boolean .TRUE .equals (resetToDefaultImage )) {
8870 deleteCustomImage (news .getThumbnailUrl ());
@@ -95,6 +77,24 @@ else if (imageFile != null && !imageFile.isEmpty()) {
9577 }
9678 }
9779
80+ @ Transactional
81+ public NewsCommandResponse deleteNewsById (SiteUser siteUser , Long newsId ) {
82+ News news = newsRepository .findById (newsId )
83+ .orElseThrow (() -> new CustomException (NEWS_NOT_FOUND ));
84+ validatePermission (siteUser , news );
85+ deleteCustomImage (news .getThumbnailUrl ());
86+ newsRepository .delete (news );
87+ return NewsCommandResponse .from (news );
88+ }
89+
90+ private void validatePermission (SiteUser currentUser , News news ) {
91+ boolean isOwner = news .getSiteUserId () == currentUser .getId ();
92+ boolean isAdmin = currentUser .getRole ().equals (Role .ADMIN );
93+ if (!isOwner && !isAdmin ) {
94+ throw new CustomException (INVALID_NEWS_ACCESS );
95+ }
96+ }
97+
9898 private void deleteCustomImage (String imageUrl ) {
9999 if (!newsProperties .defaultThumbnailUrl ().equals (imageUrl )) {
100100 s3Service .deletePostImage (imageUrl );
0 commit comments