배경
어드민에서 배너/큐레이션/지역/증류소처럼 순서가 있는 리소스의 순서를 드래그로 변경할 때, 현재 API는 단건 순서 변경만 지원하고 bulk reorder API가 없습니다.
현재 확인된 단건 API:
PATCH /admin/api/v1/banners/{bannerId}/sort-order body { sortOrder }
PATCH /admin/api/v1/curations/{curationId}/display-order body { displayOrder }
PATCH /admin/api/v1/regions/{regionId}/sort-order body { sortOrder }
PATCH /admin/api/v1/distilleries/{distilleryId}/sort-order는 프론트 계약에는 있으나 published admin API docs에는 mutation 문서가 보여야 하는지 확인이 필요합니다.
문제
단건 API만으로 여러 row의 최종 순서를 저장하면 프론트가 변경분을 여러 요청으로 나눠 보내야 합니다. 이 경우 중간 실패, 순서 충돌, refetch 전 표시 순서 불일치가 생길 수 있고, 여러 번 드래그한 변경을 원자적으로 저장하기 어렵습니다.
요청
순서 변경을 하나의 트랜잭션으로 저장할 수 있는 bulk reorder API를 추가해주세요.
예시 endpoint:
PATCH /admin/api/v1/banners/reorder
PATCH /admin/api/v1/curations/reorder
PATCH /admin/api/v1/regions/reorder
PATCH /admin/api/v1/distilleries/reorder
Request 예시 1:
{
"orders": [
{ "id": 1, "sortOrder": 0 },
{ "id": 5, "sortOrder": 1 },
{ "id": 3, "sortOrder": 2 }
]
}
Request 예시 2:
기대 동작
- 한 요청을 하나의 트랜잭션으로 처리합니다.
- 중복 ID, 존재하지 않는 ID, scope가 다른 ID를 검증합니다.
sortOrder / displayOrder가 gap 또는 duplicate 없이 정규화됩니다.
- 저장 후 목록 조회 시 요청한 최종 순서와 일치합니다.
- admin API 문서에 region/distillery 포함해서 순서 변경 API가 문서화됩니다.
확인 필요
- 배너 순서 scope: 전체 배너 기준인지,
bannerType/isActive별 기준인지
- 큐레이션
displayOrder scope
- 지역 순서 scope: 전체 region인지,
parentId별인지
- 증류소 sort-order API 실제 지원 여부와 문서 누락 여부
참고
프론트 region feature plan에도 현재 bulk reorder API가 없어서 후속 이슈가 필요하다고 기록되어 있습니다.
배경
어드민에서 배너/큐레이션/지역/증류소처럼 순서가 있는 리소스의 순서를 드래그로 변경할 때, 현재 API는 단건 순서 변경만 지원하고 bulk reorder API가 없습니다.
현재 확인된 단건 API:
PATCH /admin/api/v1/banners/{bannerId}/sort-orderbody{ sortOrder }PATCH /admin/api/v1/curations/{curationId}/display-orderbody{ displayOrder }PATCH /admin/api/v1/regions/{regionId}/sort-orderbody{ sortOrder }PATCH /admin/api/v1/distilleries/{distilleryId}/sort-order는 프론트 계약에는 있으나 published admin API docs에는 mutation 문서가 보여야 하는지 확인이 필요합니다.문제
단건 API만으로 여러 row의 최종 순서를 저장하면 프론트가 변경분을 여러 요청으로 나눠 보내야 합니다. 이 경우 중간 실패, 순서 충돌, refetch 전 표시 순서 불일치가 생길 수 있고, 여러 번 드래그한 변경을 원자적으로 저장하기 어렵습니다.
요청
순서 변경을 하나의 트랜잭션으로 저장할 수 있는 bulk reorder API를 추가해주세요.
예시 endpoint:
PATCH /admin/api/v1/banners/reorderPATCH /admin/api/v1/curations/reorderPATCH /admin/api/v1/regions/reorderPATCH /admin/api/v1/distilleries/reorderRequest 예시 1:
{ "orders": [ { "id": 1, "sortOrder": 0 }, { "id": 5, "sortOrder": 1 }, { "id": 3, "sortOrder": 2 } ] }Request 예시 2:
{ "ids": [1, 5, 3] }기대 동작
sortOrder/displayOrder가 gap 또는 duplicate 없이 정규화됩니다.확인 필요
bannerType/isActive별 기준인지displayOrderscopeparentId별인지참고
프론트 region feature plan에도 현재 bulk reorder API가 없어서 후속 이슈가 필요하다고 기록되어 있습니다.