Skip to content

Commit 32bb5a6

Browse files
authored
Merge pull request #32 from bariBari23/refactor/directory-revenovate
chore: 디렉토리 구조 변경
2 parents 97ac206 + 86e1e42 commit 32bb5a6

File tree

127 files changed

+1352
-1369
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+1352
-1369
lines changed

src/main/kotlin/store/baribari/demo/MyDataInit.kt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@ package store.baribari.demo
33
import org.springframework.context.annotation.Profile
44
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
55
import org.springframework.stereotype.Component
6+
import store.baribari.demo.common.entity.embed.Day
7+
import store.baribari.demo.common.entity.embed.Position
68
import store.baribari.demo.common.enums.Role
7-
import store.baribari.demo.model.Store
8-
import store.baribari.demo.model.User
9-
import store.baribari.demo.model.cart.Cart
10-
import store.baribari.demo.model.embed.Day
11-
import store.baribari.demo.model.embed.Position
12-
import store.baribari.demo.model.menu.Banchan
13-
import store.baribari.demo.model.menu.BanchanDosirak
14-
import store.baribari.demo.model.menu.Dosirak
15-
import store.baribari.demo.repository.StoreRepository
16-
import store.baribari.demo.repository.UserRepository
17-
import store.baribari.demo.repository.cart.CartRepository
18-
import store.baribari.demo.repository.menu.BanchanDosirakRepository
19-
import store.baribari.demo.repository.menu.BanchanRepository
20-
import store.baribari.demo.repository.menu.DosirakRepository
9+
import store.baribari.demo.domain.cart.domain.Cart
10+
import store.baribari.demo.domain.cart.repository.CartRepository
11+
import store.baribari.demo.domain.menu.entity.Banchan
12+
import store.baribari.demo.domain.menu.entity.BanchanDosirak
13+
import store.baribari.demo.domain.menu.entity.Dosirak
14+
import store.baribari.demo.domain.menu.repository.BanchanDosirakRepository
15+
import store.baribari.demo.domain.menu.repository.BanchanRepository
16+
import store.baribari.demo.domain.menu.repository.DosirakRepository
17+
import store.baribari.demo.domain.store.entity.Store
18+
import store.baribari.demo.domain.store.repository.StoreRepository
19+
import store.baribari.demo.domain.user.entity.User
20+
import store.baribari.demo.domain.user.repository.UserRepository
2121
import java.time.DayOfWeek
2222
import java.time.LocalTime
2323
import javax.annotation.PostConstruct
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,25 @@
1-
package store.baribari.demo.controller
1+
package store.baribari.demo.common
22

33
import kotlinx.coroutines.runBlocking
44
import org.springframework.security.core.userdetails.User
55
import org.springframework.web.bind.annotation.GetMapping
66
import org.springframework.web.bind.annotation.RequestMapping
77
import org.springframework.web.bind.annotation.RestController
8-
import store.baribari.demo.auth.LoginUser
9-
import store.baribari.demo.dto.common.ApiResponse
10-
import store.baribari.demo.service.FileService
8+
import store.baribari.demo.common.dto.ApiResponse
9+
import store.baribari.demo.common.service.FileService
10+
import store.baribari.demo.domain.auth.LoginUser
1111

1212
@RestController
1313
@RequestMapping("/api/v1/file")
1414
class FileController(
1515
private val fileService: FileService,
1616
) {
17-
1817
@GetMapping("/presign")
1918
fun preSignUrl(
2019
@LoginUser loginUser: User,
21-
): ApiResponse<String> {
22-
return runBlocking {
20+
): ApiResponse<String> =
21+
runBlocking {
2322
val preSingedUrl = fileService.geneatePreSingedUrl(loginUser.username)
2423
ApiResponse.success(preSingedUrl)
2524
}
26-
}
2725
}

src/main/kotlin/store/baribari/demo/common/config/JwtConfig.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package store.baribari.demo.common.config
33
import org.springframework.beans.factory.annotation.Value
44
import org.springframework.context.annotation.Bean
55
import org.springframework.context.annotation.Configuration
6-
import store.baribari.demo.auth.AuthTokenProvider
6+
import store.baribari.demo.domain.auth.AuthTokenProvider
77

