# DataStorage-schema.json

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "../Documentation/Implementation/data_model/Json/",
    "title": "DataStorage",
    "description": "DataStorage schema",
    "type": "object",
    "properties": {
        "description": {
            "type": "string",
            "description": "Description des besoins de stockage"
        },
        "estimatedVolume": {
            "type": "number",
            "description": "Volume estimé des données"
        },
        "volumeUnit": {
            "type": "string",
            "description": "Unité de volume",
            "enum": [
                "Octets",
                "Ko",
                "Mo",
                "Go",
                "To",
                "Po"
            ]
        },
        "facility": {
            "type": "array",
            "items": {
                "type": "object",
                "$comment": "class=TechnicalResource",
                "properties": {
                    "dbid": {
                        "type": "number"
                    }
                },
                "required": [
                    "dbid"
                ]
            },
            "description": "Usage d'une ressource technique pour le stockage et sauvegarde des données"
        },
        "securityMeasures": {
            "type": "string",
            "description": "Description des mesures prises pour assurer la sécurité des données"
        },
        "backupPolicy": {
            "type": "object",
            "$comment": "class=BackupPolicy",
            "properties": {
                "dbid": {
                    "type": "number"
                }
            },
            "required": [
                "dbid"
            ],
            "description": "Informations relatives à la politique de sauvegarde"
        },
        "contributor": {
            "type": "array",
            "items": {
                "type": "object",
                "$comment": "class=Contributor",
                "properties": {
                    "dbid": {
                        "type": "number"
                    }
                },
                "required": [
                    "dbid"
                ]
            },
            "description": "Personne(s) responsable(s) du suivi du stockage des données"
        },
        "cost": {
            "type": "array",
            "items": {
                "type": "object",
                "$comment": "class=Cost",
                "properties": {
                    "dbid": {
                        "type": "number"
                    }
                },
                "required": [
                    "dbid"
                ]
            },
            "description": "Coûts éventuels liés au stockage des données"
        }
    },
    "required": [
        "description"
    ]
}