# 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
,
- indique dans quel sens la collection doit être triée; on peut mettre plusieurs valeurs séparées par des
- 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
,
- indique le nombre maximum de Smart Elements à retourner; sa valeur est un entier ou le mot clef
- 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.