# DataPreservation-schema.json

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "../Documentation/Implementation/data_model/Json/",
    "title": "DataPreservation",
    "description": "DataPreservation schema",
    "type": "object",
    "properties": {
        "description": {
            "type": "string",
            "description": "Description des contraintes réglementaires à prendre en compte pour la conservation des données"
        },
        "dataSize": {
            "type": "number",
            "description": "Volume des données concernées en octets"
        },
        "unitVolume": {
            "type": "string",
            "description": "Unité de volume",
            "enum": [
                "Octets",
                "Ko",
                "Mo",
                "Go",
                "To",
                "Po"
            ]
        },
        "startDate": {
            "type": "string",
            "format": "date",
            "description": "Début de conservation"
        },
        "endDate": {
            "type": "string",
            "format": "date",
            "description": "Fin de conservation"
        },
        "host": {
            "type": "object",
            "$comment": "class=Host",
            "properties": {
                "dbid": {
                    "type": "number"
                }
            },
            "required": [
                "dbid"
            ],
            "description": "Centre, entrepôt dans lequel les données seront archivées à long terme si nécessaire"
        },
        "finalDisposition": {
            "type": "string",
            "description": "Sort final des données (destruction, pronumberation de la conservation, …)"
        },
        "contributor": {
            "type": "array",
            "items": {
                "type": "object",
                "$comment": "class=Contributor",
                "properties": {
                    "dbid": {
                        "type": "number"
                    }
                },
                "required": [
                    "dbid"
                ]
            },
            "description": "Personne(s) en charge de la conservation à long terme des données"
        },
        "cost": {
            "type": "array",
            "items": {
                "type": "object",
                "$comment": "class=Cost",
                "properties": {
                    "dbid": {
                        "type": "number"
                    }
                },
                "required": [
                    "dbid"
                ]
            },
            "description": "Coût(s) lié(s) à la conservation à long terme des données"
        }
    },
    "required": [
        "dataSize",
        "startDate",
        "endDate",
        "finalDisposition"
    ]
}