API Group

Vue d’ensemble

L’API Group permet de gerer les groupes de Fess. Vous pouvez creer, mettre a jour et supprimer des groupes.

URL de base

/api/admin/group

Liste des endpoints

Methode Chemin Description
GET /settings Obtention de la liste des groupes
GET /setting/{id} Obtention d’un groupe
POST /setting Creation d’un groupe
PUT /setting Mise a jour d’un groupe
DELETE /setting/{id} Suppression d’un groupe

Obtention de la liste des groupes

Requete

GET /api/admin/group/settings

Parametres

Parametre Type Requis Description
size Integer Non Nombre d’elements par page (par defaut : 25)
page Integer Non Numero de page (commence a 1, par defaut : 1)
id String Non Filtre par correspondance exacte sur l’ID de groupe specifie

Reponse

{
  "response": {
    "status": 0,
    "settings": [
      {
        "id": "group_id_1",
        "name": "Engineering",
        "attributes": {
          "gidNumber": "1000"
        },
        "versionNo": 1
      },
      {
        "id": "group_id_2",
        "name": "Sales",
        "attributes": {
          "gidNumber": "1001"
        },
        "versionNo": 1
      }
    ],
    "total": 5
  }
}

Obtention d’un groupe

Requete

GET /api/admin/group/setting/{id}

Reponse

{
  "response": {
    "status": 0,
    "setting": {
      "id": "group_id_1",
      "name": "Engineering",
      "attributes": {
        "gidNumber": "1000"
      },
      "versionNo": 1
    }
  }
}

Creation d’un groupe

Requete

POST /api/admin/group/setting
Content-Type: application/json

Corps de la requete

{
  "name": "Marketing",
  "attributes": {
    "gidNumber": "1002"
  }
}

Description des champs

Champ Requis Description
name Oui Nom du groupe (maximum 100 caracteres)
attributes Non Map d’attributs (contenant des attributs LDAP comme gidNumber). Les valeurs sont specifiees sous forme de chaines de caracteres

Reponse

{
  "response": {
    "status": 0,
    "id": "new_group_id",
    "created": true
  }
}

Mise a jour d’un groupe

Requete

PUT /api/admin/group/setting
Content-Type: application/json

Corps de la requete

{
  "id": "existing_group_id",
  "name": "Marketing Team",
  "attributes": {
    "gidNumber": "1002"
  },
  "versionNo": 1
}

Description des champs

Champ Requis Description
id Oui ID du groupe a mettre a jour
name Oui Nom du groupe (maximum 100 caracteres)
attributes Non Map d’attributs (contenant des attributs LDAP comme gidNumber). Les valeurs sont specifiees sous forme de chaines de caracteres
versionNo Oui Numero de version pour le verrouillage optimiste. Specifiez la valeur de versionNo obtenue lors de l’obtention du groupe

Reponse

{
  "response": {
    "status": 0,
    "id": "existing_group_id",
    "created": false
  }
}

Suppression d’un groupe

Requete

DELETE /api/admin/group/setting/{id}

Reponse

{
  "response": {
    "status": 0,
    "id": "deleted_group_id",
    "created": false
  }
}

Exemples d’utilisation

Creation d’un nouveau groupe

curl -X POST "http://localhost:8080/api/admin/group/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "name": "Product Team",
       "attributes": {
         "gidNumber": "2000"
       }
     }'

Obtention de la liste des groupes

curl -X GET "http://localhost:8080/api/admin/group/settings" \
     -H "Authorization: Bearer YOUR_TOKEN"

Informations complementaires