# Smart Element: trash
Cette collection décrit les Smart ElementS de Anakeen Platform qui ont été supprimés.
# URL
L'URL d'accès est: /api/v2/trash
# Méthodes
La collection trash
implémente les éléments suivants:
- Collection: il n'y a pas d'accès possible directement auprès de la collection.
Action | URL | Action effectuée |
---|---|---|
GET | /api/v2/trash/ | Liste des Smart Elements supprimés |
POST | /api/v2/trash/ | N/A |
PUT | /api/v2/trash/ | N/A |
DELETE | /api/v2/trash/ | N/A |
- Ressource
Action | URL | Action effectuée |
---|---|---|
GET | /api/v2/trash/<docid> | Retourne le Smart Element docid |
POST | /api/v2/trash/<docid> | N/A |
PUT | /api/v2/trash/<docid> | Restauration du Smart Element docid |
DELETE | /api/v2/trash/<docid> | N/A |
# Consultation de la liste des Smart Elements supprimés
# URL canonique
GET /api/v2/trash/
Récupération de la liste des Smart Elements supprimés de la plateforme.
# 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 à 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 Fields du Smart Element (facultatif),uri
: URI d'accès au Smart Element.
Exemple:
{
"success": true,
"data": {
"requestParameters": {
"slice": 10,
"offset": 0,
"length": 10,
"orderBy": "title asc, id desc"
},
"uri": "/api/v2/trash/",
"documents": [
{
"properties": {
"id": 1068,
"title": "Administrateur des espaces de travail",
"initid": 1068,
"icon": "/api/v2/images/assets/sizes/24x24c/igroup.png",
"name": "GWSPADMIN",
"revision": 0,
"status": "deleted"
},
"uri": "/api/v2/trash/1068.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 |
---|---|---|
Sens de l'orderBy inconnu | 400 | CRUD0501 |
Smart Field ou propriété d'orderBy invalide | 400 | CRUD0502 |
# 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; il est possible de mettre plusieurs valeurs séparées par des
,
- valeur par défaut:
title:asc
.
- indique dans quel sens la collection doit être triée; il est possible de mettre plusieurs valeurs séparées par des
- slice:
- indique le nombre maximum de Smart Element à retourner; sa valeur est un entier ou le mot clef
all
, - sa valeur par défaut est
10
.
- indique le nombre maximum de Smart Element à retourner; sa valeur est un entier ou le mot clef
- 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/trash/?fields=document.properties
,GET /api/v2/trash/?fields=document.properties.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 | |
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.
# Consultation d'un Smart Element supprimé
# URL
GET /api/v2/trash/<docid>
Récupération de la dernière révision du Smart Element supprimé ayant pour id docid
.
L'extension .json
peut être ajoutée pour expliciter le format de sortie.
Exemple: GET /api/v2/trash/1234.json
L'identifiant du Smart Element peut être son nom logique ou son identifiant numérique.
# 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:
document.uri
: URI d'accès à la ressource modifiée,document.properties
: liste des valeurs des propriétés,document.attributes
: liste des valeurs des Smart Fields.
Les Smart Fields en visibilité I
ne sont pas retournés.
Exemple:
{
success: true,
data: {
document: {
uri: "/api/v2/trash/1068.json",
properties: {
id: 1068,
title: "Administrateur des espaces de travail",
initid: 1068,
icon: "/api/v2/images/assets/sizes/24x24c/igroup.png",
name: "GWSPADMIN",
revision: 0,
status: "deleted"
},
attributes: {
ba_title: {
value: null,
displayValue: null
},
[...]
}
}
}
}
# En cas d'échec
Les raisons d'échec spécifiques à cette requête sont:
Raison | Status HTTP | Code d'erreur |
---|---|---|
Smart Element non trouvé | 404 | ROUTES0100 |
Privilège insuffisant pour accéder au Smart Element | 403 Forbidden | ROUTES0101 |
Smart Element supprimé | 404 | ROUTES0102 |
# Résultat partiel
Le Smart Element peut être retourné avec plus ou moins d'informations.
GET /api/v2/trash/1234.json?fields=document.properties
GET /api/v2/trash/1234.json?fields=document.properties.id,document.properties.title,document.attributes
GET /api/v2/trash/1234.json?fields=document.properties.id,document.properties.title,document.attributes.my_example
GET /api/v2/trash/1234.json?fields=document.properties.id,document.properties.title,document.attributes,family.structure
Par défaut: fields=document.properties,document.attributes
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.<prop> | Récupère la propriété indiquée | |
document.attributes | Récupère les valeurs et les valeurs affichables des Smart Field | |
document.attributes.<id> | Récupère la valeur d'un attribut particulier | |
document.family.structure | Récupère la structure de la Smart Structure |
# Restauration d'un Smart Element
# URL
PUT /api/v2/trash/<docid>
Restauration du Smart Element docid
.
L'extension .json
peut être ajoutée pour expliciter le format de sortie.
Exemple: PUT /api/v2/trash/1234.json
Attention
L'identifiant du Smart Element peut être son nom logique ou nom identifiant numérique. L'identifiant numérique peut
référencer n'importe quelle révision du Smart Element.
Dans tous les cas, la modification porte sur la dernière révision du Smart Element.
# Contenu
# Format JSON
La demande de restauration doit être formulée de la manière suivante.
Le type de la requête est application/json
.
{
"document": {
"properties": {
"status": "alive"
}
}
}
Note
Toute donnée additionnelle sera ignorée.
# Structure de retour
Le retour est une donnée JSON.
# En cas de réussite
La partie data
contient les champs suivants:
document.uri
: URI d'accès à la ressource modifiée,document.properties
: liste des valeurs des propriétés, -document.attributes
: liste des valeurs des Smart Fields.
Exemple:
{"success" : true,
"messages" : [],
"data" : {
"document" : {
"uri": "\/api\/v2\/smart-elements\/1189.json",
"properties" : {
"title" : "Hello World",
[...]
},
"attributes" : {
"my_title" : {"value" : "Hello World", "displayValue" : "Hello World"},
[...]
}
}
},
"exceptionMessage" : ""
}
# En cas d'échec
Les raisons d'échec spécifiques à cette requête sont:
Raison | Status HTTP | Code d'erreur |
---|---|---|
Smart Element non trouvé | 404 | ROUTES0100 |
Demande de restauration du Smart Element refusée | 403 Forbidden | ROUTES0110 |
Smart Element trouvé mais pas dans la poubelle | 404 | ROUTES0112 |
Impossible de mettre à jour un Smart Element supprimé | 400 | ROUTES0113 |
Impossible de restaurer le Smart Element | 500 | CRUD0505 |