-
Notifications
You must be signed in to change notification settings - Fork 0
Admin
Théophile Merlière edited this page Apr 12, 2023
·
1 revision
Ces routes sont exclusivement accessible aux administrateurs, elle requiert une authentification pour être utilisée. Toutes les routes de cette API utilisent un middleware spécifique appelé
ensureIsAdmin
, qui vérifie si l'utilisateur qui effectue la requête est un administrateur.
Les routes suivantes sont disponibles :
-
GET /chefs-de-file/:chefDeFileId
: récupère les informations d'un chef de file par son identifiant. -
PUT /chefs-de-file/:chefDeFileId
: met à jour les informations d'un chef de file par son identifiant. -
GET /chefs-de-file
: récupère la liste de tous les chefs de file. -
POST /chefs-de-file
: crée un nouveau chef de file.
Le modèle ChefDeFile
définit les attributs suivants :
-
nom
: le nom du chef de file (string, min 3 caractères, max 200 caractères, requis). -
email
: l'adresse e-mail du chef de file (string, format e-mail, requis). -
perimetre
: le périmètre d'action du chef de file (array, contenant des strings avec un type de territoire et un code, min 1 élément, requis). -
signataireCharte
: indique si le chef de file est signataire de la charte (boolean, optionnel, valeur par défaut false). Le périmètre d'action est composé de la concaténation du type de territoire (epci, departement, commune) et du code correspondant (code INSEE pour les communes, code département pour les départements, SIREN pour les EPCI), séparés par un tiret.
Le modèle ChefDeFile
fournit les fonctions suivantes :
-
create(payload)
: crée un nouveau chef de file avec les données du payload. -
update(id, payload)
: met à jour un chef de file existant avec les données du payload. -
fetch(chefDeFileId)
: récupère un chef de file par son identifiant. -
fetchAll()
: récupère la liste de tous les chefs de file.
Les routes suivantes sont disponibles :
-
GET /mandataires/:mandataireId
: récupère les informations d'un mandataire par son identifiant. -
PUT /mandataires/:mandataireId
: met à jour les informations d'un mandataire par son identifiant. -
GET /mandataires
: récupère la liste de tous les mandataires. -
POST /mandataires
: crée un nouveau mandataire.
Le modèle Mandataire définit les attributs suivants :
-
nom
: le nom du mandataire (string, min 3 caractères, max 200 caractères, requis). -
email
: l'adresse e-mail du mandataire (string, format e-mail, requis).
Le modèle Mandataire fournit les fonctions suivantes :
-
create(payload)
: crée un nouveau mandataire avec les données du payload. -
update(id, payload)
: met à jour un mandataire existant avec les données du payload. -
fetch(mandataireId)
: récupère un mandataire par son identifiant. -
fetchAll()
: récupère la liste de tous les mandataires.
Les routes suivantes sont disponibles :
-
GET /clients/:clientId
: récupère les informations d'un client par son identifiant. -
PUT /clients/:clientId
: met à jour les informations d'un client par son identifiant. -
GET /clients
: récupère la liste de tous les clients. -
POST /clients
: crée un nouveau client. -
POST /clients/:clientId/token/renew
: renouvelle le token d'un client par son identifiant.
Le modèle Client définit les attributs suivants :
-
mandataire
: l'identifiant du mandataire associé (string, ObjectId, requis). -
chefDeFile
: l'identifiant du chef de file associé (string, ObjectId, optionnel). -
nom
: le nom du client (string, min 3 caractères, max 200 caractères, requis). -
active
: indique si le client est actif ou non (booléen, optionnel). -
options
: les options du client (objet, optionnel). -
relaxMode
: mode relax du client (booléen, optionnel, par défaut false).
Le modèle Client fournit les fonctions suivantes :
-
create(payload)
: crée un nouveau client avec les données du payload. -
update(id, payload)
: met à jour un client existant avec les données du payload. -
renewToken(id)
: renouvelle le token d'un client. -
fetch(clientId)
: récupère un client par son identifiant. -
fetchAll()
: récupère la liste de tous les clients. -
computePublicClient(clientId)
: calcule les informations publiques d'un client. -
filterSensitiveFields(client)
: filtre les champs sensibles d'un client.