Aller au contenu

Accès aux dépôts

10 routes. Chemins relatifs à https://api.nexus-engine.eu/api/v1.

GET /forge/identities

Les comptes GitHub et GitLab declares a l’entreprise. Un developpeur ne voit que les siens.

RéponseForgeIdentityDto[]
POST /forge/identities session de l’application seulement

Declare un compte de forge. Le poste vient de l’obtenir de la forge avec le jeton personnel du membre : seul le login remonte, jamais le jeton.

Corpsprovider (github, gitlab), host, login, externalId, avatarUrl, memberId (admin, pour un absent)
RéponseForgeIdentityDto
NoteDeclare pour soi, le compte est VERIFIE ; declare par un administrateur pour quelqu’un d’autre, il ne l’est pas, et aucun acces ne sera pose dessus. 409 si un autre membre a deja declare ce compte.
DELETE /forge/identities/:provider/:host session de l’application seulement

Retire un compte declare. Les acces deja poses ne sont pas touches.

RequêtememberId (admin, pour quelqu’un d’autre)
Réponse{ ok: true }
GET /forge/settings Owner et Admin

Le niveau donne a chaque role, les organisations de l’entreprise, et si Nexus applique seul ce qui est sans risque.

Réponse{ mapping, owners, auto }
PUT /forge/settings Owner et Admin session de l’application seulement

Modifie ces reglages.

Corpsmapping ({ OWNER, ADMIN, DEVELOPER } vers READ/TRIAGE/PUSH/MAINTAIN, nul = defaut), owners (github.com/agence…), auto
Réponse{ mapping, owners, auto }
GET /forge/scope/:scope Owner et Admin

Ce qu’il faudrait, et ce qu’il faut aller lire : les depots de l’objet et les places voulues. Aucune forge n’est appelee — c’est une projection de ce que Nexus porte deja.

Requêteid (l’objet ; inutile pour AGENCY). :scope vaut AGENCY, PROJECT, SITE, SERVER ou REPO
Réponse{ depots, places, sansCompte, owners, auto }
POST /forge/ecart Owner et Admin

L’ecart entre ce qui est voulu et ce que la forge porte, a partir de ce qu’un poste vient de lire. Ne stocke rien.

Corpsportee ({ scope, id }), constats (ForgeConstatDepotDto[])
Réponse{ ecart: ForgeEcartDto }
POST /forge/plans Owner et Admin

L’apercu : le meme calcul, ecrit en base avec l’empreinte de ce qui a ete lu. C’est CETTE ligne qu’on applique ensuite.

Corpsportee ({ scope, id }), constats (ForgeConstatDepotDto[])
Réponse{ planId, scopeLabel, risque, ecart }
POST /forge/plans/:id/apply Owner et Admin session de l’application seulement

Ouvre l’ecriture : le corps porte la RELECTURE des depots, dont l’empreinte est comparee a celle de l’apercu. Les acces sont ecrits en base AVANT que la forge ne bouge, puis les operations sont rendues au poste, qui les execute.

Corpsconstats (ForgeConstatDepotDto[])
Réponse{ operations, risque }
Note409 si quelqu’un est passe depuis l’apercu (relire, puis recommencer), si l’apercu a deja ete joue, ou s’il ne propose rien. Refuse a une cle : donner un droit d’ecriture sur le depot d’un client se confirme devant l’apercu.
POST /forge/plans/:id/results Owner et Admin session de l’application seulement

Ce que la forge a repondu, une ligne par operation.

Corpsresultats (ForgeResultatDto[], dans l’ordre des operations)
Réponse{ status, poses, retires, echecs }
NoteUne invitation en attente n’est PAS un acces : elle a son propre etat, et le retrait l’annulera plutot que de retirer un membre qui n’existe pas encore.