From 17211f526e6350407c6e5d3af0eb9907b342ce3b Mon Sep 17 00:00:00 2001
From: YunjiChoi <yyy0304@ajou.ac.kr>
Date: Mon, 17 Jul 2023 16:34:15 +0900
Subject: [PATCH] post_likes

---
 .../myweb/controller/MyWebController.java     |  16 +++++++++
 .../myweb/dto/FavoriteMusicRequestDto.java    |  33 ++++++++++++++++++
 .../com/ajou/prcoding/myweb/postSong.json     |  22 ++++++++++++
 .../myweb/controller/MyWebController.class    | Bin 2946 -> 3703 bytes
 .../myweb/dto/FavoriteMusicRequestDto.class   | Bin 0 -> 2878 bytes
 .../com/ajou/prcoding/myweb/postSong.json     |  22 ++++++++++++
 6 files changed, 93 insertions(+)
 create mode 100644 src/main/java/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.java
 create mode 100644 src/main/java/com/ajou/prcoding/myweb/postSong.json
 create mode 100644 target/classes/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.class
 create mode 100644 target/classes/com/ajou/prcoding/myweb/postSong.json

diff --git a/src/main/java/com/ajou/prcoding/myweb/controller/MyWebController.java b/src/main/java/com/ajou/prcoding/myweb/controller/MyWebController.java
index 38f70a0..cee1995 100644
--- a/src/main/java/com/ajou/prcoding/myweb/controller/MyWebController.java
+++ b/src/main/java/com/ajou/prcoding/myweb/controller/MyWebController.java
@@ -6,15 +6,20 @@ import java.util.List;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.client.RestTemplate;
 
+import com.ajou.prcoding.myweb.dto.FavoriteMusicRequestDto;
 import com.ajou.prcoding.myweb.dto.MusicList;
 import com.ajou.prcoding.myweb.entity.FavoriteMusic;
 import com.ajou.prcoding.myweb.repository.FavoriteRepository;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
+import jakarta.transaction.Transactional;
+
 @RestController
 
 public class MyWebController {
@@ -77,4 +82,15 @@ public class MyWebController {
 
     }
 
+    @PostMapping(value = "/likes")
+    @Transactional
+    public int postLikes(@RequestBody FavoriteMusicRequestDto favorite) {
+        FavoriteMusic music = albumsRepo.save(favorite.toEntity());
+        if (music != null) {
+            return 1;
+        } else {
+            return 0;
+        }
+    }
+
 }
