Gestion des groupes

Créez, récupérez, modifiez, recherchez et supprimez des groupes

Le service GroupService expose les opérations suivantes :

  • create : pour créer un groupe
  • get : pour récupérer un groupe
  • update : pour modifier un groupe
  • search : pour rechercher des groupes
  • delete : pour supprimer un groupe

Récupération de groupes

Modèle

Les paramètres à renseigner sont :

Nom Description
names Les identifiants uniques des groupes à remonter (séparés par une virgule)
resolveAuthorities Détermine si les profils et les groupes doivent être remontés

Exemple

L’exemple ci-dessous indique comment récupérer des groupes.


# <CORE_HOST>             URL de base de FlowerDocs Core
# <TOKEN>                 jeton d'authentification
# <NAMES>                 noms des groupes à récupérer
# <RESOLVE_AUTHORITIES>   résoudre les autorités (true/false)
curl -X GET "<CORE_HOST>/rest/groups/<NAMES>?resolveAuthorities=<RESOLVE_AUTHORITIES>" \
  -H "token: <TOKEN>"

    @Autowired
    private GroupService groupService;

    @GetMapping
    public List<Group> get() throws TechnicalException, FunctionalException
    {
        List<String> names = Lists.newArrayList("administrators");
        return groupService.get(names, true);
    }

Recherche de groupes

Modèle

Le paramètre à renseigner est name, il correspond à la valeur recherchée. La recherche peut s’effectuer sur le nom du groupe, renseigné entièrement ou partiellement.

Exemple

L’exemple ci-dessous indique comment rechercher des groupes.


# <CORE_HOST>  URL de base de FlowerDocs Core
# <TOKEN>      jeton d'authentification
# <NAME>       le nom du groupe
curl -X GET "<CORE_HOST>/rest/groups/search?name=<NAME>" \
  -H "token: <TOKEN>"

    @Autowired
    private GroupService groupService;

    @GetMapping("/search")
    public List<Group> search() throws TechnicalException, FunctionalException
    {
        return groupService.search("admin");
    }

Création et modification d’un groupe

Modèle

Le modèle utilisé par les appels create et update se présente comme ceci :

{
  "id": "string",
  "displayName": "string",
  "mail": "string",
  "attributes": [
    {
      "name": "string",
      "values": [
        "string"
      ]
    }
  ],
  "groups": [
    "string"
  ],
  "profiles": [
    "string"
  ],
  "members": [
    "string"
  ]
}

Voici la description associée à l’ensemble des données de l’appel :

  • id : identifiant unique du groupe
  • displayName et mail : informations du groupe
  • profiles et groups : listes respectives des profils et groupes parents
  • members : liste des identifiants des utilisateurs appartenant à ce groupe
  • attributes : liste d’attributs supplémentaires

Exemple

Les exemples ci-dessous indiquent comment créer et modifier un groupe.


# <CORE_HOST>  URL de base de FlowerDocs Core
# <TOKEN>      jeton d'authentification
curl -X POST "<CORE_HOST>/rest/groups/" \
  -H "token: <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
  "id": "developpeurs",
  "displayName": "Equipe de développement",
  "mail": "dev@exemple.com",
  "attributes": [],
  "groups": [],
  "profiles": [
    "AllUsers"
  ],
  "members": [
    "user1", "user2"
  ]
}'

    @Autowired
    private GroupService groupService;

    public void create() throws TechnicalException, FunctionalException
    {
        Group group = new Group();
        group.setId(new Id("developpeurs"));
        group.setDisplayName("Equipe de développement");
        group.setMail("dev@exemple.com");
        group.setMembers(Lists.newArrayList(new Id("user1"), new Id("user2")));
        group.setProfiles(Lists.newArrayList(new Id("AllUsers")));
        groupService.create(group);
    }

# <CORE_HOST>  URL de base de FlowerDocs Core
# <TOKEN>      jeton d'authentification
# <NAME>       nom du groupe
curl -X POST "<CORE_HOST>/rest/groups/<NAME>" \
  -H "token: <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
  "id": "developpeurs",
  "displayName": "Equipe Dev",
  "mail": "dev@exemple.com",
  "members": [
    "user1", "user2", "user3"
  ]
}'

    @Autowired
    private GroupService groupService;

    public void update() throws TechnicalException, FunctionalException
    {
        Group group = new Group();
        group.setId(new Id("developpeurs"));
        group.setDisplayName("Equipe Dev");
        group.setMembers(Lists.newArrayList(new Id("user1"), new Id("user2"), new Id("user3")));
        groupService.update(group);
    }

Supprimer un groupe

Modèle

Le paramètre à renseigner est name, l’identifiant unique du groupe à supprimer.

Exemple

L’exemple ci-dessous indique comment supprimer un groupe.


# <CORE_HOST>  URL de base de FlowerDocs Core
# <TOKEN>      jeton d'authentification
# <NAME>       nom du groupe
curl -X DELETE "<CORE_HOST>/rest/groups/<NAME>" \
  -H "token: <TOKEN>"

    @Autowired
    private GroupService groupService;

    public void delete() throws FunctionalException, TechnicalException
    {
        String name = "developpeurs";
        groupService.delete(name);
    }