Les modèles de données¶
L’application Sokkin utilise un système de modélisation des modèles de données. Ce système à pour objectif de combler les lacunes que propose le service Firebase. (voir Firebase, base de donnée en temps réel)
L’objectif est multiple:
- Valider des objets JSON facilement.
- Décrire les objets utilisés.
- Offrir des messages d’erreur à l’interface utilisateur.
Pour ce faire, nous utilisons AJV (Another Json Validator)
Note
Lien de AJV: https://ajv.js.org/
Voici un example de modèle pour un Utilisateur
Utilisateur ={
"type":"object",
"required":[
"email",
"prenom"
],
"properties":{
"email":{
"type":"string",
"format":"email"
},
"prenom":{
"type":"string"
},
"enfants":{
"type":"array",
"uniqueItems":true,
"items":{
"type":"string"
}
}
}
}
-
type
¶ type
permet de définir le type ( ou plusieurs types) pour une propriété. Les types de base sont les suivants:number
,integer
,string
,boolean
,array
,object
ounull
Warning
Les autres mots clef s’appliquent souvent par rapport à un type
. Si la donnée est de type différent, le mot clef ne sera pas appliqué et la donnée sera considérée valide.
-
properties
¶ Le mot clef
properties
est un objet de type clef-valeur. Chaque valeur doit être un schema JSON valide.L’objet
Utilisateur
devra, pour être valide, contenir toutes les propriétés citées. (un prenom et un email dans notre cas)