{
  "$schema": "http://json-schema.org/schema",
  "id": "crud",
  "title": "CRUD Schema",
  "type": "object",
  "description": "Says Hello",
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of model",
      "$default": {
        "$source": "argv",
        "index": 0
      },
      "x-prompt": "모델 변수명을 lowerCamelCase 로 입력하세요. 관리자 계정일 경우 'adminUser' 와 같이 입력하세요."
    },
    "pluralName": {
      "type": "string",
      "description": "The plural name of model",
      "$default": {
        "$source": "argv",
        "index": 1
      },
      "x-prompt": "모델 변수의 복수명을 lowerCamelCase 로 입력하세요. 관리자 계정일 경우 'adminUsers' 와 같이 입력하세요."
    },
    "displayName": {
      "type": "string",
      "description": "The display name of model",
      "$default": {
        "$source": "argv",
        "index": 2
      },
      "x-prompt": "모델의 한글명을 입력하세요. 관리자 계정일 경우 '관리자 계정' 과 같이 입력하세요."
    },
    "frontPaging": {
      "type": "boolean",
      "description": "Front Paging",
      "$default": {
        "$source": "argv",
        "index": 3
      },
      "x-prompt": "프론트 페이징을 사용하시겠습니까? \n프론트 페이징은 API 로부터 전체 목록을 가져와서 브라우저에서 목록을 페이징하며, 서버 페이징(프론트 페이징 미사용)은 API 로부터 페이지 단위로 조회하여 목록을 구성합니다. \n향후 수년간 리소스가 5000 건 이하로 유지가 되는 경우에는 프론트 페이징을 권장합니다."
    },
    "sideArea": {
      "type": "boolean",
      "description": "sideArea",
      "$default": {
        "$source": "argv",
        "index": 4
      },
      "x-prompt": "페이지내 사이드 영역(왼쪽)을 추가하시겠습니까?"
    },
    "path": {
      "type": "string",
      "format": "path",
      "description": "The path at which to create the component file, relative to the current workspace. Default is a folder with the same name as the component in the project root.",
      "visible": false
    }
  },
  "required": [
    "name",
    "pluralName",
    "displayName"
  ]
}
