Le service UserService
expose les opérations suivantes :
create
: pour créer un utilisateurget
: pour récupérer un utilisateurupdate
: pour modifier un utilisateurpassword
: pour modifier le mot de passe d’un utilisateursearch
: pour rechercher des utilisateursdelete
: pour supprimer unutilisateur
Création et modification d’un utilisateur
Modèle
Le modèle utilisé par les appels create
et update
se présente comme ceci:
{
"id": "string",
"firstname": "string",
"lastname": "string",
"displayName": "string",
"mail": "string",
"password": "string",
"credentialsExpired": true,
"attributes": [
{
"name": "string",
"values": [
"string"
]
}
],
"groups": [
"string"
],
"profiles": [
"string"
]
}
Voici la description associée à l’ensemble des données de l’appel :
id
: identifiant unique de l’utlisateurfirstname
,lastname
,displayName
etmail
: informations de l’utilisateurpassword
: mot de passeprofiles
etgroups
: listes respectives des profils utilisateur et groupes auxquelles appartient cet utilisateurattributes
: liste d’attributs supplémentairescredentialsExpired
: si les identifiants de l’utilisateur sont expirés.
Exemple
Les exemples ci-dessous indiquent comment créer et modifier un utilisateur.
POST {{core}}/rest/users/ HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
-- Headers --
token: {{token}}
Content-Type: application/json
-- Body (json) --
{
"id": "exemple",
"firstname": "Prénom",
"lastname": "Nom",
"displayName": "Utilisateur exemple",
"mail": "exemple@gmail.com",
"password": "mdp",
"credentialsExpired": false,
"attributes": [
],
"groups": [
],
"profiles": [
"AllUsers", "eEnvelope"
]
}
@Autowired
private UserService userService;
@PostMapping
public void create() throws TechnicalException, FunctionalException
{
User user = new User(new Id("exemple"), "exemple d'utilisateur", "exemple@gmail.com", new ArrayList<Id>(),
new ArrayList<Id>(), new ArrayList<IdentityAttribute>(), "prenom", "nom", "mdp", false);
userService.create(user);
}
POST {{core}}/rest/users/{id} HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
id: identifiant de l'utilisateur
-- Headers --
token: {{token}}
Content-Type: application/json
{
"id": "exemple",
"firstname": "Nouveau prénom",
"lastname": "Nouveau nom",
"mail": "exemple@gmail.com",
"password": "mdp"
}
@Autowired
private UserService userService;
@PostMapping("/update")
public void update() throws TechnicalException, FunctionalException
{
Id id = new Id("exemple");
User user = new User();
user.setId(id);
user.setFirstname("Nouveau prenom");
user.setLastname("Nouveau nom");
userService.update(user);
}
Récupération d’un ou plusieurs utilisateur(s)
Modèle
Les paramètres à renseigner sont :
Nom | Description |
---|---|
ids |
Les identifiants uniques des utilisateurs à 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 utilisateurs.
GET {{core}}/rest/users/{ids}?resolveAuthorities={resolveAuthorities} HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
ids: identifiant des utilisateurs à récupérer
resolveAuthorities : false
-- Headers --
token: {{token}}
@Autowired
private UserService userService;
@GetMapping
public List<User> get() throws TechnicalException, FunctionalException
{
List<String> ids = Lists.newArrayList("exemple");
return userService.get(ids, true);
}
Recherche d’un ou plusieurs utilisateur(s)
Modèle
Le paramètre à renseigner est search
, il correspond à la valeur recherchée. La recherche peut s’effectuer sur le nom, le prénom, le nom à afficher (displayName
) ou l’identifiant de l’utilisateur, renseigné entièrement ou partiellement.
Exemple
L’exemple ci-dessous indique comment rechercher un utilisateur.
GET {{core}}/rest/users/search?name={name} HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
name: le nom de l'utilisateur
-- Headers --
token: {{token}}
@Autowired
private UserService userService;
@GetMapping("/search")
public List<User> search() throws TechnicalException, FunctionalException
{
return userService.search("le");
}
Modifier le mot de passe d’un utilisateur
Modèle
Les paramètres à renseigner sont :
Nom | Description |
---|---|
id |
L’identifiant unique de l’utilisateur |
newPassword |
Le nouveau mot de passe de l’utilisateur |
Exemple
L’exemple ci-dessous indique comment modifier le mot de passe d’un utilisateur.
PUT {{core}}/rest/users/{id}/password HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
-- Headers --
token: {{token}}
id: identifiant de l'utilisateur
-- Body --
{
"password": newpassword
}
@Autowired
private UserService userService;
@PutMapping("/password")
public void changePassword() throws TechnicalException, FunctionalException
{
String id = "exemple";
String newPassword = "NouveauPass";
userService.changePassword(id, newPassword);
}
Supprimer un utilisateur
Modèle
Le paramètre à renseigner est id
, l’identifiant unique de l’utilisateur à supprimer.
Exemple
L’exemple ci-dessous indique comment supprimer un utilisateur.
DELETE {{core}}/rest/users/{id} HTTP/1.1
-- Paramètres d'URL --
core: host de FlowerDocs core
id: identifiant de l'utilisateur
-- Headers --
token: {{token}}
@Autowired
private UserService userService;
@DeleteMapping()
public void delete() throws FunctionalException, TechnicalException
{
String id = "exemple";
userService.delete(id);
}