API Authentifiée
L'API est authentifiée, mais les routes n'utilisent pas l'authentification.
Les points de terminaison prioritaires sont marqués
Routes inchangées
-
graphy/headwords:
- revoir la sémantique pour savoir si ça reste dans l'API.
-
POST
/api/graphy/create
: n'est pas lié à un lexique en particulier -
GET
/api/user/details
: déjà d'après le token ?
Routes à modifier
-
DELETE
/api/graphy/delete
DELETE
/api/headword/delete
: Uniquement pour lesadmin
-
GET
/api/wiktionary/search
Ajouter un paramètredict_language
-
GET
/api/entry/search
: user identifié d'après le token- compte admin : si
target_lex
n'est pas renseigné, on cherche dans tous ses lexiques - compte normal : si
target_lex
n'est pas renseigné, on cherche dans tous ses lexiques. Sinon on vérifie que l'utilisateur a accès à ces lexiques sinon401
- compte admin : si
-
POST
/api/label/create
- si
personal
oupublic
, pas demaster_id
(d'après le token ou pas besoin) - si
group
lemaster_id
est l'identifiant du groupe (et non du lexique de groupe, cf./api/lexicon/search
) - pour un
group
, on vérifie qu'il y a accès au groupe
- si
-
GET
/api/lexicon/search
:-
par défaut,
user_id
est l'id de l'utilisateur qui fait la requête (token) -
seul l'admin peut spécifier le
user_id
ou legroup_id
-
on n'est pas obligé de spécifier de
category
ou delanguage
-
le json renvoyé fournit aussi
-
le
rgb
du groupe
À terme, si on associe un picto au lexique, il faudra le renvoyer dans (logo
) -
l'
id
du group
-
le
-
par défaut,
-
GET
/api/log/search
:user_id
d'après le token sauf pour l'admin -
POST
/api/log/create
:user_id
d'après le token (c'est déjà le cas ?) -
GET
api/user/level/{id}
:user_id
uniquement pour l'admin, sinon d'après le token -
on vérifie que les utilisateurs ont accès aux lexiques (
401
sinon)-
POST
/api/entry/create
-
POST
/api/entry/copy
-
GET
/api/entry/get/{id}
-
POST
/api/entry/edit/{id}
-
PUT
/api/entry/edit-comment/{id}
-
PUT
/api/entry/edit-discussion/{id}
-
DELETE
/api/entry/delete
-
GET
/api/lexicon/extract/{nb}
-
GET
/api/lexicon/entries/{id}
-
-
on vérifie que les utilisateurs ont accès aux labels (via lexique ? ;
401
sinon)-
GET
/api/label/get/{id}
-
POST
/api/label/add/{id}
-
POST
/api/label/edit/{id}
-
DELETE
/api/label/delete/{id}
-
DELETE
/api/label/remove/{id}
-
GET
/api/label/{id}/extract/{nb}
-
PUT
/api/lexicon/edit-comment/{id}
-
PUT
/api/lexicon/edit-discussion/{id}
-
Indépendamment de l'authentification
-
POST
/api/headword/create
: ajouter leheadword
au format json. Ça crée les deux graphies (une graphie avec le contenu deheadword
et une avec le contenu degraphy
) et le lemme (le contenu deheadword
en headword). -
PUT
/api/entry/edit/{id}
Routes à supprimer ?
-
/api/traces/*
: on n'utilisera que les logs-
/api/log/create-batch
sur le modèle du point de terminaison/api/traces/create-batch
à supprimer
-
À réfléchir
-
Retourne les lexiques perso de l'utilisateur, à conserver.GET
/api/user/lexicons
: est-ce qu'on n'est pas sur un doublon deGET
/api/lexicon/search
? Déjà d'après le token ?