All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.elide-model-config.7.1.1.source-code.elideNamespaceConfigSchema.json Maven / Gradle / Ivy

There is a newer version: 7.1.2
Show newest version
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$defs": {
        "elideNamespaceName" : {
              "type": "string",
              "pattern": "^default$|^(?!(?i)default$)^[A-Za-z][0-9A-Za-z_]*$",
              "errorMessage": {
                  "pattern": "{0}: does not match the elideNamespaceName pattern must start with an alphabetic character and can include alphabets, numbers and ''_'' only and must not clash with the ''default'' namespace."
              }
        }
    },
    "type": "object",
    "title": "Elide Namespace Config Root Schema",
    "description": "Elide Namespace config json/hjson schema",
    "required": [
        "namespaces"
    ],
    "additionalProperties": false,
    "properties": {
        "namespaces": {
            "type": "array",
            "title": "Elide Namespace Config Collection",
            "description": "An array of Elide Namespace configs.",
            "uniqueItems": true,
            "minItems": 1,
            "items": {
                "type": "object",
                "title": "Elide Namespace Config",
                "description": "Elide Namespace config",
                "required": [
                    "name"
                ],
                "additionalProperties": false,
                "properties": {
                    "name": {
                        "title": "Namespace Name",
                        "description": "Name of the Namespace. This can used for grouping the tables by subject area.",
                        "$ref": "#/$defs/elideNamespaceName",
                        "examples": [
                            "MyNamespace"
                        ]
                    },
                    "friendlyName": {
                        "title": "Namespace friendly name",
                        "description": "The friendly name of the Namespace. This will be displayed in the UI.  If not provided, this defaults to the name",
                        "type": "string"
                    },
                    "description": {
                        "title": "Namespace description",
                        "description": "A long description of the Namespace.",
                        "type": "string"
                    },
                    "readAccess": {
                        "title": "Namespace read access",
                        "description": "Read permission for the Namespace.",
                        "type": "string",
                        "default": "Prefab.Role.All"
                    },
                    "apiVersion": {
                        "title": "Namespace apiVersion",
                        "description": "Api Version for the Namespace.",
                        "type": "string",
                        "default": ""
                    }
                }
            }
        }
    },
    "examples": [
        {
            "namespaces": [
                {
                    "name": "MyNamespace",
                    "friendlyName": "My Namespace",
                    "readAccess": "User is Admin",
                    "description": "A description of the MyNamespace namespace"
                },
                {
                    "name": "AnotherNamespace",
                    "friendlyName": "Another Namespace",
                    "readAccess": "User is Editor",
                    "description": "A description of the AnotherNamespace namespace"
                }
            ]
        }
    ]
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy