---
title: "Référence d'API — @nodefony/security — webhook"
source: docs/api/security/webhook.md
url: https://nodefony.github.io/nodefony-core/docs/api/security/webhook/
---


[Documentation](../../../) › [Référence d'API](../../) › [`@nodefony/security`](../) › webhook

> Générée depuis les déclarations de types publiées de `@nodefony/security` **10.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/security`

`import { … } from "@nodefony/security"` — 8 symboles.

### Classes (1)

#### `MemoryWebhookStore`

```ts
class MemoryWebhookStore implements IWebhookStore
```

- `readonly sortableFields: readonly [ "createdAt", "updatedAt", "url", "enabled", "failureCount", "id" ]` — {@inheritDoc IWebhookStore.sortableFields}
- `save(endpoint: IWebhookEndpoint): Promise<void>` — Insère un nouvel endpoint.
- `findById(id: string): Promise<IWebhookEndpoint | null>` — Charge un endpoint par id, ou `null`.
- `update(id: string, patch: WebhookEndpointUpdate): Promise<void>` — Applique un patch partiel (champs mutables) ; no-op si id absent.
- `delete(id: string): Promise<void>` — Supprime un endpoint ; no-op si id absent.
- `listAll(): Promise<IWebhookEndpoint[]>` — **Tous** les endpoints — réservé au **snapshot du dispatcher** (le service garde en mémoire la table complète des abonnements pour router un événement sans I/O, et la recharge au boot puis après chaqu …
- `listPage(query: IWebhookListQuery): Promise<IPage<IWebhookEndpoint>>` — Liste **paginée** d'endpoints pour le data plane admin — ne matérialise jamais plus d'une page, filtres `IWebhookListQuery` appliqués **au store** (jamais après un chargement complet).
- `countEndpoints(query: IWebhookListQuery): Promise<number>` — Nombre d'endpoints correspondant aux filtres (`COUNT` natif) — base du `total` d'une page et des compteurs de la console.

### Fonctions (3)

#### `getWebhookStoreFactory`

```ts
function getWebhookStoreFactory(name: string): WebhookStoreFactory
```

Fabrique d'un store par nom, ou `undefined` si inconnu.

#### `listWebhookStores`

```ts
function listWebhookStores(): string[]
```

Noms enregistrés (validation boot, introspection Studio, tests).

#### `registerWebhookStore`

```ts
function registerWebhookStore(name: string, factory: WebhookStoreFactory): void
```

Enregistre (ou remplace) la fabrique d'un store d'endpoints webhook.

### Constantes (2)

#### `WEBHOOK_DEFAULT_ORDER`

```ts
const WEBHOOK_DEFAULT_ORDER: NonNullable<IPageQuery["order"]>
```

Ordre contractuel appliqué quand le client n'en demande aucun : les abonnements les plus récents d'abord, départagés par identifiant pour rester **déterministe** à horodatage égal — sans ce tiebreaker, deux endpoints créés dans la même milliseconde peuvent changer de page entre deux appels, et l'un des deux ne jamais apparaître.

#### `WEBHOOK_SORTABLE_FIELDS`

```ts
const WEBHOOK_SORTABLE_FIELDS: readonly [ "createdAt", "updatedAt", "url", "enabled", "failureCount", "id" ]
```

**Le vocabulaire de tri des endpoints webhook**, en noms PUBLICS — ceux qu'un client écrit dans l'URL (`?order=failureCount:DESC`), jamais des noms de colonne.

### Interfaces (1)

#### `IWebhookStoreFactoryContext`

```ts
interface IWebhookStoreFactoryContext
```

Registre de **fabriques de stores d'endpoints webhook** — résout un nom (`memory`, `drizzle`, `mongoose`…) vers une instance, SANS coupler le cœur à un backend en dur.

- `readonly container: Container` — Container DI — résolution de services (ORM…).
- `readonly config: ISecurityConfig` — Config sécurité validée + gelée.

### Types (1)

#### `WebhookStoreFactory`

```ts
type WebhookStoreFactory = (ctx: IWebhookStoreFactoryContext) => IWebhookStore
```

Fabrique d'un store d'endpoints webhook pour un nom donné.

---

[← Toutes les références d'API](../../)
