diff --git a/CHANGELOG.md b/CHANGELOG.md index 85dd286..02eb57f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ ## 2026-06-15 +### ๐Ÿ› #357 ํ›„์† โ€” tabling-url validation์— www. ํ˜ธ์ŠคํŠธ ํ—ˆ์šฉ (v0.1.47) +- Naver/DDG ๊ฒฐ๊ณผ๊ฐ€ `https://www.tabling.co.kr/...` ํ˜•ํƒœ์ธ๋ฐ #290 validation์€ `tabling.co.kr/`๋งŒ ํ—ˆ์šฉ โ†’ ๋‹จ๊ฑด ๋งคํ•‘ PUT ๊ฑฐ๋ถ€ +- bulk-tabling SSE๋Š” validation ์—†์ด service.update ์ง์ ‘ ํ˜ธ์ถœ์ด๋ผ ํ†ต๊ณผ โ†’ ๋‹จ์ผ/๋ฒŒํฌ ๋ถˆ์ผ์น˜ +- `www.tabling.co.kr` prefix๋„ ํ—ˆ์šฉ (catchtable์€ ์ด๋ฏธ app/www ๋‘˜ ๋‹ค ํ—ˆ์šฉ) +- ์‹œ์—ฐ ๋“ฑ๋ก: bbq ๋ถ€์ฒœ์€ํ•˜๋งˆ์„์  โ†’ BBQ ์น˜ํ‚จ ๋ถ€์ฒœ์€ํ•˜๋งˆ์„์  + ### ๐Ÿ” #359 1๋‹จ๊ณ„ โ€” google_place_id ์ค‘๋ณต ์กฐํšŒ API (v0.1.46) - GET /api/admin/restaurants/duplicates/place-id (์–ด๋“œ๋ฏผ ์ „์šฉ) - ์‘๋‹ต: ๊ทธ๋ฃน๋ณ„ ์‹๋‹น + video/review/memo ์นด์šดํŠธ (๋ณ‘ํ•ฉ ์˜์‚ฌ๊ฒฐ์ • ์ž๋ฃŒ) diff --git a/backend-java/src/main/java/com/tasteby/controller/RestaurantController.java b/backend-java/src/main/java/com/tasteby/controller/RestaurantController.java index fcde880..7462464 100644 --- a/backend-java/src/main/java/com/tasteby/controller/RestaurantController.java +++ b/backend-java/src/main/java/com/tasteby/controller/RestaurantController.java @@ -252,8 +252,11 @@ public class RestaurantController { if (r == null) throw new ResponseStatusException(HttpStatus.NOT_FOUND); String url = body.get("tabling_url"); // #290 โ€” javascript:/์™ธ๋ถ€ ์•…์„ฑ URL ์ฐจ๋‹จ. ๋นˆ ๋ฌธ์ž์—ด์€ ๋งคํ•‘ ํ•ด์ œ๋กœ ํ—ˆ์šฉ. - if (url != null && !url.isBlank() && !url.startsWith("https://tabling.co.kr/")) { - throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "ํ…Œ์ด๋ธ”๋ง URL์€ https://tabling.co.kr/ ๋งŒ ํ—ˆ์šฉ"); + // Naver/DDG ๊ฒฐ๊ณผ๊ฐ€ www.tabling.co.kr ํ˜•ํƒœ๋กœ๋„ ์˜ด. + if (url != null && !url.isBlank() + && !url.startsWith("https://tabling.co.kr/") + && !url.startsWith("https://www.tabling.co.kr/")) { + throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "ํ…Œ์ด๋ธ”๋ง URL์€ https://(www.)tabling.co.kr/ ๋งŒ ํ—ˆ์šฉ"); } restaurantService.update(id, Map.of("tabling_url", url != null ? url : "")); cache.flush();