﻿{
  "definitions": {
    "PropertyLookup": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "master": {
          "type": [
            "string",
            "null"
          ]
        },
        "displayAttributeName": {
          "type": [
            "string",
            "null"
          ]
        },
        "required": {
          "type": "boolean"
        },
        "relationName": {
          "type": [
            "string",
            "null"
          ]
        },
        "projection": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "master",
        "displayAttributeName",
        "required",
        "relationName",
        "projection"
      ]
    },
    "DSattr": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "type": [
            "string",
            "null"
          ]
        },
        "flexberryType": {
          "type": [
            "string",
            "null"
          ]
        },
        "notNull": {
          "type": "boolean"
        },
        "defaultValue": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "name",
        "type",
        "flexberryType",
        "notNull",
        "defaultValue"
      ]
    },
    "ProjectionForForm": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "modelName": {
          "type": [
            "string",
            "null"
          ]
        },
        "modelProjection": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "modelName",
        "modelProjection"
      ]
    }
  },
  "type": "object",
  "properties": {
    "propertyLookup": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/definitions/PropertyLookup"
      }
    },
    "caption": {
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "type": [
        "string",
        "null"
      ]
    },
    "className": {
      "type": [
        "string",
        "null"
      ]
    },
    "attrs": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/definitions/DSattr"
      }
    },
    "projections": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/definitions/ProjectionForForm"
      }
    }
  },
  "required": [
    "propertyLookup",
    "caption",
    "name",
    "className",
    "attrs",
    "projections"
  ]
}