Skip to content

Drivers personnalisés

Un driver externe étend AbstractStorage. Il surcharge les opérations prises en charge et laisse les autres méthodes lancer MethodNotSupportedException.

ts
import {
  AbstractStorage,
  type DeleteResponse,
  type Response,
} from '@ficsysfr/nestjs_module_factorydrive'

export class ExampleStorage extends AbstractStorage {
  public async put(location: string, content: Buffer | NodeJS.ReadableStream | string): Promise<Response> {
    return { raw: { location, content } }
  }

  public async delete(location: string): Promise<DeleteResponse> {
    return { raw: { location }, wasDeleted: true }
  }
}

Garder le client fournisseur, les identifiants, les endpoints et la traduction des erreurs dans le driver. Les informations spécifiques restent sous raw.

ts
export class AppModule {
  public constructor(factorydrive: FactorydriveService) {
    factorydrive.registerDriver('example', ExampleStorage)
  }
}

La clé d’enregistrement correspond à disks.*.driver et doit être enregistrée avant l’initialisation. Un package satellite utilise le préfixe @ficsysfr/nestjs_module_factorydrive-* et déclare le cœur ^2.0.0 en peer dependency.

Publié sous licence MIT.