{
    "title": "security_configuration",
    "id": "schemas/security/security_configuration",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.security.SecurityConfiguration",
    "type": "object",
    "required": [
        "deliveryDate"
    ],
    "properties": {
        "deliveryDate": {
            "id": "schemas/common/deliveryDate",
            "description": "Current date of the JOC server/REST service. Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ",
            "type": "string",
            "format": "date-time"
        },
        "users": {
            "type": "array",
            "items": {
                "type": "object",
                "javaType": "com.sos.joc.model.security.SecurityConfigurationUser",
                "properties": {
                    "user": {
                        "type": "string"
                    },
                    "password": {
                        "type": "string"
                    },
                    "roles": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "masters": {
            "type": "array",
            "items": {
                "type": "object",
                "javaType": "com.sos.joc.model.security.SecurityConfigurationMaster",
                "properties": {
                    "master": {
                        "type": "string"
                    },
                    "roles": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "javaType": "com.sos.joc.model.security.SecurityConfigurationRole",
                            "properties": {
                                "role": {
                                    "type": "string"
                                },
                                "permissions": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "javaType": "com.sos.joc.model.security.SecurityConfigurationPermission",
                                        "properties": {
                                            "path": {
                                                "type": "string"
                                            },
                                            "excluded": {
                                                "type": "boolean"
                                            }
                                        }
                                    }
                                },
                                "folders": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "javaType": "com.sos.joc.model.security.SecurityConfigurationFolder",
                                        "properties": {
                                            "folder": {
                                                "type": "string"
                                            },
                                            "recursive": {
                                                "type": "boolean"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}