# Les actions

Les actions sont obligatoire pour créer une condition par defaut elle permette de modifier certains résultat lié à des conditions mais elle doivent être configurer.

action peut se décliner en 3 cas avec un e synthèxe interne un peu différente&#x20;

### Utilisation la plus basique nothing

"**name**" : paramètre faisant référence à la fonction **nothing** qui sera appelé lors de l'execution de action.

**nothing** : signifie que le moteur de règle vérifiera si la ligne généré est bien égale à la condition mais n’exécutera pas de conditions particulières. C'est le cas le plus basique de action.



```json
// Some code
"conditions": {
            "all": [
                {
                    "name": "bool1",
                    "operator": "is_false",
                    "value" : true
                }
            ]
        },
        "actions": [
            {
                "name": "nothing"
               
            }
```

### Utilisation de setNull

Dans ce cas nous souhaitons créer des anomalies sur des champs lorsque cette condition est respecté. Le champ est complètement modulable&#x20;

"**name**" : paramètre faisant référence à la fonction **setNull** qui sera appelé lors de l’exécution de action.

"**params**" : paramètre incluant les valeurs à modifier , par quoi les remplacer aisni que les champs à éviter

_Dans le tableau param il y'a 3 paramètres:_

**field\_name** : paramètre qui spécifie les colonnes concerné par la fonction setNull

il prend la valeur all pour spécifier tout la ligne et c'est donc pour cela que le paramètre avoid\_field (éviter un champ) existe.

```json
                "params": {"field_name" : "all" , ...}
```

Lorsque l'on souhaite ajouter seulement certaines valeurs, dans ce cas là il n'est pas obligatoire de passer le paramètre **avoid\_field**&#x20;

```json
                "params": {"field_name" : ["colone1", "colone3" ...]}
```

***

**value :** ce paramètre permet de mettre la valeur que l'on souhaite passe en anomalie, dans notre cas la valeur sera <mark style="color:blue;">None</mark>&#x20;

**random\_anomalie\_number:** ce paramètre permet de défnir le bombre maximal d'anomalie par ligne

**avoid\_field :** est un paramètre qui permet de préciser les champs à éviter  sous la forme d'un tableau

Il n'est utilisable que lorsque **field\_name** prend en valeur all .

