feat(cafe24): 편집기에서 상품명 수정
제목 옆 연필 버튼 → 입력칸 → 저장. 이름만 바꾸려고 카페24 관리자에 들어갈
필요가 없어진다.
- POST /cafe24/products/{no}/name (JSON) 추가. 쓰기 전에 카페24 현재값을 읽어
이전 이름을 감사로그(rename_product)에 남긴다 - 되돌릴 revision 이 없으므로
로그가 유일한 복구 단서다. 값이 같으면 호출하지 않는다.
- build_update_payload/update_product 에 product_name 추가(부분 수정이라
상세설명·진열·판매는 그대로).
- 빈 값과 250자 초과는 서버에서 400. 화면도 maxlength 로 막는다.
- 평소에는 읽기 전용 제목이고 연필을 눌러야 입력칸이 된다 - 클릭 한 번으로
실수로 고쳐지지 않게. Enter 저장, Esc 취소.
- 화면은 요청값이 아니라 카페24가 확인해 준 이름으로 다시 그리고, 왼쪽 목록의
이름·정렬키(data-name)도 함께 갱신한다.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -158,6 +158,7 @@ def build_update_payload(
|
||||
*,
|
||||
description: str | None = None,
|
||||
mobile_description: str | None = None,
|
||||
product_name: str | None = None,
|
||||
display: bool | None = None,
|
||||
selling: bool | None = None,
|
||||
shop_no: int | None = None,
|
||||
@@ -171,6 +172,8 @@ def build_update_payload(
|
||||
request: dict[str, Any] = {}
|
||||
if description is not None:
|
||||
request["description"] = description
|
||||
if product_name is not None:
|
||||
request["product_name"] = product_name
|
||||
if mobile_description is not None:
|
||||
request["mobile_description"] = mobile_description
|
||||
if display is not None:
|
||||
@@ -189,11 +192,12 @@ def update_product(
|
||||
*,
|
||||
description: str | None = None,
|
||||
mobile_description: str | None = None,
|
||||
product_name: str | None = None,
|
||||
display: bool | None = None,
|
||||
selling: bool | None = None,
|
||||
shop_no: int | None = None,
|
||||
) -> dict[str, Any]:
|
||||
"""상품 부분 수정. 상세설명·진열·판매를 한 번의 호출로 바꿀 수 있다.
|
||||
"""상품 부분 수정. 상세설명·상품명·진열·판매를 한 번의 호출로 바꿀 수 있다.
|
||||
|
||||
바꿀 것이 하나도 없으면 호출하지 않고 빈 dict 를 돌려준다.
|
||||
|
||||
@@ -203,6 +207,7 @@ def update_product(
|
||||
payload = build_update_payload(
|
||||
description=description,
|
||||
mobile_description=mobile_description,
|
||||
product_name=product_name,
|
||||
display=display,
|
||||
selling=selling,
|
||||
shop_no=shop_no,
|
||||
|
||||
Reference in New Issue
Block a user