diff --git a/db/seed/R__Insert_Seed_cafe_image.sql b/db/seed/R__Insert_Seed_cafe_image.sql index 72dfa12..dacfc98 100644 --- a/db/seed/R__Insert_Seed_cafe_image.sql +++ b/db/seed/R__Insert_Seed_cafe_image.sql @@ -1,3 +1,5 @@ +DROP PROCEDURE IF EXISTS insertCafeImages; + DELIMITER $$ CREATE PROCEDURE insertCafeImages() BEGIN @@ -15,10 +17,10 @@ BEGIN WHILE(j <= 3) DO INSERT IGNORE INTO `cafe_image` (img_url, created_at, created_by, updated_at, updated_by, cafe_id) - VALUES (CONCAT('test_img_url_', idx_img), now(), 'system', now(), 'system', var_cafe_id); + VALUES (CONCAT('https://d3qy02qh8hbgxp.cloudfront.net/cafe', idx_img, '.jpg'), now(), 'system', now(), 'system', var_cafe_id); SET j = j + 1; - SET idx_img = idx_img + 1; + SET idx_img = idx_img % 7 + 1; END WHILE; SET i = i + 1; diff --git a/dongne-common/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/repository/CafeRepository.kt b/dongne-common/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/repository/CafeRepository.kt index 8cd1bac..0e93771 100644 --- a/dongne-common/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/repository/CafeRepository.kt +++ b/dongne-common/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/repository/CafeRepository.kt @@ -1,8 +1,12 @@ package io.beaniejoy.dongnecafe.domain.cafe.repository import io.beaniejoy.dongnecafe.domain.cafe.entity.Cafe +import org.springframework.data.domain.Page +import org.springframework.data.domain.Pageable import org.springframework.data.jpa.repository.JpaRepository interface CafeRepository : JpaRepository { fun findByName(name: String): Cafe? + + fun findByNameContainingIgnoreCase(name: String?, pageable: Pageable): Page } \ No newline at end of file diff --git a/dongne-account-api/src/main/kotlin/io/beaniejoy/dongnecafe/security/handler/CustomAccessDeniedHandler.kt b/dongne-common/src/main/kotlin/io/beaniejoy/dongnecafe/security/handler/CustomAccessDeniedHandler.kt similarity index 100% rename from dongne-account-api/src/main/kotlin/io/beaniejoy/dongnecafe/security/handler/CustomAccessDeniedHandler.kt rename to dongne-common/src/main/kotlin/io/beaniejoy/dongnecafe/security/handler/CustomAccessDeniedHandler.kt diff --git a/dongne-account-api/src/main/kotlin/io/beaniejoy/dongnecafe/security/handler/CustomAuthenticationEntryPoint.kt b/dongne-common/src/main/kotlin/io/beaniejoy/dongnecafe/security/handler/CustomAuthenticationEntryPoint.kt similarity index 100% rename from dongne-account-api/src/main/kotlin/io/beaniejoy/dongnecafe/security/handler/CustomAuthenticationEntryPoint.kt rename to dongne-common/src/main/kotlin/io/beaniejoy/dongnecafe/security/handler/CustomAuthenticationEntryPoint.kt diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/config/SecurityConfig.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/config/SecurityConfig.kt index 0efc2c5..d52e496 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/config/SecurityConfig.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/config/SecurityConfig.kt @@ -2,6 +2,8 @@ package io.beaniejoy.dongnecafe.common.config import io.beaniejoy.dongnecafe.security.JwtAuthenticationConfigurer import io.beaniejoy.dongnecafe.security.JwtTokenUtils +import io.beaniejoy.dongnecafe.security.handler.CustomAccessDeniedHandler +import io.beaniejoy.dongnecafe.security.handler.CustomAuthenticationEntryPoint import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.security.servlet.PathRequest import org.springframework.context.annotation.Bean @@ -18,6 +20,12 @@ class SecurityConfig { @Autowired lateinit var jwtTokenUtils: JwtTokenUtils + @Autowired + lateinit var customAccessDeniedHandler: CustomAccessDeniedHandler + + @Autowired + lateinit var customAuthenticationEntryPoint: CustomAuthenticationEntryPoint + @Bean fun filterChain(http: HttpSecurity): SecurityFilterChain { return http @@ -26,7 +34,8 @@ class SecurityConfig { .formLogin().disable() .authorizeRequests() - .anyRequest().authenticated() +// .anyRequest().authenticated() + .anyRequest().permitAll() .and() .sessionManagement() @@ -34,6 +43,11 @@ class SecurityConfig { .and() .also { jwtAuthenticationConfigurer(it) } + .exceptionHandling() + .authenticationEntryPoint(customAuthenticationEntryPoint) // 인증 예외 entryPoint 적용 + .accessDeniedHandler(customAccessDeniedHandler) // 인가 예외 handler 적용 + + .and() .build() } diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/controller/CafeController.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/controller/CafeController.kt index 39341e1..c19831a 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/controller/CafeController.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/controller/CafeController.kt @@ -40,9 +40,10 @@ class CafeController( */ @GetMapping fun searchCafeList( + @RequestParam("name") name: String?, @PageableDefault(sort = ["name"], direction = Sort.Direction.ASC, page = 0, size = 10) pageable: Pageable ): ApplicationResponse> { - val searchCafes = cafeService.searchCafeList(pageable) + val searchCafes = cafeService.searchCafeList(name, pageable) return ApplicationResponse .success() diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt index cc8092c..e6dac01 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt @@ -59,8 +59,8 @@ class CafeService( } } - fun searchCafeList(pageable: Pageable): Page { - val cafeList: Page = cafeRepository.findAll(pageable) + fun searchCafeList(name: String?, pageable: Pageable): Page { + val cafeList: Page = cafeRepository.findByNameContainingIgnoreCase(name, pageable) return cafeList.map { CafeSearchInfo.of(it) } } diff --git a/script/migration-local.sh b/script/migration-local.sh index da668d0..d39d46c 100755 --- a/script/migration-local.sh +++ b/script/migration-local.sh @@ -32,8 +32,8 @@ flyway info -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE" printf "\n" echo "2. Flyway Migrate" -flyway migrate -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE" +flyway migrate -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE" -outputType=json printf "\n" echo "3. Flyway Validate" -flyway validate -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE" +flyway validate -configFiles="$PROJECT_ROOT_DIR/db/$FLYWAY_CONFIG_FILE" -outputType=json