Référence d'API — nodefony — kernel-adminPlane
stable
Documentation › Référence d’API › nodefony › kernel-adminPlane
Générée depuis les déclarations de types publiées de
nodefony10.0.0-beta.5 : exactement ce que reçoit une application qui l’installe. Cette page n’existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.
nodefony#
import { … } from "nodefony" — 18 symboles.
Fonctions (9)#
adminReadCatalog#
function adminReadCatalog(broker: IAdminBrokerLike, caller: IAdminCaller, query?: IAdminCatalogQuery): IAdminCatalogView
Les endpoints du plan d’administration qu’une porte sans session peut servir à cet appelant — la règle unique dont dépendent nodefony_admin_list ET nodefony_admin_call.
executeAdminEndpoint#
function executeAdminEndpoint(input: IAdminExecuteInput): Promise<IAdminExecution>
Exécute un endpoint du plan d’administration — la porte unique, sans HTTP.
findAdminReadEntry#
function findAdminReadEntry(broker: IAdminBrokerLike, caller: IAdminCaller, namespace: string, path: string): IAdminCatalogEntry | null
Retrouve une entrée APPELABLE par son couple producteur/chemin.
isAdminGranted#
function isAdminGranted(roles: readonly string[], requiredRole: string): boolean
Décision d’autorisation du data plane admin (Studio) — fonction PURE, cœur de la garantie RBAC, testée isolément (zéro dépendance runtime/DI).
localOperatorCaller#
function localOperatorCaller(): IAdminCaller
L’opérateur qui lance une commande sur sa propre application.
normalizeAdminResult#
function normalizeAdminResult(result: unknown): IAdminExecution
Normalise ce qu’un handler a rendu : donnée brute, ou enveloppe.
refusedAdminScopes#
function refusedAdminScopes(requested: readonly string[], roles: readonly string[]): string[]
Les scopes d’administration demandés que ce porteur ne peut pas obtenir.
resolveAdminRole#
function resolveAdminRole(endpoint: Pick<IAdminEndpoint, "public" | "role">): string
Rôle effectif d’un endpoint — la règle, à un seul endroit.
rolesFromScopes#
function rolesFromScopes(scopes: readonly string[]): string[]
Traduit les scopes d’un jeton en rôles Nodefony.
Constantes (3)#
ADMIN_DEFAULT_ROLE#
const ADMIN_DEFAULT_ROLE = "ROLE_NODEFONY_ADMIN"
Rôle exigé par défaut d’un endpoint d’administration qui n’en déclare aucun.
ADMIN_SCOPE_READ#
const ADMIN_SCOPE_READ = "admin:read"
Scope d’un jeton ouvrant la LECTURE du plan d’administration.
ADMIN_SCOPE_WRITE#
const ADMIN_SCOPE_WRITE = "admin:write"
Scope d’un jeton ouvrant les MUTATIONS du plan d’administration.
Interfaces (5)#
IAdminCaller#
interface IAdminCaller
Qui appelle le plan d’administration, tel qu’il se PRÉSENTE.
user: unknown— L’utilisateur, quand la porte en connaît un.roles: readonly string[]— Ses rôles RÉELS — c’est sur eux que le contrôle d’accès tranche.label: string— Qui c’est, en clair.
IAdminCatalogView#
interface IAdminCatalogView
Ce que le catalogue montre, ET ce qu’il a écarté.
entries: IAdminCatalogEntry[]— Les endpoints appelables, groupés par personne — l’ordre de déclaration.total: number— Combien d’endpoints le plan déclare en tout.mutations: number— Écartés parce que ce sont des mutations (POST/PATCH/PUT/DELETE).selfService: number— Écartés parce qu’ils sont scopés à une session (public: true).denied: number— Écartés faute du rôle exigé par l’endpoint.filtered: number— Écartés par la restriction de lecture demandée (IAdminCatalogQuery).
IAdminExecuteInput#
interface IAdminExecuteInput
Ce dont l’exécution a besoin — aucun transport, aucun conteneur.
endpoint: IAdminEndpoint— L’endpoint résolu par l’appelant (par nom de route, ou par chemin).request: IAdminRequest— La requête projetée : params, query, corps, identité, rôles.requiredRole: string— Rôle exigé, déjà résolu parresolveAdminRole— passé plutôt que recalculé pour que la porte HTTP puisse honorer le rôle monté avec sa route.gate: AdminGate | null— Porte d’idempotence, ounullquand l’appelant n’en pose aucune.onServerError?: (error: Error) => void— Notification d’une panne serveur (le handler a levé autre chose qu’une erreur cliente).assertCredentialTransport?: () => void— Garde du transport d’un secret, pour un endpointcredentials: true: lève une erreur 403 si la requête est arrivée en clair en production.
IAdminExecution#
interface IAdminExecution
Issue d’un endpoint d’administration, sous la forme que TOUTES les portes reçoivent — succès comme échec.
status: number— Statut résolu du handler (200 par défaut).headers?: IAdminResponse["headers"]— En-têtes que le producteur a joints, s’il en a joint.body: unknown— La donnée, ou le corps d’erreur que le producteur a préparé.
IAdminGateVerdict#
interface IAdminGateVerdict
Verdict d’une porte posée AVANT le handler — aujourd’hui l’idempotence des mutations, demain ce que le transport exigera.
shortCircuit?: IAdminExecution— Réponse immédiate : le handler n’est pas appelé.onSuccess?: (execution: IAdminExecution) => void | Promise<void>— Appelé après un handler qui a rendu sa réponse.onFailure?: () => void | Promise<void>— Appelé après un handler qui a levé — l’appel reste réessayable.
Types (1)#
AdminGate#
type AdminGate = (request: IAdminRequest) => IAdminGateVerdict | Promise<IAdminGateVerdict>
Porte optionnelle évaluée entre le RBAC et le handler.