From a120e90572f5266e73a5909dd575b8886e82c20e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kang=20Choi=20/=20=EC=B5=9C=20=EA=B0=95?= <109474668+y2hscmtk@users.noreply.github.com> Date: Sun, 4 Aug 2024 19:56:23 +0900 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20[feat]=20=ED=83=9C=EA=B7=B8?= =?UTF-8?q?=EB=A1=9C=20=EB=82=B4=EA=B0=80=20=EC=8A=A4=ED=81=AC=EB=9E=A9?= =?UTF-8?q?=ED=95=9C=20=EA=B2=8C=EC=8B=9C=EA=B8=80=20=EC=A1=B0=ED=9A=8C(?= =?UTF-8?q?=EB=AF=B8=EB=A6=AC=EB=B3=B4=EA=B8=B0)=20=EC=84=9C=EB=B9=84?= =?UTF-8?q?=EC=8A=A4=20=EC=BD=94=EB=93=9C=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../8.8/executionHistory/executionHistory.bin | Bin 1873570 -> 1873570 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/8.8/fileHashes/fileHashes.bin | Bin 44047 -> 44047 bytes .gradle/8.8/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.8/fileHashes/resourceHashesCache.bin | Bin 32301 -> 32437 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../Article$ArticleBuilder.class.uniqueId7 | Bin 0 -> 3151 bytes .../stash-dir/Article.class.uniqueId12 | Bin 0 -> 3901 bytes .../ArticleDataLoader.class.uniqueId1 | Bin 0 -> 7821 bytes .../ArticleRepository.class.uniqueId10 | Bin 0 -> 2309 bytes ...ArticleServiceImplBuilder.class.uniqueId5} | Bin ...d2 => ArticleServiceImpl.class.uniqueId11} | Bin 26145 -> 27481 bytes ...ticleTag$ArticleTagBuilder.class.uniqueId4 | Bin 0 -> 2365 bytes .../stash-dir/ArticleTag.class.uniqueId13 | Bin 0 -> 2038 bytes .../ArticleTagRepository.class.uniqueId8 | Bin 0 -> 2586 bytes .../Scrap$ScrapBuilder.class.uniqueId3 | Bin 0 -> 2285 bytes .../stash-dir/Scrap.class.uniqueId2 | Bin 0 -> 1994 bytes .../stash-dir/ScrapRepository.class.uniqueId1 | Bin 1534 -> 0 bytes .../stash-dir/ScrapRepository.class.uniqueId9 | Bin 0 -> 1539 bytes ...uniqueId4 => ScrapService.class.uniqueId6} | Bin ...onse$ScreamResponseBuilder.class.uniqueId0 | Bin 2437 -> 0 bytes ...reamListDto$ScreamResponse.class.uniqueId3 | Bin 1666 -> 0 bytes ...es$SearchScreamsResBuilder.class.uniqueId6 | Bin 2205 -> 0 bytes ...amListDto$SearchScreamsRes.class.uniqueId7 | Bin 1560 -> 0 bytes .../stash-dir/ScreamListDto.class.uniqueId5 | Bin 819 -> 0 bytes .../ScreamRepository.class.uniqueId2 | Bin 1044 -> 0 bytes ...l$ScreamServiceImplBuilder.class.uniqueId4 | Bin 1841 -> 0 bytes .../ScreamServiceImpl.class.uniqueId1 | Bin 5766 -> 0 bytes .../compileJava/previous-compilation-data.bin | Bin 93292 -> 93299 bytes .../domain/article/entity/Article.java | 4 ++ .../repository/ArticleTagRepository.java | 4 ++ .../scrap/repository/ScrapRepository.java | 1 - .../domain/scrap/service/ScrapService.java | 47 ++++++++++++++++++ 33 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/Article$ArticleBuilder.class.uniqueId7 create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/Article.class.uniqueId12 create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ArticleDataLoader.class.uniqueId1 create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ArticleRepository.class.uniqueId10 rename build/tmp/compileJava/compileTransaction/stash-dir/{ArticleServiceImpl$ArticleServiceImplBuilder.class.uniqueId3 => ArticleServiceImpl$ArticleServiceImplBuilder.class.uniqueId5} (100%) rename build/tmp/compileJava/compileTransaction/stash-dir/{ArticleServiceImpl.class.uniqueId2 => ArticleServiceImpl.class.uniqueId11} (52%) create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ArticleTag$ArticleTagBuilder.class.uniqueId4 create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ArticleTag.class.uniqueId13 create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ArticleTagRepository.class.uniqueId8 create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/Scrap$ScrapBuilder.class.uniqueId3 create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/Scrap.class.uniqueId2 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ScrapRepository.class.uniqueId1 create mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ScrapRepository.class.uniqueId9 rename build/tmp/compileJava/compileTransaction/stash-dir/{ScrapService.class.uniqueId4 => ScrapService.class.uniqueId6} (100%) delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ScreamListDto$ScreamResponse$ScreamResponseBuilder.class.uniqueId0 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ScreamListDto$ScreamResponse.class.uniqueId3 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ScreamListDto$SearchScreamsRes$SearchScreamsResBuilder.class.uniqueId6 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ScreamListDto$SearchScreamsRes.class.uniqueId7 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ScreamListDto.class.uniqueId5 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ScreamRepository.class.uniqueId2 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ScreamServiceImpl$ScreamServiceImplBuilder.class.uniqueId4 delete mode 100644 build/tmp/compileJava/compileTransaction/stash-dir/ScreamServiceImpl.class.uniqueId1 diff --git a/.gradle/8.8/executionHistory/executionHistory.bin b/.gradle/8.8/executionHistory/executionHistory.bin index 745261da06a649fc264caf49d2fb5428ff599565..07118a8172df6a23b7e366490741f7ad3cc5e870 100644 GIT binary patch delta 792 zcmZ3qwrJ7XqJ|d67N!>F7M2#)7Pc1l7LFFq7OocV7M>Q~7QPn#7J(MQ7NHj57LgXw z7O@ub7Ks+g7O5@L(Od0O%gu953rv!dt5R}va?5hFGV_Xyvhz$Ta|LYYE%|**@AHSR z+=5|;ibB}>nK6X6D{}L_EZ*LvDf6CHVB#mC3DdHdo@m?ox+HyXcf@0QX zIdi68oXaOSt(1SZz)Tg{Mx`gIYCIk>x7bwP|C;_Wg?sn*Fa9!t(gOZf)448x*KVmO z4xCq~SpIqX!5!@Tw~OS+JmYW-jZf=ddCgViRaw^ZhQIr5=61|^G12I)G-ID*QAuWU zPO4sVPGWH}gMfW$aDGef^!Gaa`@YGY!H^%176b8bs|PM^4&OMSXYnT!C(Ot9uwq3MPd9C8xEGY)Yl6$|PG z_v*el;;+F!A1wPrbozpyoa)n8mdWt&XHS@ShdphROs)I7j3;ZaOgG%et~mW^nM@qV zNwDH6a?>YTaLPFh23uZlX96C zTr5j~s3D`gVCSq(+ion^tP{Tm8oG7*ztPy)uvkC>E|9wv>pFDhjF^&K@q*}$z3ub z94s?H_U)b|^WE(5ibKi&pG-=L;s3ObcH9s7CufvGZ&01bd$ APXGV_ delta 650 zcmZ3qwrJ7XqJ|d67N!>F7M2#)7Pc1l7LFFq7OocV7M>Q~7QPn#7J(MQ7NHj57LgXw z7O@ub7Ks+g7O5@L(OW0`dq^wqc);-Q%QL5J=P+CAytE=KSyXYH- znAVm;^9OCy5AI;!zg;9p<{8Iy2Qy9q)<;*)Kc6`L!&H71*2iFGVvc|%>uWHx(U(n~ z?z4M={xybzl`p}v zvqYvZ_{ph0ePx*p5C5m@&3k8>-Z=SA@cOQ(j)v)m``8tyKP{7q<2ZZ`WYiS7=@TtD zWu~W>%LuR>1qw~CE|-xONOB0Q<#yD+Ry9jG@6pDP3)4Tcu-k2aQZDm?i{; z1lc>iUPD4sV8aBR;*WyAc5Z*UnoY`3D|LDy6PMohm8~*0ECQP6^kYA6=@LAj9j?y#QqAfvdfyYu7v=*^0<_uaHNZw%zx PcLNk6Z>ArZD)R^c`XnJL diff --git a/.gradle/8.8/executionHistory/executionHistory.lock b/.gradle/8.8/executionHistory/executionHistory.lock index 29e9e89cc70d896b9013bc15ab4793842339d86b..13168bbe94304e4eb34855642f56b4ee997a742b 100644 GIT binary patch literal 17 UcmZRU;^pt?$^871Emy%XB^^ADi+iW?$v#9#9xCSYOp-SV6GpNy=SU{R4Yu*O#u5qVecK;ISU*P%iox3w2iariz8SO+g~n-B8lY5iP6H7;~IoFSLRIsho16e-U6`QDwFLC vq!jil+zAr#_pAHSP?>UhQ)mLz$@&oe`fii|Pf^=Ezd#49S7P(|LI*1VYeSJd delta 355 zcmeCb!PI|)X~Sj@1zC6J$Mw;h6=mZ;b$i=|GI8o;F8#@LNV9d#x%<8GW`IiSH z@8sQ$B0T>CB3QsO3~ZT`=Xa}Zb__ej$RhLk)!)gdC+k5Ne#{y9Sg#7UYgI8%=s z$Vi50;-6eIQ+@O42sRc4|B%(Z=hnPQIAFoGNXu5f8*K0MO%V`3+UiMm!Xh-u90C%?~inf$X} zgoWqp)d!OW8>A-3Hi&Gl%$orA>z~QI1zz%GF8JLu1~3rP001>-1c?9u literal 17 VcmZSHe>z%GF8JLu1~3rf1pqZn1a1HT diff --git a/.gradle/8.8/fileHashes/resourceHashesCache.bin b/.gradle/8.8/fileHashes/resourceHashesCache.bin index 5d24c0c2476dba3ea73e0bb136c16af90c23f4d0..aea5b3f5aea9df3f2fd670ebbae950eb6bdabcef 100644 GIT binary patch delta 241 zcmZ4chjHs)#tkMCjI%bIN=#rASoY4NqNvZ=j{ywo3ODbS+rT5hu*x9J-1(X=RMdZS zs`d?Tf$$fi`<{2roDLP8yxG)z0;@ootq)6KZIT&ORCn`Uo5_rfjT;pwaBg<=cw;(w zY7KwoC!q<`vX`D{+xfaAeQ$RIP_3LXkdOpoK@b)Y+N_&%L|#xbqjx6Xx|=KRVydWL o7S>wb-K^(eke#LOJZBE3ikT|1jY>~a)p$H&Zn3Gn{{>P30NcGq<^TWy delta 47 zcmV+~0MP%n{Q<4~0kAX}0hY5h7?1|D-5#h6vz;r@3$ukchy}AHJ&OSWA+aIw39~^+ F>^0$Z6D9xv diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 8e1af62a7d0643d66111cb743ce3ce537338fd36..8c95f688f63aca54302f35f73b9235352deb790f 100644 GIT binary patch literal 17 UcmZSXt8QMcX%M`T0Ss8v0WKB<1ONa4 literal 17 UcmZSXt8QMcX%M`T0Ss6Z04@&${Qv*} diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Article$ArticleBuilder.class.uniqueId7 b/build/tmp/compileJava/compileTransaction/stash-dir/Article$ArticleBuilder.class.uniqueId7 new file mode 100644 index 0000000000000000000000000000000000000000..94e021bdc6d07c1f3254cdc963fb33946d1e7258 GIT binary patch literal 3151 zcmd5e8a6>Hzb6ROCbe23EgtPI0+<%Gyx|85(Ob1(AXY1Q?GZT-EmM} zk@yRUp8--)r6TbI_)&;6yX$6cZz`9(@UY&QlQZ9UF5m9i{Qb|9zW{9DFoy&t(n#hp zi4;TeAwTDq&7HP&*mx+Knjy6=9jP}NCd!qQEHcQZk;~%+)wO<dBPlgF^_3u$#}}{X{j7zd?}AvyiA$!o<3DXyjG8oyDPd4;r7Gc z_ji6gujDb01%{;NZSQH!L||KW>FH`3ON1H^8efbY7V)Yn`fCh7mm}%7SVxP&F!xQ5)YcVy z&bjnt!xmePqck@fps-7ITXh?%V?7Y0Rjx&=%8)&hZHMcgOA4zE6=eMiiNtsFn76B& zgqWn z)>qu+U7>|bL4F-22{n0LnojwOIAaxiUABIiBAUN~KEB7Jg`Xa5>cv^Vu|I{ydP?@pR~n2#>2QaJWrD^)ihgOngQ4v27%Fs6n3+6cqX9f(qY*q}qX|4>qnS#mD?aw> z09Tf5^g%*@U89vnCz-LVJO=yScYl+9Q@*i)d$cyenj;qO(>)qCqg39)gb!3DK$Bp4 zW%UpG`Hhwd3`0!^E+G^-hqZXy5E!)L5Pkvg#Npo<8$YOPh;KH7@!yWezcn^~(4!FF zYzFbCY_npu zy&|Iyr)h+e2F0LaOM}LIAzL^NbHi&{PD6>M({xOU)kLQ)S#dN?S)LhgyEY(QCq-j) zB0(q9G)|`s${aKX3vf-e3>uowZ?f!}H09{5L2*&9mu%ah+;qUfW!JW4jd6?lCkZ-d zQ1N{>J*79l)UoWkY$a)eCew7D9g8nmj^!=#9xkToL;A>|h*j@~NA0}g>V02I(`CBC zPIkO)7v9fS!rf@f=9X;jhki|sib=}TWP%C?UFp+m*zT6F_r;e)Tdt_2C1}>56TQ%t zS}n25$x6};O(I4QJCJM2O{;Bf*|Ov~t|vH3$nP11?*(c=m^-r7hK_V<(k$1D22F)7 z-H|9D;mP`@usafB!)=epjom{uV6VEnqcqC5SJtcL>SKe>h1x(KJ52}JQAadUUrAl0 zPdVi0Lsiystf?pVrJMGeb zHgxG!MWeU~7s8!{dsUY`<*+ry&W@}vA#4eag^kv>afT#NI5ol2?&h?Z-$Y!N-8y_7 ztyqp+?{E=S1v1Mg(X9!4Q?x7|>&d9MZ2@oYy>pu_rRR)6rw&>~hPBnZ zVG2i!W_C^DAk`m;7Rtdxof>p6G&o0r=Xj=c+V0C%CoF?*P3PY$$$gB6oKI-3C_67h*kY_=yUi{4h1q2R zsKgr5E8}2}!MHj*JvKy{W3lRo_2hwdeNXrjI;1HG2jYoQNi*o&z>S4+D9#kyRmZ67 zR__ioXl37*?&MK|Z_uy7Qc)K`AOw1g|7oU=>hQ>et|Gytc2_PSe&`H=z8#PJuX&+;@_8-;vcLgG!~Bcx@>#?^$O}pm-!8}Y>ReVVwlll z`qrn5xa0G9LB-MHq9+h1MrUb=Othb1JTK`}x=Pp3{j5!&Lk_PYtVQ^_qgp(2REuYT z)<1^!3w*Cjx>Oat0k9m|F6=P{`yd=P(+_(Uu-68_a-zDh zSq1wIJ=9UJ=^%_3ekbD%9XE(OGjHg0gdX*hkbyYSbriu3I*Hu&5;5LQ#5ipr8No#G z%tFuh1|a-mr~>F)+JtRR#08ZGqTzQm@%S};@SF0HbI))@qx4Akzf&uZ>50}fvCa}P zIDLWD{0#bPrRoS)2WNHQ6>4mqx;SHMl6o$teCV!2S5-J?VSW>SS*bdNHHTx^e~3c2_J((&v4 zxH3FS$CdHBK4`bz=QVZ0kRnIsl6ggsd{*Z9Um*0k#}pY;J!ZssfU4#(zknI0s$3j^ zSwLk0l2xC}_>JM~M^g4h@)?vO)KJ7airzNH79tA5eoikih+;57HhRne6A)?A$UoAZ BZm|FW literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ArticleDataLoader.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/ArticleDataLoader.class.uniqueId1 new file mode 100644 index 0000000000000000000000000000000000000000..67996748d3344a72b7b2fdd59ebc119b85cddc12 GIT binary patch literal 7821 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 literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ArticleRepository.class.uniqueId10 b/build/tmp/compileJava/compileTransaction/stash-dir/ArticleRepository.class.uniqueId10 new file mode 100644 index 0000000000000000000000000000000000000000..d74183eabaf93a5d8e09f330bf72811e036e6e81 GIT binary patch literal 2309 zcmc&#%Tg0T6uljR5Cp^*h>DE(g0hM(7H$Yom5@+M1%eYw%Z*ku)5ONfOzi1_nvDy0 z?)?rwz=a>+M_Jy^OfpGiC{3X*x@P)u&pmzaqrd<7`V9cq;ZYVc1XeAtK~IG1a{0z$ zirQX-370adgynE5dDHWS@?=O0(URF&$-)qUsUvpGsKeYktsWe4OJ!k%z!Oi_so#{s ztshF(;3uAZM{TAUJ!-OU(CsEm011pA3fC@%g+RUaB!Lf$mDA}pc;kRe%3UQ?NOxMZ zd?nRse5pNF=j_1Y`K8}Fn#bGiaAacdF?|WerB7gl#pFhtF&u$hP1Iec0?7${`LCSU zQUq(qGgd5)Wqt$iIBNzdV}rjCzCdvbuInkLgy-UAX}VB-fqWit86w*7F>?ZxVY^nY zlsEScW^9?&9V2##)0a=nX4zoNk&MQ=u^RtX%~IJkim!0blAI}S7nD&d*ER_(^iu4E zqlfECI@hi&ey@4b76P)J)A?3#oMKp&HkZY4v+cRWeT#s(m<~E{Qhhvk&;g>pk`|vc z!Y~n4=RT|NVmT177b{8i*OadIzfpu))pq##A2=L9%hzdIZdae}Vmc##-%xSpD?Qai zYpBz|{d4j6jyVcJ!yt0ek>KYiWYEn@7?hHc-J1b)&Fb>S-TqxZAnRr><;`-l{XQwXePP zyiG>Jqqs zV;EoeA$*y$FbYGE!&xo^WB9pzS8!o6gR`sA3K}5BHMowL z8e^Dr*-!V|&*0e`Fq`05Rs^PJ%Iy7zU1r^WA=og%-w47w7qe XzJatOyL)gSF*5L=Wj}&P9s>LX0gTS| literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ArticleServiceImpl$ArticleServiceImplBuilder.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/ArticleServiceImpl$ArticleServiceImplBuilder.class.uniqueId5 similarity index 100% rename from build/tmp/compileJava/compileTransaction/stash-dir/ArticleServiceImpl$ArticleServiceImplBuilder.class.uniqueId3 rename to build/tmp/compileJava/compileTransaction/stash-dir/ArticleServiceImpl$ArticleServiceImplBuilder.class.uniqueId5 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ArticleServiceImpl.class.uniqueId2 b/build/tmp/compileJava/compileTransaction/stash-dir/ArticleServiceImpl.class.uniqueId11 similarity index 52% rename from build/tmp/compileJava/compileTransaction/stash-dir/ArticleServiceImpl.class.uniqueId2 rename to build/tmp/compileJava/compileTransaction/stash-dir/ArticleServiceImpl.class.uniqueId11 index 176664dc67e0bd6da7c346eefa2b99ad9b4f5b1b..5ed3bfa13d02da5cc1311a48e56bcde4f78aef41 100644 GIT binary patch delta 6382 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 P>I_b;i`Gr+0iOQ?Yd0-9 delta 5333 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 Vt$3mZw^=MDfn7`1+*%sA{tM)DJeU9g diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ArticleTag$ArticleTagBuilder.class.uniqueId4 b/build/tmp/compileJava/compileTransaction/stash-dir/ArticleTag$ArticleTagBuilder.class.uniqueId4 new file mode 100644 index 0000000000000000000000000000000000000000..3c791254f6f632396a1ae7b1c06cdb1f2c2dae33 GIT binary patch literal 2365 zcmcgu>rN9v6#k|_TWYnX+{7y?YFm)?ek-WZL?Nk{2x5#s%(R`9q1zp@JH?RrAU=jB z7!yr=03XVD#$9P)8?q$EAG>quIp6o4vuDoq=dW)+0L9O1sJac$LAi%ZAiu9h`h zSi;d#Z(9rga+NoxI@86rwCloUh{-zfRyxELMW}fDb_830=KSf=kuV`1&7iBp4vP}ii63fn(^kmf*3yz~S*OC-6 z$W){wp0!(5;jVIWG}fxd?KSR7vko@<^|~aa@}aWV zvn+}FRVZ17e}bERD)hRlzu+!!2`yX_tn$&2O=bKW5ne>b-3p5)uyYW?C!JC{P&J31 z;YR+@QIL01E5DQ&MhKwOFm?+pwW8W?O+1#SLNXmOv&NPHo(WGcDUX_3c2OzqX_s&M zU&G79aXp0_xS7B$bB=B^Om!Hfv!$BC@`?PT^_bVRa<>^icGpQ@=z}hCr)~>xs-jf0 zy;%w??%LVoxVpV5dYHfMviG|)RYOQ*ncMb?)S{HcU51-oS?ElI=9`!Gc{VetdBY6c zZ`1Rvz>r=xJ-uvm&l6OjLm}4$<`^!9$a@8z09_tu4mPE0#?KPYQR9zMH|wJ}-7z3n zTE%HROJmI32%$Y{^!xVWWJ?zs*-z5UqFJr@H4pF3;$?jd_N}vzFF+m zKa6}Y{GrJBetrY|;ShcSMGAS6!h1j&G!5*XWpkV z6X4E~euJCq#{7m8z(J_F9;gGjLO3zZ?#Yq$XKxf&X-pE+HG1ygo?#^0BwgzFsZL7t Jhv^|Eegku5Ru}*P literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ArticleTag.class.uniqueId13 b/build/tmp/compileJava/compileTransaction/stash-dir/ArticleTag.class.uniqueId13 new file mode 100644 index 0000000000000000000000000000000000000000..9b4c6c041e08b62edbe03aac408d4200ed4c82ac GIT binary patch literal 2038 zcmb7FYi|=r6g^{a?8I@%gAhoe1xkR#geMNjEs&mHsE%M5BU$9~ z7)4&dKcFXplx_%2lwZo%(hsC*`sL6xmmTe)JjO9WH&!+U3gv;Q8GUR#mB(RB3uKcd z1(pUQNK#+UVFq3nM;Tl?{~)RkXqEDOx_z4}|RFVd<;RR$eJ*l=W>-rU~Dg8nMouVRbRU#shtQst?@iM~Eo z!l2VKWfF~7EN_CJZWUf zyzbM=sd5muYT=gurA4j|O=U}ra*DBaCnKI(J}ifI8B}FkJO0FpXE!wm@}hH^asw+2(LszBNqX zN!V%E)qU-{G@gLTzT`^&qbXmF7a7Ap-gorkcDUkn=>$gCRbE%G)|sWgGMmIDK5=OgfXn!e=eI<^<4PZ*v0kDh`x0HnAAN`>dx>WEA@bZ;={ur# zIPyo9S zrsFQBah>v5nt+M;>M+l*YwY0$0V(_$kJdP)W$HKC6VB5u+@|8iJ-kE7eVO^mz+H@d E2EhI1JOBUy literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ArticleTagRepository.class.uniqueId8 b/build/tmp/compileJava/compileTransaction/stash-dir/ArticleTagRepository.class.uniqueId8 new file mode 100644 index 0000000000000000000000000000000000000000..2d6591d8f08d76a57c5542b5952f060f4e28f8c6 GIT binary patch literal 2586 zcmdT`OLG!I5bhxl@-*=gBR)rbfn~9kgO`w4l7y%!2oXpuORKC2OmO3}i?g#yQRT(E zKg64N5B>oEg8#*`XLs2J5-cDG%flAT^h{58&-Z=PKYxG!0RXG;FbWX@s}-xR9qXpa z#k&fVTGgsE-PD+ndd1+H;0?>xr6rnL#+xd$S}~Z6!YG0HLw3Y8gPAq0uz$!aG794a z9$TWO*$ttawFANG{MZs7v?`NKJ8ZCazgrC!IwUYxJeTjS>JC#!OD=2zQ9maFvj@6aZ9CxUpaPT28lRn!sd9ubE6bf)lXM z=x$}8bn!mYPgDe6QaB{A(q{x}Z}Ma^BT_lB&fsLY6c$wqAj8kqlSWSkXa#)cKxn>zH-MG%d-bZkfmlt#<{wSo+f8 zqKTy#J7R`|Ab(rR=CbQ$$|T(^7V%7t%V)@~(6`5|c&8i$FJy-TSxFwX@cf@KxO!HGUwi2y40nk z2NZT~ zfogE3VFn^?Q!tCx2%JOH9L$HN^EmC9E}-cmTtdgn(PRXaX(2FQhDH28jptm!FJ{A4 zTz?I&`|D>%;0D?|_uTB>a|`!SxDBJN$l`(jJKbyV!aX$3s9f)RC&n>sFV+W;KwAWo Fe*o>#Jq!Q< literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Scrap$ScrapBuilder.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/Scrap$ScrapBuilder.class.uniqueId3 new file mode 100644 index 0000000000000000000000000000000000000000..d83ef36aedb8b06cbdc59c4f87a2aebe17f2011f GIT binary patch literal 2285 zcmcgtTTc@~6#k|_TWXbB!26{tXv=NAqZYi-L?NkYEWsEb%(R`r!0ry&onm8=tVeAwBU+3$Sk%y-V5{r=<2Hvsc^m_Y)4DfDMCfFwh1gKu-o z=I)yHtiB-{njtwSU8(Og^c731gGggAg-jNQkY%{lP>%Ihx~}lvG`O~!%Hh(r{D#N3 zEa7UYcdVLOjJ3ywmb9C~V@Sv*`Ksb%awl(5Y&)kKp?+Cr{hx zHbXv(VT>@OxTj^q77Q~n6d~Xj$D;sWPT?3sG1_bI$ubzl38UUg2B*0HNHLxxgO9<+ zL|IzRQwC3GaRz4@jyrr)RFq3ecq#Qd&3w&W?K8alpD}eDzotD&Ib}HgqD6(^h$VMh z`m%0|N3N?h*OFpn$X9LU)YYc-L{JfNEt+J~Ur|lU+fY@yV!37NV1<*RL8}J0SGgz6 zI^68n>ynseWAy7ySywTVyQLn9O8?B2dn)w0YCh*4cZ3!m1ty9yY>`#)@2=P4{KQpI zOjv&xY@lu~GTqJM!J{Re(^>^p!7xIWd$<30tz>GdBim)+>qX^L zL&_~ErF~6ZCD7U*O5%D3H*hnBTjoC8W*FNem+rRO6jtCPxFU~vLo08G;eBW3LtsF< z$lazb{IRN1o2{*KZ?GLZU4|<=TOtDfx&t3{)^eu;Aw`ATc1>zgPU8;4bRa-`3|nVW zHs{$?A*dWP3v)ZqN(|X0(}*iJ_kBTim+dr6VUA(EN0q36#vl!^9TBd{KGx`B}~wf3v|5uq@dApiC+8>5mZ zfz14297%2bG)UyWuS}-11OJgVR^0!$BOMM^(tv>1#1y6lrf+Jav)cmI)@r|w8PscN zG%<^&Kxj{9h+3(6fg9Qq|)D4NvhLKnLzoS;fBCU;n8=BO2|wN`!XCU!e-LU+Peowcrae? zVBdLk?%vz!b$X8l&K1Vkio;Q4$n6;!u^2N>?I%`%^MwxE(j4^S2gb5b{j9QJuMBzL z9_D#?-OV4F!-Yc1?_+IV#$IZ%;$A0xL)PMZXC$4FB5I~^B`Wf zr`ZYZW2et3bw(NYFI%V@%3uqDw}`+TLg zRkjxoAIgN?nDI5?6&}T-BvALYRjJ`7&$_L4Sx4Vmv7;6h6cXJ{n^#^C{=i|6)GIH0o$!mDn~TSzh~_`4i&t3sisQUf>Gza)?@c?GSVAtA{u-$=h_i?J+(t z89npvusf^2RcpzqT*X)1&s7Ona7QP(zFA`rHwdWUYu8%y+-=alNln;Kw{V+==QR9= NJNxD3#Ks-e{{>^a)rkNA literal 0 HcmV?d00001 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ScrapRepository.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/ScrapRepository.class.uniqueId1 deleted file mode 100644 index c9a4d954d9aab846a4d6fa35a2ab3866a895d79d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1534 zcmc&!&2G~`5S|T9)09FB6lnPoKGI889N>T{QUa-Hm5}0~R#ZZ0V{gm`d)Hd8TXNyX zTkr%t0tX&|heC{h+NM>E$N@O4*0Y}dX6Bo3=f}@)-vM9~?$)3};E}6BdL*Re`kl)R z^;F1&q_L}6L^Y38ER51)+D{Lh6T1d;1Xf1ukkNoipY{eL?wT6R6L_e!Pvb}n=?^sv z`H|8esK*SWqlisH?nLYqkigPVNUt^S@^HX4flv24(^CsG2g;=pW=wN;yHgspC}@}Y zoDBkQZ~T#~jn#Fzd9S=(mKI^SjtR`?u?Z|h1ss8TU-*)lL~{aP|7*@qN(jq)S@4zh z(SC~ctvd-)81g+43nZo~r83M2C9zOiPSUw1zDl?rBU<&41qo7c&~JCz&t6-xYi&8b zu9d}0t)1TXOWYew8{r1rVy?CSqV2TPvz%6I(|TNd^_=Hz$7;PnuZF8RGu&$$0&D!E zh)sMflBV>UIU0etvr#`?T19Th+A6^9jROL;;va!~sZO)9w&hSw%O(1oxpcBemlzSy zUX-?r1xWvwe;jf~tu1>zz&F$ypY-cNS;A#K*dy>cuYF?R{N~-C)9IOEGehti*5y{jb6`G$#C45r@EaxPdp$9v3h-@%I|67q_aIScaa*xCOT}>&`EH_44rm diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ScrapRepository.class.uniqueId9 b/build/tmp/compileJava/compileTransaction/stash-dir/ScrapRepository.class.uniqueId9 new file mode 100644 index 0000000000000000000000000000000000000000..03c07fe731d618ac371c0d059537991a2c230eb1 GIT binary patch literal 1539 zcmc&!&2AGh5FUr7X-c6j6lnPod!(0GJ-~rbq@>-7RtYH^)Cwe2IlIo{uxqcp-j-ar z@fJJ*kHCQk;Gqz+KW)=0LF51&Ebn;7-+VLkd4Bx-_8kB=;XwsT1fIAmq$fg3u8&-1 zsHZ|EB#m9oBC2_$VqugX(r$X-oY@taA+R)H$BYI{`n1y#d1Fi-h)> z&si_v_4Pk;tz&j=Zr&?zpQT9{u44kTd29l6Q2|Gw+7-TJCefV0*Z<1-*@S}Sy)5dL z^|AgO^ILNgEMdqGL@cl{4JnmjMktAi(#b`-)WlZ_*F!`rAG09A5*&5ymc8}bid}2R z>9nmZUTW=ic38Sd*T^9Wyqm86dxN~JzP9;)iB?^N#aHA;o}<8F86X1|&FW_R}9{r&bY0PCn1ki(FJ;UY$m zXP7wRC*1Y8I&gPdN1|;Q@@rB_v%xS_uI!It6k`qwMSO%JL$j@Y_cy7O2%fjOaXZ@Q zQn_I}5Zre=M!U`av>`+D$moSg+7)3}t5BQ~H+$0Sh=9RqYh{EY-=)TBJWUfwbx^et zTrOf96AWX$ZigGusgdbiWNM@@+=gy*?-703BdNclRKygf84A8sJtM-}fu>{==nYNS z4rUqF&y`aFGx*q&ImfV3PB@6e|Ia8Bru|qd`z5N-)grFpQ-&)(KNfYZh~%H8Iiy)= zxH2Kb&bgce2OX6w2rH|bwf~s!WuQCkRbw@Ca zH>48VJ-;P_Jx&X)wJpUy52Tf2<*+%Fg!EJ6Tuf*09tuWgFjBc7UlTtFbErE%@__ro zh=9`S#_ltA;zdPqkjyyRJr|VkNXs5lhFbZYxlo-(jgIyl!!*GSoOC*^P2CIH;<4;+ zrBo|fwdRDeEkg5DhsME|46FZdLs19V)Y^n5;N7T>;dmbR3iulL9eiVt-UEh()4-%U z(Z|A#qK;1EW8OA8c){>8S%cUx0)5I=#}nZ~L+j&Sw>p?;LX%p!_o6E@%%3Ifqb6NV zvKK?tx#u;d5!F$A$M8#6(h@#dW$La@0A8=uLMNXemi~8b7BoXD^Nc z9bFA)ba}F+3z6*SY39;bW;IK1!2X~~j@(3`Kmj*sZXMYrH?crt(j}uX7Ac&0(pPDv z4bE9weoe36X*vis8=1sVWE|&li>ya1+Qb?BaooaA G%>4u7&uvuz diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ScreamListDto$ScreamResponse.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/ScreamListDto$ScreamResponse.class.uniqueId3 deleted file mode 100644 index 72fe9a579625952d59be0f501d3389d170dfb9f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1666 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 IBiqP)10GfCAOHXW diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ScreamRepository.class.uniqueId2 b/build/tmp/compileJava/compileTransaction/stash-dir/ScreamRepository.class.uniqueId2 deleted file mode 100644 index 26861f279c3e681607aa985ed94d1a8956ae188c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1044 zcmb_b&2AGh5FUrNX;Oa5Pbs~vIDwFAaX>;1ASKb10G`9WI@B0EjdjjPQYkbaV&QnAb0HPC zu|bh@gN3%zX*1@%$`V}|>afOOdnnEY&xA^O_iTuwhUTwz$so}WW*XN07_n#3rsF^s#sCJM?Uwcbm;N2fq@PX`Pe7s*jPsar|= z(%a25Ol>thEnTthHDw^nj(FvHN^>nKC&Nh5QEpk)?AL;-$F-tN_Uk=KNbh=U(^cTET|h*>Tu6-b6}%Up^c$h~RP`9YsQre~==v$=B$K;Jp2Rah^EQNrm^#Y9Op{EAqWrVL|k4`<$l5YC1O^qLCjy{1=` z(t-AQJ>(n=$B|7Shgl1ArVAf3WKI%Euc>PEMvuEDY|K?&318mVYzw2vF$7)XUeysn zrl?e{QO~!yMeWyOITg5lP!}ECKeqUXgD2mrMg&pdj#H9at=8j93BLM3Odm(+QL(YnKsEfDPduO;Z|=~8mXadn5JnOqv614rFlyG7~SHu zkJH{yKN`yP-vpg(vNB_tJp}tshZrVlHO?T1>$DmG6EcMxw6{Vrg1?ErW1u`mnxxk3 z+)rA*(XkzBEOd#W$T{M7%Oo&p=`;AZafd<-(M8H*cqD%z^cH}#a zyAj?3p&7h{!8!sB(_Uza4rl|oNAWRaPH~<&wxw{N_Cd<AV4SyFh6Aw0n| HJjdied>Qn2 diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ScreamServiceImpl.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/ScreamServiceImpl.class.uniqueId1 deleted file mode 100644 index e4d340743560886d86925512e99a029ca779b8eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5766 zcmcIo`+pQy760C3lgVy|mIer{XiF`HykJuVidhH^q+l=!l%=5{+D>*S$&lTd?aXY_ zXl=EMwe>-*RK;g~*0;2lkThEBTkHGn-{KF}@12=_Z`Pon16;1@XrVu(5N7!q6y6cyOUNXHfxxsZr`8O+*r!WXoeYclD4j8Vky^(CA{HbzPtLM zYi&KLKPb@RT6deS;m!%{?C2b>%S87!27KaSv>>b?qM{Y5z}~u~j&9EwNj;!V_-{j* zY+7KgFXBl(YdMB%*_5QOz8rR8YrwBa8*jx8xKY7c6*r+xU|(IS>M#-rIogaau&rbG zyf&l7(waFLJ3fA1PrC8W>L~^51-j~EKmVm9d1;m3*8EORP4Y`f$f$(8FR9>VNOoiT1KC>?CIE) z>t)I)0!37Slb#Ni@hrD^bDxE z30Je-;}e70To`XgpMtoG{Wws~Tbhx)M+WW_*idPwz{b5esNyaR(8ikU6Z8i97KQZo z27XnXEqICyxx*?3akoHp!Z1?<>GYwwf}0)E-C12X1qQ1a7g$tES6B#6&ACQ8Hf%U< zT*1-2rrzX$ZEJIKC4wUulKy&(I(JC#8^(x&Q3*Ufe`5{crCzN#fqN93RFS|bfg8MS zh2xkX4Oh1{rX_*)ynVdopGl&$~3uMDPGK1>-7`kg;7bl)~%knXF|qyiNs!cnQSS zi>1cR^QPZDfC&|om|{G-)`(%|T%GYq6^=!49@7faDl(uHD@|n5P_p#+2`nFOQj46C zPU!^sG=ZoH?d2+2ZDtj`5BZF#%sOOMJP4iJVYrnz{(iVOGvt(oy1b70aEm@GxoD^RN?zKaj4cmhwd_Il1M zF!2AnE>p<~d|1Ut@KHvYmSW6rDAgxl`_3wOO5ou2I;F1J$tgeb9EM&57xA=Am>-uI z`{|*O_~M;o3Z4--UiXk?ySg9~3A%*H1v}SZNw5Ylzv}t+cW;cOSM=tgtr@8>T**%Z%&xDQ!H>nKmzi#x&cI@4;lq zoidm`_tlqcSxDn_30rpTd+Rf()ituyCwa3YA+`H7l@Gkn*Vm5lRLNGav13gxM|v)sM>|s~PaQt{EB7u}aeRqo0V|WepVF@#(cLL4 zbwZOJC0hfk5>6PCrsn2sdc@PK?T%GC)YG@CKQ3in!#c=b&9?vrj+Z8zAbGAl8g2^m z@SrgrW(P4#azY^^%wK*DmOV5>5%z*rEXAYJStdF^8SiET4k1U*D4P+X_I@dk3li6 z3PQ>F%;Yuo?aWVxSjD&KQot zG&^9Lmg{xJG;iB*+RBVu)3KvEFGS?`E=l+$SGTg%xej1Gq+2GeoSoE<7&6DV`(aa3 z;&#enMt==B!N6qTuFkk4F%j6Xc*iqQlQQdJzbXirXk2)kTb`GaC$I%@He-P-c zt4h%?3OS4Q!@KcOOLLckzwqK`g{%S>W4Gq(o_8_^a`{A1>=|W=iVzXlRE1lxo1I7t z8v}t)^RG=_D)F8x#PMhGIW*$)eES~XoB6z>dmdt>>qRI%i&)cuSFmn$2^-Grn8!x` zZN7$E`a;pr0&eSTiZ(5v^9qR?@df^G=WQ8q3;%E77r|}3qS%UV+>U2C+wU{S7x5*& z@fds=U!ed^=)qU6yo#(ViEuZyx=9A*tMsXlN0K8qwFZgd=CJ;Vpg5 z3wUdv5^Y+4Ih(?iCutO$iwXj@6$ldLc}7>dz3cBh+r=| ziPBE&!U#XJ&tW&eRQF&Sd*SfDVh;Q8Fy|iQJ;epY@f7bVo+Xzoje8E;@O`|92r2h? z=!PW_1?(@A;wr%k;Tg>18lel5egTVwt__dlC5}RrU=B<80g>(`*B^4!OlhVm%Ocn$ zljddoh;Ah<(@q}#{#Oe7f6Vz~`U%JdZ!)uY9^3{f*CyeE&P2mk8!R5dIHOtmB6O diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin index 5d3c643bb1e062fa755c1d577ea85f9f92923705..1c708f18a7c3ca4942e2647bef8abce645abd692 100644 GIT binary patch delta 155 zcmV;M0A&B{*ah?01+dNm5I=QOZ-i}^?<^0#^xx{Im$TjhJq-{On8FKUa}h36jVPRz5}z+7nTYH13J(Ivuq-#0t5s)&;)}SCAS$R0WL?EQEUMs3e*Py0+a&l0RRB` CKR96k diff --git a/src/main/java/com/winner_cat/domain/article/entity/Article.java b/src/main/java/com/winner_cat/domain/article/entity/Article.java index e8a1012..4a36caf 100644 --- a/src/main/java/com/winner_cat/domain/article/entity/Article.java +++ b/src/main/java/com/winner_cat/domain/article/entity/Article.java @@ -1,6 +1,7 @@ package com.winner_cat.domain.article.entity; import com.winner_cat.domain.member.entity.Member; +import com.winner_cat.domain.scrap.entity.Scrap; import com.winner_cat.global.entity.BaseEntity; import com.winner_cat.global.enums.statuscode.ErrorStatus; import com.winner_cat.global.exception.GeneralException; @@ -32,6 +33,9 @@ public class Article extends BaseEntity { @OneToMany(mappedBy = "article") private List tags = new ArrayList<>(); + @OneToMany(mappedBy = "article") + private List scrapList = new ArrayList<>(); + public void changeTags(ArrayList articleTag) { this.tags = articleTag; } diff --git a/src/main/java/com/winner_cat/domain/article/repository/ArticleTagRepository.java b/src/main/java/com/winner_cat/domain/article/repository/ArticleTagRepository.java index ad64bc4..9a2e950 100644 --- a/src/main/java/com/winner_cat/domain/article/repository/ArticleTagRepository.java +++ b/src/main/java/com/winner_cat/domain/article/repository/ArticleTagRepository.java @@ -26,4 +26,8 @@ public interface ArticleTagRepository extends JpaRepository { // 태그 이름으로 묶어서 내림차순 추출 @Query("SELECT at.tag.tagName, COUNT(at) FROM ArticleTag at WHERE at.article IN :articles GROUP BY at.tag.tagName ORDER BY COUNT(at) DESC") List findTopTagsByArticles(@Param("articles") List

