Aller au contenu

Priorités

Les priorités constituent un référentiel global utilisé par l’indexation et la recherche. Toutes les routes sont authentifiées. Les lectures ordinaires sont accessibles sans privilège fonctionnel supplémentaire, les mutations et la gestion de l’ordre exigent admin_priorities.

Authentification, privilège et périmètre

Toutes les actions exigent une authentification et portent sur le référentiel global de l’instance. Les deux lectures sous /rest/priorities n’ajoutent aucun contrôle de privilège. Les créations, modifications, suppressions et les deux routes /rest/sortedPriorities exigent admin_priorities.

Structure d’une priorité

Valeur Type Description
id string Identifiant généré par le serveur
label string Libellé
color string Couleur
delays integer Délai associé, doit être unique
order integer ou null Position de tri

Lister les priorités

Route

GET /rest/priorities

Retour

Code HTTP Type Description Exemple
200 object Priorités triées par order {"priorities":[{"id":"<identifiant>","label":"Urgent","color":"#ff0000","delays":1,"order":0}]}

Lire une priorité

Route

GET /rest/priorities/{id}

Paramètres d’URL

Valeur Type Obligatoire Description
id string Oui Identifiant de la priorité

Retour

Code HTTP Type Description Exemple
200 object Priorité trouvée {"priority":{"id":"<identifiant>","label":"Urgent","color":"#ff0000","delays":1}}
400 object Priorité absente {"errors":"Priority not found"}

Créer une priorité

Route

POST /rest/priorities

Body

Valeur Type Obligatoire Description
label string Oui Libellé
color string Oui Couleur
delays integer Oui Délai, zéro accepté, unique dans le référentiel
{
  "label": "Urgent",
  "color": "#ff0000",
  "delays": 1
}

Retour

Code HTTP Type Description Exemple
200 object Priorité créée {"priority":"<identifiant>"}
400 object Corps invalide {"errors":"Body (label, color or delays) is empty or type is incorrect"}
400 object Délai déjà utilisé Message traduit correspondant au délai déjà attribué
403 object Privilège absent {"errors":"Service forbidden"}

Modifier une priorité

Route

PUT /rest/priorities/{id}

Paramètres d’URL

Valeur Type Obligatoire Description
id string Oui Identifiant de la priorité

Body

Le body contient les mêmes propriétés obligatoires que la création.

{
  "label": "Très urgent",
  "color": "#cc0000",
  "delays": 1
}

Retour

Code HTTP Type Description Exemple
200 object Priorité modifiée {"success":"success"}
400 object Corps invalide ou délai déjà utilisé Message exact du contrôle
403 object Privilège absent {"errors":"Service forbidden"}

Supprimer une priorité

Route

DELETE /rest/priorities/{id}

Paramètres d’URL

Valeur Type Obligatoire Description
id string Oui Identifiant de la priorité

Retour

Code HTTP Type Description Exemple
200 object Priorité supprimée et référentiel restant {"priorities":[]}
403 object Privilège absent {"errors":"Service forbidden"}

Lire l’ordre d’administration

Route

GET /rest/sortedPriorities

Retour

Code HTTP Type Description Exemple
200 object Identifiants, libellés et positions, valeurs nulles en dernier {"priorities":[{"id":"<identifiant>","label":"Urgent","order":0}]}
403 object Privilège absent {"errors":"Service forbidden"}

Modifier l’ordre

Route

PUT /rest/sortedPriorities

Body

Le body est un tableau ordonné. La position de chaque élément dans le tableau devient sa valeur order, seul id est utilisé pour la mise à jour.

[
  {"id": "<identifiant-1>", "label": "Urgent", "order": 1},
  {"id": "<identifiant-2>", "label": "Normal", "order": 0}
]

Retour

Code HTTP Type Description Exemple
200 object Nouvel ordre {"priorities":[{"id":"<identifiant-1>","label":"Urgent","order":0}]}
403 object Privilège absent {"errors":"Service forbidden"}