# Dossier

Cette collection décrit les dossiers de Anakeen Platform.
Un dossier est un Smart Element permettant de stocker un ensemble de Smart Elements.

# URL

L'URL d'accès est : /api/v2/folders

# Méthodes

La collection dir implémente les éléments suivants:

  • Collection
Action URL Action effectuée
GET api/v2/folders Liste des dossiers
POST N/A
PUT N/A
DELETE N/A

N.B.

La création d'un nouveau dossier passe par l'utilisation de l'entrée /api/v2/smart-structures/DIR/smart-elements/.

  • Ressource
Action URL Action effectuée
GET api/v2/folders/<folder>/smart-elements/ Contenu du dossier folder
POST N/A
PUT N/A
DELETE N/A

# Liste des dossiers

# URL canonique

GET /api/v2/folders/

Récupération de la liste des dossiers accessibles.

# Contenu

Le contenu de la requête est vide.

# Structure de retour

Le retour est une donnée JSON.

# En cas de réussite

La partie data contient les champs suivants:

  • requestParameters: contient un résumé des paramètres de la requête en cours (pagination et orderBy),
  • uri: URI d'accès de la collection,
  • documents: un tableau de Smart Element (sous la même forme que les Smart Elements unitaires).
    Chaque Smart Element est un objet contenant les entrées suivantes:
  • properties: liste des propriétés du dossier,
  • uri: URI du contenu du dossier.

Exemple:

{
  "success": true,
  "data": {
    "requestParameters": {
      "slice": 10,
      "offset": 0,
      "length": 10,
      "orderBy": "title asc, id desc"
    },
    "uri": "/api/v2/folders/",
    "documents": [
      {
        "properties": {
          "id": 1014,
          "title": "Administrators",
          "initid": 1014,
          "icon": "/api/v2/images/assets/sizes/24x24c/se-igroup.png",
          "name": "GADMIN",
          "revision": 0,
          "status": "alive"
        },
        "uri": "/api/v2/smart-elements/1014.json"
      }
    ]
  }
}

# En cas d'échec

Les raisons d'échec spécifiques à cette requête sont:

Raison Status HTTP Code d'erreur
Smart Field ou propriété de slice invalide 400 ROUTES0139

# Résultat partiel

# Pagination et tri

La liste des Smart Elements peut être paginée et ordonnée.
Les mots clefs GET sont les suivants:

  • orderBy : <Smart Field|propriété>: <asc:desc>
    • indique dans quel sens la collection doit être triée.
    • valeur par défaut: title:asc,
  • slice :
    • indique le nombre maximum de Smart Elements à retourner.
    • sa valeur par défaut est 10,
  • offset:
    • indique le nombre d'éléments à exclure avant de retourner la collection.
    • valeur par défaut: 0.

N.B.

Les paramètres appliqués sont résumés dans le retour de la collection requestParameters.

# Informations retournées

Les Smart Elements peuvent être retournés avec plus ou moins d 'informations.

  • GET /api/v2/folders/?fields=document.properties
  • GET /api/v2/folders/?field=document.prperties.id,document.properties.title

Par défaut: fields=document.properties

Fields Signification Remarques
document.properties Récupère l'ensemble des propriétés par défaut "id", "title", "icon", "initid", "name"
document.properties.all Récupère toutes les propriétés
document.properties.<prop> Récupère la propriété indiquée

# Cache

La collection n'a pas de cache.

# Consultation du contenu d'un dossier

# URL canonique

GET /api/v2/folders/<folder>/smart-elements/

Récupération de la liste des Smart Elements contenus dans le dossier folder.

# Contenu

Le contenu de la requête est vide.

# Structure de retour

Le retour est une donnée JSON.

# En cas de réussite

La partie data contient les champs suivants:

  • requestParameters: contient un résumé des paramètres de la requête en cours (pagination et orderBy),
  • uri: URI d'accès de la collection,
  • documents: un tableau de Smart Elements (sous la même forme que les Smart Elements unitaires).
    Chaque Smart Element est un objet contenant les entrées suivantes:
  • properties: liste des propriétés du Smart Element,
  • attributes: liste des Smart Field du Smart Element (facultatif),
  • uri: URI d'accès au Smart Element.

Exemple:

{
  "success": true,
  "data": {
    "requestParameters": {
      "slice": 10,
      "offset": 0,
      "length": 7,
      "orderBy": "title asc, id desc"
    },
    "uri": "/api/v2/folders/GADMIN/smart-elements/",
    "documents": [
      {
        "properties": {
          "id": 93956,
          "title": "Administrateur des espaces de travail",
          "initid": 93956,
          "icon": "/api/v2/images/assets/sizes/24x24c/igroup.png",
          "name": "GWSPADMIN",
          "revision": 0,
          "status": "alive"
        },
        "uri": "/api/v2/smart-elements/93956.json"
      }
    ]
  }
}

N.B.

Les valeurs retournées correspondent aux valeurs de la vue de consultation par défaut.

# En cas d'échec

Les raisons d'échec spécifiques à cette requête sont:

Raison Status HTTP Code d'erreur
Dossier non trouvé 404 ROUTES0105
L'identifiant fourni ne correspond à aucun dossier 404 ROUTES0125
Accès refusé au dossier 403 Forbidden CRUD0201

# Résultat partiel

# Pagination et tri

La liste des Smart Elements peut être paginée et ordonnée.
Les mots clefs GET sont les suivants:

  • orderBy : <Smart Field|propriété>: <asc:desc>
    • indique dans quel sens la collection doit être triée; on peut mettre plusieurs valeurs séparées par des ,,
    • valeur par défaut: title:asc,
  • slice :
    • indique le nombre maximum de Smart Elements à retourner; sa valeur est un entier ou le mot clef all,
    • sa valeur par défaut est 10,
  • offset:
    • indique de passer ce nombre d'éléments avant de retourner la collection.
    • valeur par défaut: 0.

N.B.

Les paramètres appliqués sont résumés dans le retour de la collection requestParameters.

Exemple: GET /api/v2/folders/<folder>/smart-elements/?orderBy=title:asc,id:desc&slice=100&offset=20.

# Informations retournées

Les Smart Elements peuvent être retournés avec plus ou moins d'informations.

  • GET /api/v2/folders/<folder>/smart-elements/fields=document.properties
  • GET /api/v2/folders/<folder>/smart-elements/fields=document.properties.id,document.properties.title
  • GET /api/v2/folders/<folder>/smart-elements/fields=document.attributes
  • GET /api/v2/folders/<folder>/smart-elements/fields=document.attributes.my_smartField

Par défaut : fields=document.properties

Fields Signification Remarques
document.properties Récupère l'ensemble des propriétés par défaut "id", "title", "icon", "initid", "name", "revision"
document.properties.all Récupère toutes les propriétés
document.properties.<prop> Récupère la propriété indiquée
document.attributes Ajoute tous les Smart Fields de la Smart Structure référencée par le dossier S'il n'y a pas de Smart Structure de référence, alors aucun Smart Field n'est retourné
document.attributes.my_smartField Ajoute le Smart Field my_smartField Si le Smart Field n'existe pas dans un des Smart Elements, il est retourné vide

# Cache

La collection n'a pas de cache.