Nodefony 10.0.0-beta.5
Framework Node.js fullstack — HTTP & WebSocket, même contexte

Référence d'API — @nodefony/mongoose

stable

Documentation › Référence d’API › @nodefony/mongoose

Générée depuis les déclarations de types publiées de @nodefony/mongoose 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/mongoose#

import { … } from "@nodefony/mongoose" — 65 symboles.

Classes (14)#

MongooseAuditStore#

class MongooseAuditStore implements IAuditStore

Journal d’audit Mongoose (NoSQL) — implémentation documentaire d’ IAuditStore (append-only, tamper-evident) pour la rétention longue et le partage cross-pod, là où le store mémoire par défaut reste affine à un pod et volatile. Pendant documentaire de DrizzleAuditStore.

MongooseIdempotencyStore#

class MongooseIdempotencyStore implements IIdempotencyStore

Store d’idempotence Mongoose (NoSQL) — implémentation documentaire d’ IIdempotencyStore (contrat au CORE) pour dédoublonner les mutations rejouées PARTAGÉ cross-pod, là où le store mémoire par défaut reste affine à un pod. Pendant documentaire de DrizzleIdempotencyStore.

MongooseOrm#

class MongooseOrm extends Orm

Adapter Mongoose branché sur @nodefony/orm-core (P5.4).

MongooseRepository#

class MongooseRepository<T = unknown> implements IRepository<T>

Repository portable (contrat IRepository) au-dessus d’un modèle Mongoose.

MongooseService#

class MongooseService extends Service

Service bootable du module @nodefony/mongoose (driver NoSQL).

MongooseTokenStore#

class MongooseTokenStore implements ITokenStore

Store de jetons Mongoose (NoSQL) — implémentation d’ITokenStore au dessus de trois repositories @nodefony/orm-core (access_token, denied_jti, subject_revocation). Pendant documentaire de DrizzleTokenStore.

MongooseTotpSecretStore#

class MongooseTotpSecretStore implements ITotpSecretStore

Store de secrets TOTP Mongoose (NoSQL) — implémentation documentaire d’ ITotpSecretStore au-dessus d’un unique repository @nodefony/orm-core (totp_secret). Pendant documentaire de DrizzleTotpSecretStore : là où MemoryTotpSecretStore est volatile, ce store survit au redémarrage et se partage entre pods.

MongooseTransaction#

class MongooseTransaction implements ITransaction

Adapte une ClientSession MongoDB au contrat portable ITransaction.

MongooseUserRepository#

class MongooseUserRepository implements IUserRepository

Adapter Mongoose du contrat IUserRepository — persistance NoSQL de l’utilisateur (P5.8), pendant documentaire de DrizzleUserRepository (P5.9).

MongooseWebAuthnCredentialStore#

class MongooseWebAuthnCredentialStore implements IWebAuthnCredentialStore

Store de credentials WebAuthn Mongoose (NoSQL) — implémentation d’ IWebAuthnCredentialStore au-dessus d’un unique repository @nodefony/orm-core (webauthn_credential). Pendant documentaire de DrizzleWebAuthnCredentialStore.

MongooseWebhookStore#

class MongooseWebhookStore implements IWebhookStore

Store d’endpoints webhook Mongoose (NoSQL) — implémentation d’ IWebhookStore au-dessus d’un unique repository @nodefony/orm-core (webhook_endpoint). Pendant documentaire de DrizzleWebhookStore ; registre DURABLE des endpoints (survit au redémarrage, ≠ MemoryWebhookStore).

SessionEntity#

class SessionEntity

Entité session enregistrée dans le entityRegistry pour le connecteur nodefony — MongooseOrm compile le modèle à la connexion (au boot).

SessionStorage#

class SessionStorage implements ISessionStorage

Stockage de session Mongoose (driver NoSQL), branché sur @nodefony/orm-core.

default#

class Mongoose extends Module<IMongooseConfig>

Fonctions (17)#

createAuditEntities#

function createAuditEntities(connector: string): IEntity[]

Construit les descripteurs d’entités du journal d’audit pour un ORM nommé.

createIdempotencyEntities#

function createIdempotencyEntities(connector: string): IEntity[]

Construit le descripteur d’entité du store d’idempotence pour un ORM nommé.

createTokenEntities#

function createTokenEntities(connector: string): IEntity[]

Construit les descripteurs d’entités du store de jetons pour un ORM nommé.

createTotpSecretEntity#

function createTotpSecretEntity(connector: string): IEntity

Construit le descripteur d’entité du store de secrets TOTP pour un ORM nommé.

createUserEntity#

function createUserEntity(connector: string): IEntity

Construit le descripteur d’entité User Mongoose pour un ORM nommé.

createWebAuthnCredentialEntity#

function createWebAuthnCredentialEntity(connector: string): IEntity

Construit le descripteur d’entité du store de credentials pour un ORM nommé.

createWebhookEndpointEntity#

function createWebhookEndpointEntity(connector: string): IEntity

Construit le descripteur d’entité du store webhook pour un ORM nommé.

