# MesoUCAStorageRequest-template.json

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "../Documentation/Implementation/data_model/Json/",
    "title": "MesoUCAStorageRequest",
    "description": "MesoUCAStorageRequest template",
    "dataTypes": null,
    "type": "object",
    "class": "MesoUCAStorageRequest",
    "properties": {
        "agentType": {
            "type": "string",
            "description": "Classification by the organisation of the agent",
            "inputType": "dropdown",
            "label@fr_FR": "Agents",
            "label@en_GB": "Agents",
            "registries": [
                "MesoUCAStorageAgents"
            ],
            "registryCategory": "MesoUCAStorageAgent",
            "tooltip": null,
            "form_label@fr_FR": "Utilisateurs",
            "form_label@en_GB": "Applicants"
        },
        "justification": {
            "type": "string",
            "description": "Need justification",
            "inputType": "textarea",
            "label@fr_FR": "Justification",
            "label@en_GB": "justification",
            "tooltip": null,
            "form_label@fr_FR": "Justification de la demande de ressource",
            "form_label@en_GB": "Justification for resource request"
        },
        "dataSize": {
            "type": "number",
            "description": "Data size",
            "label@fr_FR": "Taille des données pour le stockage",
            "label@en_GB": "Data size for storage",
            "tooltip@fr_FR": "Ex : Demande d'espace de stockage de 10 To pour 3 ans",
            "tooltip@en_GB": "Ex: Request for 10 TB storage space for 3 years",
            "form_label@fr_FR": "Volume de stockage (en To)",
            "form_label@en_GB": "Storage volume (in Tb)"
        },
        "volumeUnit": {
            "type": "string",
            "description": "Size unit",
            "label@fr_FR": "Unité",
            "label@en_GB": "Unit",
            "tooltip": null,
            "hidden": true,
            "form_label@fr_FR": "Unité",
            "form_label@en_GB": "Unit"
        },
        "storageTime": {
            "type": "string",
            "description": "Storage duration (in month)",
            "inputType": "dropdown",
            "label@fr_FR": "Durée de stockage en mois",
            "label@en_GB": "Storage time (in months)",
            "registries": [
                "MesoUCAStorageTimes"
            ],
            "registryCategory": "MesoUCAStorageTime",
            "tooltip": null,
            "form_label@fr_FR": "Durée de stockage (en mois)",
            "form_label@en_GB": "Storage time (in months)"
        },
        "timeUnit": {
            "type": "string",
            "description": "Time unit",
            "label@fr_FR": "Unité",
            "label@en_GB": "Unit",
            "tooltip": null,
            "hidden": true,
            "form_label@fr_FR": "Unité",
            "form_label@en_GB": "Unit"
        },
        "endStorageDate": {
            "type": "string",
            "format": "date",
            "description": "Storage end date",
            "label@fr_FR": "Date de fin du stockage",
            "label@en_GB": "End date of storage",
            "tooltip": null,
            "form_label@fr_FR": "Date de fin du stockage",
            "form_label@en_GB": "End date of storage"
        }
    },
    "required": [
        "agentType",
        "justification",
        "dataSize",
        "volumeUnit",
        "storageTime",
        "timeUnit",
        "endStorageDate"
    ],
    "to_string": [
        "Stockage de ",
        "$.dataSize",
        " ",
        "$.volumeUnit",
        " (",
        "Date de fin de stockage",
        " : ",
        "$.endStorageDate",
        ")"
    ],
    "default": {
        "fr_FR": {
            "volumeUnit": "To",
            "timeUnit": "mois"
        },
        "en_GB": {
            "volumeUnit": "TB",
            "timeUnit": "months"
        }
    }
}