\ No newline at end of file
diff --git a/src/main/java/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.java b/src/main/java/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.java
new file mode 100644
index 0000000..109a04c
--- /dev/null
+++ b/src/main/java/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.java
@@ -0,0 +1,33 @@
+package com.ajou.prcoding.myweb.dto;
+
+import com.ajou.prcoding.myweb.entity.FavoriteMusic;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+@ToString
+public class FavoriteMusicRequestDto {
+    private String collectionId;
+    private String collectionViewUrl;
+    private String collectionType;
+    private String collectionName;
+    private String artistId;
+    private String artistName;
+    private String artistViewUrl;
+
+    public FavoriteMusic toEntity() {
+        FavoriteMusic music = new FavoriteMusic();
+        music.setCollectionId(this.collectionId);
+        music.setCollectionType(this.collectionType);
+        music.setArtistId(this.artistId);
+        music.setArtistName(this.artistName);
+        music.setArtistViewUrl(this.artistViewUrl);
+        music.setCollectionViewUrl(this.collectionViewUrl);
+        music.setCollectionName(this.collectionName);
+
+        return music;
+    }
+}
diff --git a/src/main/java/com/ajou/prcoding/myweb/postSong.json b/src/main/java/com/ajou/prcoding/myweb/postSong.json
new file mode 100644
index 0000000..936a55b
--- /dev/null
+++ b/src/main/java/com/ajou/prcoding/myweb/postSong.json
@@ -0,0 +1,22 @@
+{
+    "wrapperType": "collection",
+    "collectionType": "Album",
+    "artistId": 994656,
+    "collectionId": 580708175,
+    "amgArtistId": 4739,
+    "artistName": "Led Zeppelin",
+    "collectionName": "Led Zeppelin IV (Remastered)",
+    "collectionCensoredName": "Led Zeppelin IV (Remastered)",
+    "artistViewUrl": "https://music.apple.com/us/artist/led-zeppelin/994656?uo=4",
+    "collectionViewUrl": "https://music.apple.com/us/album/led-zeppelin-iv-remastered/580708175?uo=4",
+    "artworkUrl60": "https://is1-ssl.mzstatic.com/image/thumb/Music115/v4/5c/15/9b/5c159b27-95ca-b9a7-84e3-28e795fffd39/dj.kvkrpptq.jpg/60x60bb.jpg",
+    "artworkUrl100": "https://is1-ssl.mzstatic.com/image/thumb/Music115/v4/5c/15/9b/5c159b27-95ca-b9a7-84e3-28e795fffd39/dj.kvkrpptq.jpg/100x100bb.jpg",
+    "collectionPrice": 9.99,
+    "collectionExplicitness": "notExplicit",
+    "trackCount": 8,
+    "copyright": "℗ 1971 Atlantic Recording Corporation, a Warner Music Group Company. Marketed by Rhino Entertainment Company, a Warner Music Group Company.",
+    "country": "USA",
+    "currency": "USD",
+    "releaseDate": "1971-11-08T08:00:00Z",
+    "primaryGenreName": "Rock"
+}
\ No newline at end of file
diff --git a/target/classes/com/ajou/prcoding/myweb/controller/MyWebController.class b/target/classes/com/ajou/prcoding/myweb/controller/MyWebController.class
index 2aad2580c210ad7e8370097ed95393f87ad37fef..0ce323eed2fff8368778f59501a5d27a23511a9e 100644
GIT binary patch
delta 646
zcmZn?|1QII>ff$?3=9mm40Rj1R<rYS7UUO~_+)0M7BezfX!uMNkeI~ABI}k|mS2=v
zlImMpoS7VyT3DJ|T;fuaZ>{Oc$Y4780;8sBKz?zFZ(>0~W?s5ABZIO}R$_KyQAwhH
zNl{{6abj{wW`3T22!frMV-3|gc`h5ffKz@-r8O5r4nrP0LoOqOF~nM39M<wM<TDg7
zGH{gSyXKW-mQ*q_7-(pMoI06>T~w5tA&#MlhoP9Egpq-zII%31kwHykvNy9jOBo}B
z&O`x;$t>(5{EQ47X;4owGMIuiPhw+H!C|2_BLizL$m@&@dLX4BdnRvYuVZALY{a3(
zC^<QnW2L4d0|$c&12=;zgCK(ng9L*bgCc`EgC2thgC&C|gAIcggDrzLgFA!HW_?a>
zMonV|4hAy@ZU%D(K?XAh2?h%WMFvX-Jq9ZVO9pEO8wMK&TLxPOcLux3`kdvHZ*j%)
zdNOb^cr$P__%etx_)m7>)~sh_NMlH6U}0cqU|<kpU}DH%U}O-DW?(F4h+@cOU|<ku
zU|?WpWME{-Vqjq4W?*0_WME=oW?*2D)Y`%jt-XyQdnZF76T<<9QeT~846H0`nAb2c
zFfcRlfz4xKU|@(~5M+pC5M_vB5NC*C;Adc9P=FY~AiyB#$^ZhA4CM?J42%qd3>*xV
x3{?zF41o*`3>*xMe;CBs8A=&~7#J8>85znM7#Nrss=;Ip*u`uNj10953;=nWgx~-G

delta 185
zcmew^(<Cl%>ff$?3=9mm44Lc<OpFXhlLI*=CMPgTZFDMTpZuG%hLL4*1(z11$mGRb
zD>Y>pI2hy^xET}}1R3NRBp4JK6d9Bl^ca*GEE!Z7Y#3A-Y#G!T+!@p-ujDD8{Dymq
zrXB+agCPSqgAs!ugCT<igE505g9(EkgDHb0gBgPjgE@mOg9U>-gXQFvJXd&K7`PbR
n7`Pcc7(^MoCU@~_iZU^zF)%PNF{CrFGcYi)F)%V@FfafBw~`;b

diff --git a/target/classes/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.class b/target/classes/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.class
new file mode 100644
index 0000000000000000000000000000000000000000..ab526b30891ffc0605aac480f2636ee12c8eb554
GIT binary patch
literal 2878
zcmX^0Z`VEs1_oP(Qg#L=Mh4^L{9OISto%~_f}-U7l+3(z{oKm()Fl0sl6-x)#IpRN
z%#u{!(&EhIpwz<B)Z!ACl6-as7Dfhvti-ZJ{hY+SbbbG%tkmQZMh2eb{G6QB<dV$%
zJkJzH1|c7WlHih}%)E4KMg~EIny}2&^3b9jMg~5FSV(0-DvE$#Vs0uU14m*}NoH{g
z$W$%}6C%zF;lNE|v&qcMEU{x`VAjwKV`N})&QD3@Vqj(v<YC}t;A3Rq_sPsl^()Oy
zN-YXWOv*_GIWj*vF()jsC=<ko3bK@BWEL|rnEH?rIM$2|93}a#c_o=8m5dAq8k#r_
zNd>Dx4P<L}21!N+9bEQe)566d!63-Vz{nuO!@$bG2I9)`Fvv3~Ff#BLr<ORQ#EGZ|
zW~69_fpjbJFmOP0tMD+Wf^-X_=my0MNS!(l0~bV{CJ%!aNF8@^YKbE>en2X8co?`L
zD)e|5^g$|k;VMAU22x|l!@vVkW6Z-~0#YLYR|AbrkTNqK26l)t3myhbkTMYzM<FS-
z=3(H3D7EEbumdSYbw9{vMh4bgP*P@O&?7BY7#aA}(SuS%LlZMB85u-S6ha-y$RLO!
z3<^wiF^B`X(-DEm$iNHdL1YEse7L~^zNsY{`6&U3MTxnoC8<Tl;PeN{Z|n>{j11!F
zxzMRJGbbgrh=ak8kwFzl7S}*zNzW8pE(ULg08kcE;9_882;yOIWN-qBh43(hGK4WQ
zuq750q~@hCGU#GUUKpVSb$~SoLj)s(h>ilnE~u|;LDod^FgP<faWKR%G6*880fik{
zK^zZ*3rIl%ngUQzffXe2Ft~ygq%bmY>nK2q3b1b&8Pa$d+(1$pj10UmDY(8Y9tL-i
zWDX;P08A3uWqCXd9w7MwMg~SrP&gFvFnBRIF*0xk=a&{Gr@Cc=N){O$L8}Lf4+cdB
zMh0dE1_pKpCQz<rU|?VZC3P^(!N3NlIiWNcl;(!gJYZUofe}=wF)%XlGcYjdGcYnR
zGB7Z(YHeo_*a+4x#K6G71{UOD5N2Rt-~qE)8AKRF85kHC8N?XGp_->LFflMOFfcgn
zW{`;7&LHKZt+j<gdK-f*h*sRjpbVnbwlQdcXzgtbx**zM8-o#uHr>Wx4x+8LG1zEt
zfZMFbz{$YCAjZJKAkHAbAi*HPAjzP>AjP1;AkARFAj4q6Aj{yuAP;t#7{qp{%QzUU
z80;Awz#ejBaDuuK;lV8o(g<rH9^?cYgYH3RteQ=U)9iv(vm$YtU9oDmB2Kd#R?TX}
zX?Dk|87W@y1(*j`%?8BTEYG08zywZ<R?y_crlq}=K^i?Va)ILt66I{rC<i4}R&ZkV
z1f^j{237_E21ZbckIhI^VvS@+Hj*7|q$+k-DiUiXC~q<{KwZfJHqs8ekygYS3CiYh
zBRRoFYGF50jaVZ=B?jC`F0hgM*p1XC)<{s{12>WzY@`WxBMpc(5>$@CjpP9v=><=L
z-3-j&@+xsRgLkBm?{)@%t!)f}+Zcj{!nZL5Yi(nQ1hJzb>{t*x9>Pupv6CU}R1iBI
o!p;P-vmxwU5IcVxL-00+LiE(l4NjksvLq3jJ{cK`!3A3h0Kk;_sQ>@~

literal 0
HcmV?d00001

diff --git a/target/classes/com/ajou/prcoding/myweb/postSong.json b/target/classes/com/ajou/prcoding/myweb/postSong.json
new file mode 100644
index 0000000..936a55b
--- /dev/null
+++ b/target/classes/com/ajou/prcoding/myweb/postSong.json
@@ -0,0 +1,22 @@
+{
+    "wrapperType": "collection",
+    "collectionType": "Album",
+    "artistId": 994656,
+    "collectionId": 580708175,
+    "amgArtistId": 4739,
+    "artistName": "Led Zeppelin",
+    "collectionName": "Led Zeppelin IV (Remastered)",
+    "collectionCensoredName": "Led Zeppelin IV (Remastered)",
+    "artistViewUrl": "https://music.apple.com/us/artist/led-zeppelin/994656?uo=4",
+    "collectionViewUrl": "https://music.apple.com/us/album/led-zeppelin-iv-remastered/580708175?uo=4",
+    "artworkUrl60": "https://is1-ssl.mzstatic.com/image/thumb/Music115/v4/5c/15/9b/5c159b27-95ca-b9a7-84e3-28e795fffd39/dj.kvkrpptq.jpg/60x60bb.jpg",
+    "artworkUrl100": "https://is1-ssl.mzstatic.com/image/thumb/Music115/v4/5c/15/9b/5c159b27-95ca-b9a7-84e3-28e795fffd39/dj.kvkrpptq.jpg/100x100bb.jpg",
+    "collectionPrice": 9.99,
+    "collectionExplicitness": "notExplicit",
+    "trackCount": 8,
+    "copyright": "℗ 1971 Atlantic Recording Corporation, a Warner Music Group Company. Marketed by Rhino Entertainment Company, a Warner Music Group Company.",
+    "country": "USA",
+    "currency": "USD",
+    "releaseDate": "1971-11-08T08:00:00Z",
+    "primaryGenreName": "Rock"
+}
\ No newline at end of file
-- 
GitLab