defineMongooseConfig#

function defineMongooseConfig(config?: IMongooseConfigInput): IMongooseConfig

Builder type-safe de la configuration de @nodefony/mongoose.

mongooseConfigJsonSchema#

function mongooseConfigJsonSchema(): unknown

JSON Schema introspectable de la config Mongoose — destiné au formulaire d’édition Studio (futur) et à la documentation générée.

registerAuditEntities#

function registerAuditEntities(connector: string): void

Enregistre les entités du journal d’audit dans le entityRegistry pour un ORM donné. À appeler avant orm.connect() (le modèle est compilé au connect).

registerIdempotencyEntities#

function registerIdempotencyEntities(connector: string): void

Enregistre l’entité du store d’idempotence dans le entityRegistry pour un ORM donné. À appeler avant orm.connect().

registerMongooseFrameworkStores#

function registerMongooseFrameworkStores(): IFrameworkStoresReport

Déclare les entités framework Mongoose (connecteur nodefony) et enregistre leurs fabriques de stores dans les registres de @nodefony/security. Idempotent (guards) — rejouable sans effet.

registerTokenEntities#

function registerTokenEntities(connector: string): void

Enregistre les entités du store de jetons dans le entityRegistry pour un ORM donné. À appeler avant orm.connect() (le modèle est compilé au connect).

registerTotpSecretEntity#

function registerTotpSecretEntity(connector: string): void

Enregistre l’entité du store de secrets TOTP dans le entityRegistry pour un ORM donné. À appeler avant orm.connect().

registerUserEntity#

function registerUserEntity(connector: string): void

Enregistre l’entité User Mongoose dans le entityRegistry pour un ORM donné. À appeler avant orm.connect() (le modèle est compilé au connect).

registerWebAuthnCredentialEntity#

function registerWebAuthnCredentialEntity(connector: string): void

Enregistre l’entité du store de credentials dans le entityRegistry pour un ORM donné. À appeler avant orm.connect() (le modèle est compilé au connect).

registerWebhookEndpointEntity#

function registerWebhookEndpointEntity(connector: string): void

Enregistre l’entité du store webhook dans le entityRegistry pour un ORM donné. À appeler avant orm.connect() (le modèle est compilé au connect).

Constantes (19)#

AUDIT_ENTITY_NAMES#

const AUDIT_ENTITY_NAMES: { readonly events: "audit_event"; }

Noms logiques des entités du store (clés de lookup getRepository).

FRAMEWORK_CONNECTOR#

const FRAMEWORK_CONNECTOR = "nodefony"

Connecteur conventionnel qui héberge le schéma framework ("nodefony" pour Mongoose, ≠ "default" de Drizzle — isole les entités homonymes dans le entityRegistry process-wide si les deux ORM cohabitent).

IDEMPOTENCY_ENTITY_NAME#

const IDEMPOTENCY_ENTITY_NAME: "idempotency_key"

Nom logique de l’entité (clé de lookup getRepository / entityRegistry).

SESSION_CONNECTOR#

const SESSION_CONNECTOR = "nodefony"

ORM cible du stockage de session (connecteur par défaut du module).

TOKEN_ENTITY_NAMES#

const TOKEN_ENTITY_NAMES: { readonly records: "access_token"; readonly denied: "denied_jti"; readonly revocations: "subject_revocation"; }

Noms logiques des entités du store (clés de lookup getRepository).

TOTP_SECRET_ENTITY#

const TOTP_SECRET_ENTITY = "totp_secret"

Nom logique de l’entité (clé de lookup getRepository).

WEBAUTHN_CREDENTIAL_ENTITY#

const WEBAUTHN_CREDENTIAL_ENTITY = "webauthn_credential"

Nom logique de l’entité (clé de lookup getRepository).

WEBHOOK_ENDPOINT_ENTITY#

const WEBHOOK_ENDPOINT_ENTITY = "webhook_endpoint"

Nom logique de l’entité (clé de lookup getRepository).

accessTokenSchema#

const accessTokenSchema: SchemaDefinition

Schémas Mongoose du store de jetons @nodefony/security (pendant documentaire des tables Drizzle) — implémentation NoSQL d’ITokenStore (PAT, refresh, denylist jti, seuil de révocation en masse).

auditEventSchema#

const auditEventSchema: SchemaDefinition

Schéma Mongoose du journal d’audit @nodefony/security — pendant documentaire de la table Drizzle audit_event, implémentation NoSQL d’ IAuditStore (append-only, tamper-evident).

deniedJtiSchema#

const deniedJtiSchema: SchemaDefinition

Denylist des access tokens (jti = _id) révoqués avant leur exp.

idempotencyKeySchema#

const idempotencyKeySchema: SchemaDefinition

Schéma Mongoose du store d’idempotence — pendant documentaire de la table Drizzle idempotency_key, implémentation NoSQL d’IIdempotencyStore (contrat au CORE) pour dédoublonner les mutations rejouées PARTAGÉ cross-pod, là où le store mémoire par défaut reste affine à un pod.

mongooseConfigSchema#

