# 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.
  • 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.
  • 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