articles); + + // 회원이 스크랩한 게시글 중 특정 태그에 해당하는 게시글 페이징 조회 + @Query("SELECT at FROM ArticleTag at JOIN at.article a JOIN a.scrapList sc WHERE sc.member = :member and at.tag = :tag ORDER BY a.createdAt DESC") + Page findScrapArticleTagPageByTag(Member member, Tag tag, Pageable pageable); } diff --git a/src/main/java/com/winner_cat/domain/scrap/repository/ScrapRepository.java b/src/main/java/com/winner_cat/domain/scrap/repository/ScrapRepository.java index 73c5339..f8eb663 100644 --- a/src/main/java/com/winner_cat/domain/scrap/repository/ScrapRepository.java +++ b/src/main/java/com/winner_cat/domain/scrap/repository/ScrapRepository.java @@ -12,7 +12,6 @@ public interface ScrapRepository extends JpaRepository { - @Query("SELECT sc FROM Scrap sc JOIN sc.article ac WHERE sc.member = :member ORDER BY ac.createdAt DESC") Page findByMember(Member member, Pageable pageable); // 회원이 게시글을 스크랩했는지 유무 diff --git a/src/main/java/com/winner_cat/domain/scrap/service/ScrapService.java b/src/main/java/com/winner_cat/domain/scrap/service/ScrapService.java index de77c91..0a62ded 100644 --- a/src/main/java/com/winner_cat/domain/scrap/service/ScrapService.java +++ b/src/main/java/com/winner_cat/domain/scrap/service/ScrapService.java @@ -1,10 +1,13 @@ package com.winner_cat.domain.scrap.service; +import com.winner_cat.domain.article.dto.ArticlePreviewDto; import com.winner_cat.domain.article.dto.TagResponseDto; import com.winner_cat.domain.article.entity.Article; import com.winner_cat.domain.article.entity.ArticleTag; import com.winner_cat.domain.article.entity.Tag; import com.winner_cat.domain.article.repository.ArticleRepository; +import com.winner_cat.domain.article.repository.ArticleTagRepository; +import com.winner_cat.domain.article.repository.TagRepository; import com.winner_cat.domain.member.entity.Member; import com.winner_cat.domain.member.repository.MemberRepository; import com.winner_cat.domain.scrap.dto.ScrapDto; @@ -22,6 +25,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Service @Transactional @@ -30,6 +34,8 @@ public class ScrapService { private final ScrapRepository scrapRepository; private final MemberRepository memberRepository; private final ArticleRepository articleRepository; + private final TagRepository tagRepository; + private final ArticleTagRepository articleTagRepository; public ResponseEntity scrapArticle(String email, Long articleId) { // 1. 회원 조회 @@ -92,6 +98,47 @@ public ResponseEntity getAllMyScrapArticles(String email, Pageable pageable) return ResponseEntity.ok().body(ApiResponse.onSuccess(result)); } + /** + * 태그로 내가 스크랩한 게시글 조회(미리보기) + */ + public ResponseEntity getAllMyScrapArticlesByTag(String email, String tagName, Pageable pageable) { + // 1. 사용자 정보 얻어오기 + Member member = memberRepository.findMemberByEmail(email) + .orElseThrow(() -> new GeneralException(ErrorStatus.MEMBER_NOT_FOUND)); + // 2. 태그 정보 얻어오기 + Tag tag = tagRepository.findByTagName(tagName) + .orElseThrow(() -> new GeneralException(ErrorStatus.TAG_NOT_FOUND)); + // 3. 해당 회원이 스크랩한 태그 정보 조회 + Page scrapArticleTagPageByTag = articleTagRepository.findScrapArticleTagPageByTag(member, tag, pageable); + int totalPages = scrapArticleTagPageByTag.getTotalPages(); + List articlePreviewList = new ArrayList<>(); + for (ArticleTag articleTag : scrapArticleTagPageByTag.getContent()) { + Article article = articleTag.getArticle(); + // 관련 태그들 얻어오기 + List tagResponseDtoList = article.getTags().stream() + .map(at -> TagResponseDto.builder() + .tagName(at.getTag().getTagName()) + .colorCode(at.getTag().getColorCode()) + .build()) + .collect(Collectors.toList()); + + ArticlePreviewDto.AllArticlePreview result = ArticlePreviewDto.AllArticlePreview + .builder() + .articleId(article.getId()) + .title(article.getTitle()) + .tagList(tagResponseDtoList) + .build(); + articlePreviewList.add(result); + } + + // 4. DTO 생성 및 반환 + ArticlePreviewDto.AllArticlePreviewResponse result = ArticlePreviewDto.AllArticlePreviewResponse.builder() + .totalPages(totalPages) + .articlePreviewList(articlePreviewList) + .build(); + return ResponseEntity.ok(ApiResponse.onSuccess(result)); + } + /** * 스크랩 취소 */