const mongooseConfigSchema: z.ZodObject<{ debug: z.ZodDefault<z.ZodBoolean>; connectors: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{ uri: z.ZodOptional<z.ZodString>; host: z.ZodDefault<z.ZodString>; port: z.ZodDefault<z.ZodNumber>; dbname: z.ZodDefault<z.ZodString>; autoIndex: z.ZodOptional<z.ZodBoolean>; options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strict>>>; …

sessionSchema#

const schema: SchemaDefinition

Schéma Mongoose de stockage des sessions (compilé par MongooseOrm au boot).

subjectRevocationSchema#

const subjectRevocationSchema: SchemaDefinition

Seuil de révocation en masse par porteur (subjectId = _id).

totpSecretSchema#

const totpSecretSchema: SchemaDefinition

Schéma Mongoose du store de secrets TOTP @nodefony/security (2FA) — pendant documentaire de la table Drizzle totp_secret, implémentation NoSQL d’ITotpSecretStore.

userSchema#

const userSchema: SchemaDefinition

Schéma Mongoose de l’utilisateur Nodefony — implémentation NoSQL du contrat @nodefony/user, dérivée de USER_COLUMNS (pendant documentaire de userTable).

webAuthnCredentialSchema#

const webAuthnCredentialSchema: SchemaDefinition

Schéma Mongoose du store de credentials WebAuthn @nodefony/security (pendant documentaire de la table Drizzle) — implémentation NoSQL d’ IWebAuthnCredentialStore (passkeys).

webhookEndpointSchema#

const webhookEndpointSchema: SchemaDefinition

Schéma Mongoose du store d’endpoints webhook @nodefony/security (P6.13, pendant documentaire de la table Drizzle) — implémentation NoSQL d’ IWebhookStore (registre durable des destinations notifiées).

Interfaces (11)#

AuditEventRow#

interface AuditEventRow

Forme plate d’une ligne du journal renvoyée par le repository Mongoose — id = virtuel (= _id = l’id d’événement). Miroir d’IAuditEvent avec les champs optionnels rendus explicitement | null (le document Mongo les porte à null, jamais absents). MongooseAuditStore mappe Row ↔ IAuditEvent.

DeniedJtiRow#

interface DeniedJtiRow

Forme plate d’une ligne de denylist (id = virtuel = jti).

IFrameworkStoresReport#

interface IFrameworkStoresReport

Bilan de l’auto-enregistrement (loggé par le module — jamais silencieux).

IIndexAudit#

interface IIndexAudit

Verdict d’index d’une entité — l’écart entre ce que le schéma DÉCLARE et ce que la base PORTE réellement.

IdempotencyKeyRow#

interface IdempotencyKeyRow

Forme plate d’une ligne du store d’idempotence telle que rendue par le repository Mongoose. Identique aux champs de idempotencyKeySchema → zéro mapping store ↔ entité.

SessionRow#

interface SessionRow

Forme plate d’une ligne de session telle que renvoyée par le repository.

SubjectRevocationRow#

interface SubjectRevocationRow

Forme plate d’une ligne de révocation par porteur (id = virtuel = subjectId).

TotpSecretRow#

interface TotpSecretRow

Forme plate d’une ligne de secret renvoyée par le repository Mongoose. Structure identique à ITotpSecret (tout | null déjà présent côté contrat) → mapping quasi-identité dans MongooseTotpSecretStore.

UserRow#

interface IUserRow

Forme plate d’un utilisateur tel qu’un dépôt le rend, avant reconstruction en BaseUser — pendant TypeScript de USER_COLUMNS.

WebAuthnCredentialRow#

interface WebAuthnCredentialRow

Forme plate d’une ligne de credentials renvoyée par le repository Mongoose — id = virtuel (= _id = credentialId), nickname: string | null. Le store mappe Row ↔ IWebAuthnCredential (nickname? omis si null).

WebhookEndpointRow#

interface WebhookEndpointRow

Forme plate d’une ligne d’endpoint renvoyée par le repository Mongoose — id = virtuel (= _id = l’id wh_…), events mutable (le contrat porte readonly string[]). MongooseWebhookStore mappe Row ↔ IWebhookEndpoint.

Types (3)#

IMongooseConfig#

type IMongooseConfig = z.infer<typeof mongooseConfigSchema>

Configuration normalisée et gelée de @nodefony/mongoose (sortie du builder defineMongooseConfig, consommée par le MongooseService).

IMongooseConfigInput#

type IMongooseConfigInput = z.input<typeof mongooseConfigSchema>

Entrée du builder defineMongooseConfig — tous les champs portant un défaut sont optionnels (l’app ne fournit que ce qu’elle surcharge dans use()).

IMongooseConnectorConfig#

type IMongooseConnectorConfig = IMongooseConfig["connectors"][string]

Définition d’une connexion Mongoose nommée (sous-objet de connectors).

Bibliothèques réexportées (1)#

mongoose#

La bibliothèque mongoose, réexportée telle quelle : sa documentation est la sienne.


← Toutes les références d’API