88
@Configuration
99
class JwtConfig(
@@ -12,7 +12,5 @@ class JwtConfig(
1212
private val secret: String,
1313
) {
1414
@Bean
15-
fun jwtTokenProvider(): AuthTokenProvider {
16-
return AuthTokenProvider(secret)
17-
}
15+
fun jwtTokenProvider(): AuthTokenProvider = AuthTokenProvider(secret)
1816
}

src/main/kotlin/store/baribari/demo/common/config/SpringSecurityConfig.kt

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic
1414
import org.springframework.web.cors.CorsConfiguration
1515
import org.springframework.web.cors.CorsUtils
1616
import org.springframework.web.cors.UrlBasedCorsConfigurationSource
17-
import store.baribari.demo.auth.AuthTokenProvider
1817
import store.baribari.demo.common.config.properties.AppProperties
1918
import store.baribari.demo.common.config.properties.CorsProperties
2019
import store.baribari.demo.common.enums.Role
@@ -23,10 +22,11 @@ import store.baribari.demo.common.filter.TokenAuthenticationFilter
2322
import store.baribari.demo.common.handler.OAuth2AuthenticationFailureHandler
2423
import store.baribari.demo.common.handler.OAuth2AuthenticationSuccessHandler
2524
import store.baribari.demo.common.handler.TokenAccessDeniedHandler
26-
import store.baribari.demo.repository.UserRepository
27-
import store.baribari.demo.repository.common.OAuth2AuthorizationRequestBasedOnCookieRepository
28-
import store.baribari.demo.repository.common.RedisRepository
29-
import store.baribari.demo.service.CustomOAuth2UserService
25+
import store.baribari.demo.common.repository.OAuth2AuthorizationRequestBasedOnCookieRepository
26+
import store.baribari.demo.common.repository.RedisRepository
27+
import store.baribari.demo.common.service.CustomOAuth2UserService
28+
import store.baribari.demo.domain.auth.AuthTokenProvider
29+
import store.baribari.demo.domain.user.repository.UserRepository
3030

3131
@Configuration
3232
@EnableMethodSecurity
@@ -40,7 +40,6 @@ class SpringSecurityConfig(
4040
private val tokenAccessDeniedHandler: TokenAccessDeniedHandler,
4141
private val userRepository: UserRepository,
4242
) {
43-
4443
@Bean
4544
fun filterChain(http: HttpSecurity): SecurityFilterChain {
4645
http
@@ -49,15 +48,19 @@ class SpringSecurityConfig(
4948
.sessionManagement()
5049
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
5150
.and()
52-
.csrf().disable()
53-
.formLogin().disable()
54-
.httpBasic().disable()
51+
.csrf()
52+
.disable()
53+
.formLogin()
54+
.disable()
55+
.httpBasic()
56+
.disable()
5557
.exceptionHandling()
5658
.authenticationEntryPoint(RestAuthenticationEntryPoint()) // 인증 실패
5759
.accessDeniedHandler(tokenAccessDeniedHandler) // 인가 실패
5860
.and()
5961
.authorizeRequests()
60-
.requestMatchers(CorsUtils::isPreFlightRequest).permitAll()
62+
.requestMatchers(CorsUtils::isPreFlightRequest)
63+
.permitAll()
6164
.antMatchers(
6265
"/",
6366
"/error",
@@ -69,15 +72,19 @@ class SpringSecurityConfig(
6972
"/**/*.html",
7073
"/**/*.css",
7174
"/**/*.js",
72-
)
75+
).permitAll()
76+
.antMatchers("/api/v1/**")
77+
.permitAll()
78+
.antMatchers("/api/v2/**")
79+
.permitAll()
80+
.antMatchers("/actuator/**")
7381
.permitAll()
74-
.antMatchers("/api/v1/**").permitAll()
75-
.antMatchers("/api/v2/**").permitAll()
76-
.antMatchers("/actuator/**").permitAll()
7782
// TODO: 이거 나중에 켜 놔야함
7883
// .antMatchers("/api/store/**").hasAnyAuthority(Role.ROLE_STORE.code, Role.ROLE_ADMIN.code)
79-
.antMatchers("/api/admin/**").hasAuthority(Role.ROLE_ADMIN.code)
80-
.anyRequest().authenticated()
84+
.antMatchers("/api/admin/**")
85+
.hasAuthority(Role.ROLE_ADMIN.code)
86+
.anyRequest()
87+
.authenticated()
8188
.and()
8289
.oauth2Login()
8390
.authorizationEndpoint()
@@ -100,44 +107,36 @@ class SpringSecurityConfig(
100107
}
101108

102109
@Bean
103-
fun authenticationManager(authenticationConfiguration: AuthenticationConfiguration): AuthenticationManager {
104-
return authenticationConfiguration.authenticationManager
105-
}
110+
fun authenticationManager(authenticationConfiguration: AuthenticationConfiguration): AuthenticationManager =
111+
authenticationConfiguration.authenticationManager
106112

107113
@Bean
108-
fun passwordEncoder(): BCryptPasswordEncoder {
109-
return BCryptPasswordEncoder()
110-
}
114+
fun passwordEncoder(): BCryptPasswordEncoder = BCryptPasswordEncoder()
111115

112116
@Bean
113-
fun oAuth2AuthorizationRequestBasedOnCookieRepository(): OAuth2AuthorizationRequestBasedOnCookieRepository {
114-
return OAuth2AuthorizationRequestBasedOnCookieRepository()
115-
}
117+
fun oAuth2AuthorizationRequestBasedOnCookieRepository(): OAuth2AuthorizationRequestBasedOnCookieRepository =
118+
OAuth2AuthorizationRequestBasedOnCookieRepository()
116119

117120
@Bean
118-
fun tokenAuthenticationFilter(): TokenAuthenticationFilter {
119-
return TokenAuthenticationFilter(authTokenProvider)
120-
}
121+
fun tokenAuthenticationFilter(): TokenAuthenticationFilter = TokenAuthenticationFilter(authTokenProvider)
121122

122123
// Oauth 인증 성공 핸들러
123124
@Bean
124-
fun oAuth2AuthenticationSuccessHandler(): OAuth2AuthenticationSuccessHandler {
125-
return OAuth2AuthenticationSuccessHandler(
125+
fun oAuth2AuthenticationSuccessHandler(): OAuth2AuthenticationSuccessHandler =
126+
OAuth2AuthenticationSuccessHandler(
126127
appProperties,
127128
oAuth2AuthorizationRequestBasedOnCookieRepository(),
128129
authTokenProvider,
129130
redisRepository,
130131
userRepository,
131132
)
132-
}
133133

134134
// Oauth 인증 실패 핸들러
135135
@Bean
136-
fun oAuth2AuthenticationFailureHandler(): OAuth2AuthenticationFailureHandler {
137-
return OAuth2AuthenticationFailureHandler(
136+
fun oAuth2AuthenticationFailureHandler(): OAuth2AuthenticationFailureHandler =
137+
OAuth2AuthenticationFailureHandler(
138138
oAuth2AuthorizationRequestBasedOnCookieRepository(),
139139
)
140-
}
141140

142141
@Bean
143142
fun corsConfigurationSource(): UrlBasedCorsConfigurationSource {

src/main/kotlin/store/baribari/demo/common/config/WebMcvConfig.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package store.baribari.demo.common.config
33
import org.springframework.context.annotation.Configuration
44
import org.springframework.web.method.support.HandlerMethodArgumentResolver
55
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
6-
import store.baribari.demo.auth.LoginUserArgumentResolver
6+
import store.baribari.demo.domain.auth.LoginUserArgumentResolver
77

88
@Configuration
99
class WebMcvConfig(
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package store.baribari.demo.common.dto
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude
4+
5+
private const val SUCCESS = "success"
6+
private const val FAIL = "fail"
7+
private const val ERROR = "error"
8+
9+
@JsonInclude(JsonInclude.Include.NON_NULL)
10+
class ApiResponse<T> private constructor(
11+
val status: String,
12+
val data: T? = null,
13+
val message: String? = null,
14+
) {
15+
companion object {
16+
fun <T> success(data: T): ApiResponse<T> = ApiResponse(SUCCESS, data)
17+
18+
fun <T> fail(reason: T): ApiResponse<T> = ApiResponse(FAIL, reason)
19+
20+
fun <T> error(message: String): ApiResponse<T> = ApiResponse(ERROR, message = message)
21+
}
22+
}

src/main/kotlin/store/baribari/demo/model/BaseEntity.kt renamed to src/main/kotlin/store/baribari/demo/common/entity/BaseEntity.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package store.baribari.demo.model
1+
package store.baribari.demo.common.entity
22

33
import org.springframework.data.annotation.CreatedDate
44
import org.springframework.data.annotation.LastModifiedDate
@@ -14,7 +14,6 @@ abstract class BaseEntity(
1414
@CreatedDate
1515
@Column(name = "created_at")
1616
var createdAt: LocalDateTime? = null,
17-
1817
@LastModifiedDate
1918
@Column(name = "updated_at")
2019
var updatedAt: LocalDateTime? = null,

src/main/kotlin/store/baribari/demo/model/embed/Address.kt renamed to src/main/kotlin/store/baribari/demo/common/entity/embed/Address.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package store.baribari.demo.model.embed
1+
package store.baribari.demo.common.entity.embed
22

33
import javax.persistence.Column
44
import javax.persistence.Embeddable

src/main/kotlin/store/baribari/demo/model/embed/Day.kt renamed to src/main/kotlin/store/baribari/demo/common/entity/embed/Day.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package store.baribari.demo.model.embed
1+
package store.baribari.demo.common.entity.embed
22

33
import java.time.DayOfWeek
44
import java.time.LocalTime

src/main/kotlin/store/baribari/demo/model/embed/Position.kt renamed to src/main/kotlin/store/baribari/demo/common/entity/embed/Position.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package store.baribari.demo.model.embed
1+
package store.baribari.demo.common.entity.embed
22

33
import javax.persistence.Embeddable
44

0 commit comments

Comments
 (0)