@@ -43,10 +43,19 @@ public RsData<NewsCreateResponse> createNews(@RequestBody NewsCreateRequest requ
4343
4444 @ GetMapping ("{newsId}" )
4545 @ Operation (summary = "뉴스 단건 조회" , description = "특정 ID의 뉴스를 읽어옵니다." )
46- public RsData <NewsGetResponse > getNews (@ PathVariable ("newsId" ) Long newsId ) {
46+ public RsData <NewsGetWithLikeResponse > getNews (@ PathVariable ("newsId" ) Long newsId ) {
47+ Member member = rq .getActorFromDb ().get ();
48+ if (member == null ) {
49+ return new RsData <>("401" , "로그인 후 이용해주세요." , null );
50+ }
51+ if (member .getRole () != Member .Role .ADMIN ) {
52+ return new RsData <>("403" , "권한이 없습니다." , null );
53+ }
54+ boolean hasUserLikedNews = newsLikeService .hasUserLikedNews (member , newsId );
55+
4756 News news = newsService .getNewsById (newsId );
4857 newsService .incrementViews (news );
49- NewsGetResponse response = new NewsGetResponse (news );
58+ NewsGetWithLikeResponse response = new NewsGetWithLikeResponse (news , hasUserLikedNews );
5059 return new RsData <>("200" , "뉴스 읽어오기 완료" , response );
5160 }
5261
@@ -55,6 +64,13 @@ public RsData<NewsGetResponse> getNews(@PathVariable("newsId") Long newsId) {
5564 public RsData <List <NewsGetResponse >> getNewsList (
5665 @ RequestParam (defaultValue = "0" ) int page ,
5766 @ RequestParam (defaultValue = "10" ) int size ) {
67+ Member member = rq .getActorFromDb ().get ();
68+ if (member == null ) {
69+ return new RsData <>("401" , "로그인 후 이용해주세요." , null );
70+ }
71+ if (member .getRole () != Member .Role .ADMIN ) {
72+ return new RsData <>("403" , "권한이 없습니다." , null );
73+ }
5874
5975 Page <News > newsPage = newsService .getNewsByPage (page , size );
6076
@@ -106,7 +122,7 @@ public RsData<NewsUpdateResponse> modifyNews(@PathVariable("newsId") Long newsId
106122 @ Operation (summary = "뉴스 삭제" , description = "특정 ID의 뉴스를 삭제합니다. ADMIN 사용자만 접근할 수 있습니다." )
107123 public RsData <?> deleteNews (@ PathVariable ("newsId" ) Long newsId ) {
108124 Member member = rq .getActorFromDb ().get ();
109- if (member == null ){
125+ if (member == null ) {
110126 return new RsData <>("401" , "로그인 후 이용해주세요." , null );
111127 }
112128 if (member .getRole () != Member .Role .ADMIN ) {
0 commit comments