{
  "pageId": "menuBanner",
  "title": "메뉴 배너 관리",
  "endpoint": "/api/v1/menu/banner",
  "permissions": ["battleEventRead", "battleEventUpdate", "battleEventDelete"],
  "layout": {
    "type": "standard",
    "components": ["search", "table", "pagination"]
  },
  "actions": [
    {
      "id": "create",
      "label": "배너 등록",
      "type": "button",
      "theme": "primary",
      "permission": "battleEventUpdate",
      "action": {
        "type": "modal",
        "target": "createModal"
      }
    },
    {
      "id": "delete",
      "label": "선택 삭제",
      "type": "button",
      "theme": "line",
      "permission": "battleEventDelete",
      "requireSelection": true,
      "action": {
        "type": "modal",
        "target": "deleteConfirmModal"
      }
    }
  ],
  "modals": {
    "createModal": {
      "id": "createModal",
      "type": "form",
      "title": "메뉴 배너 등록",
      "size": "medium",
      "schema": "menuBannerForm",
      "actions": [
        {
          "id": "cancel",
          "label": "취소",
          "type": "button",
          "theme": "line",
          "action": {
            "type": "close"
          }
        },
        {
          "id": "submit",
          "label": "등록",
          "type": "button",
          "theme": "primary",
          "action": {
            "type": "api",
            "method": "POST",
            "endpoint": "/api/v1/menu/banner",
            "successAction": {
              "type": "close",
              "then": "refresh"
            }
          }
        }
      ]
    },
    "detailModal": {
      "id": "detailModal",
      "type": "form",
      "title": "메뉴 배너 상세",
      "size": "medium",
      "schema": "menuBannerForm",
      "readOnly": true,
      "dataSource": {
        "type": "api",
        "endpoint": "/api/v1/menu/banner/detail/{id}"
      },
      "actions": [
        {
          "id": "close",
          "label": "확인",
          "type": "button",
          "theme": "line",
          "action": {
            "type": "close"
          }
        }
      ]
    },
    "deleteConfirmModal": {
      "id": "deleteConfirmModal",
      "type": "confirm",
      "title": "배너 삭제",
      "message": "선택한 배너를 삭제하시겠습니까?",
      "actions": [
        {
          "id": "cancel",
          "label": "취소",
          "type": "button",
          "theme": "line",
          "action": {
            "type": "close"
          }
        },
        {
          "id": "confirm",
          "label": "삭제",
          "type": "button",
          "theme": "primary",
          "action": {
            "type": "api",
            "method": "DELETE",
            "endpoint": "/api/v1/menu/banner/delete",
            "dataTransform": "selectedToRequestBody",
            "successAction": {
              "type": "close",
              "then": "refresh"
            }
          }
        }
      ]
    }
  }
}