Skip to content

Commit 11004af

Browse files
committed
Front랑 상의할 부분 제외 간편 로그인 완료 : 비밀번호 처리, code 처리, 프로필 사진 처리 의논 필요
1 parent c222143 commit 11004af

15 files changed

+224
-146
lines changed

build.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ dependencies {
3333
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
3434
implementation 'org.springframework.boot:spring-boot-starter-security:2.6.3'
3535
implementation 'org.springframework.boot:spring-boot-gradle-plugin:1.1.3.RELEASE'
36+
implementation'com.google.code.gson:gson:2.8.7'
37+
implementation 'org.springframework:spring-mock:2.0.8'
3638
}
3739

3840
tasks.named('test') {

settings.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
rootProject.name = 'volume'
1+
rootProject.name = 'volume'

src/main/java/volume/configuration/SecurityConfig.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
99
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
1010
import org.springframework.security.crypto.password.PasswordEncoder;
11+
import volume.service.KakaoService;
1112

1213
@Configuration
1314
@EnableWebSecurity
@@ -25,14 +26,16 @@ public void configure(WebSecurity web) {
2526
web
2627
.ignoring()
2728
.antMatchers(
28-
"/api/**"
29+
"/api/**","/oauth/**"
2930
);
3031
}
3132

3233
@Override
3334
protected void configure(HttpSecurity http) throws Exception {
3435
http.authorizeRequests()
3536
.antMatchers("/api").permitAll()
37+
.antMatchers("/oauth").permitAll()
3638
.anyRequest().authenticated();
39+
3740
}
3841
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package volume.controller;
2+
3+
import lombok.Data;
4+
import lombok.RequiredArgsConstructor;
5+
import org.springframework.web.bind.annotation.GetMapping;
6+
import org.springframework.web.bind.annotation.RequestParam;
7+
import org.springframework.web.bind.annotation.RestController;
8+
import org.springframework.web.multipart.MultipartFile;
9+
import volume.service.KakaoService;
10+
11+
@RestController
12+
@RequiredArgsConstructor
13+
public class KakaoController {
14+
15+
private final KakaoService kakaoService;
16+
17+
//https://kauth.kakao.com/oauth/authorize?client_id=f31b9f81fdf64d528eaafa1878d102c3&redirect_uri=http://localhost:8080/oauth/kakao&response_type=code
18+
@GetMapping("/oauth/kakao")
19+
public KakaoUserDTO kakaoLogin(@RequestParam String code) throws Exception{
20+
String access_Token = kakaoService.getKakaoAccessToken(code);
21+
String userId = kakaoService.createKakaoUser(access_Token);
22+
return new KakaoUserDTO(userId);
23+
}
24+
25+
@Data
26+
static class KakaoUserDTO{
27+
private String id; //userId
28+
29+
public KakaoUserDTO(String id){ this.id = id;};
30+
}
31+
32+
}

src/main/java/volume/api/UserApiController.java renamed to src/main/java/volume/controller/api/UserApiController.java

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1-
package volume.api;
1+
package volume.controller.api;
22

33

4-
import lombok.AllArgsConstructor;
54
import lombok.Data;
65
import lombok.RequiredArgsConstructor;
76
import org.springframework.core.io.Resource;
87
import org.springframework.http.HttpHeaders;
98
import org.springframework.http.MediaType;
109
import org.springframework.http.ResponseEntity;
11-
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
1210
import org.springframework.security.crypto.password.PasswordEncoder;
1311
import org.springframework.web.bind.annotation.*;
1412
import org.springframework.web.multipart.MultipartFile;
@@ -18,7 +16,6 @@
1816
import volume.service.UserService;
1917

2018
import javax.validation.Valid;
21-
import java.io.File;
2219
import java.net.FileNameMap;
2320
import java.net.URLConnection;
2421

@@ -111,6 +108,12 @@ public User getUser(){
111108
}
112109
}
113110

111+
@Data
112+
static class MusicRequest{
113+
private String id; //userId
114+
private MultipartFile musicFile;
115+
}
116+
114117
@Data
115118
static class CreateUserResponse{
116119
private String id;

src/main/java/volume/entity/Album.java

-27
This file was deleted.

src/main/java/volume/entity/Artist.java

-18
This file was deleted.

src/main/java/volume/entity/Comment.java

+4
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,8 @@ public class Comment {
2525
@ManyToOne(fetch = FetchType.LAZY)
2626
@JoinColumn(name = "user_id")
2727
private User user;
28+
29+
@ManyToOne(fetch = FetchType.LAZY)
30+
@JoinColumn(name = "parent_id")
31+
private Comment parent;
2832
}

src/main/java/volume/entity/Music.java

+3-6
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,11 @@ public class Music{
1717
private String musicFilePath;
1818
private Long musicLength;
1919
private Long likeCount;
20+
private Long playCount;
2021

2122
//ManyToOne 쓰면 안된다고 했던거같은데.... 확인하기
2223
@ManyToOne(fetch = FetchType.LAZY)
23-
@JoinColumn(name = "artist_id")
24-
private Artist artist;
25-
26-
@ManyToOne(fetch = FetchType.LAZY)
27-
@JoinColumn(name = "album_id")
28-
private Album album;
24+
@JoinColumn(name = "user_id")
25+
private User user;
2926

3027
}

src/main/java/volume/entity/User.java

+1
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,5 @@ public class User{
2121
private String email;
2222
private String profilePics; //String말고 파일 경로 나타내는 좋은 방법 있는지 보기
2323
private String backgroundPics;
24+
private int age;
2425
}

src/main/java/volume/repository/AlbumRepository.java

-37
This file was deleted.

src/main/java/volume/repository/ArtistRepository.java

-31
This file was deleted.

src/main/java/volume/repository/MusicRepository.java

-10
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import lombok.RequiredArgsConstructor;
44
import org.springframework.stereotype.Repository;
5-
import volume.entity.Album;
6-
import volume.entity.Artist;
75
import volume.entity.Music;
86

97
import javax.persistence.EntityManager;
@@ -30,12 +28,4 @@ public List<Music> findAll(){
3028
public List<Music> findByTitle(String title){
3129
return em.createQuery("select m from Music m where m.title = :title", Music.class).setParameter("title",title).getResultList();
3230
}
33-
34-
public List<Music> findByArtist(Artist artist){
35-
return em.createQuery("select m from Music m where m.artist = :artist", Music.class).setParameter("artist", artist).getResultList();
36-
}
37-
38-
public List<Music> findByAlbum(Album album){
39-
return em.createQuery("select m from Music m where m.album = :album", Music.class).setParameter("album",album).getResultList();
40-
}
4131
}

0 commit comments

Comments
 (0)