From 0ac1cc47ca02bb7b8e48d3c3082ae66428bb6cfa Mon Sep 17 00:00:00 2001 From: "@jotadeveloper" <@jotadeveloper> Date: Sun, 15 Jul 2018 23:20:43 +0200 Subject: [PATCH] feat: add IStorageManager for middleware plugin it shared methods with IBasicStorage --- core/types/src/types.js | 41 ++++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/core/types/src/types.js b/core/types/src/types.js index d5288bb4..90df5e0f 100644 --- a/core/types/src/types.js +++ b/core/types/src/types.js @@ -2,7 +2,9 @@ declare type verdaccio$StringValue = string | void | null; -declare interface verdaccio$IUploadTarball extends stream$PassThrough { +stream$PassThrough + +declare class verdaccio$IUploadTarball extends stream$PassThrough { abort: Function; done: Function; _transform: Function; @@ -10,7 +12,7 @@ declare interface verdaccio$IUploadTarball extends stream$PassThrough { done(): void; } -declare interface verdaccio$IReadTarball extends stream$PassThrough { +declare class verdaccio$IReadTarball extends stream$PassThrough { abort: Function; abort(): void; } @@ -309,18 +311,34 @@ declare interface verdaccio$ILocalPackageManager { savePackage(fileName: string, json: verdaccio$Package, callback: verdaccio$Callback): void; } -declare interface verdaccio$IBasicStorage { - addPackage(name: string, info: verdaccio$Package, callback: verdaccio$Callback): void; - removePackage(name: string, callback: verdaccio$Callback): void; - updateVersions(name: string, packageInfo: verdaccio$Package, callback: verdaccio$Callback): void; +declare interface verdaccio$TarballActions { + addTarball(name: string, filename: string): verdaccio$IUploadTarball; + getTarball(name: string, filename: string): verdaccio$IReadTarball; + removeTarball(name: string, filename: string, revision: string, callback: verdaccio$Callback): void; +} + +declare interface verdaccio$StoragePackageActions extends verdaccio$TarballActions { addVersion(name: string, version: string, metadata: verdaccio$Version, tag: verdaccio$StringValue, callback: verdaccio$Callback): void; mergeTags(name: string, tags: verdaccio$MergeTags, callback: verdaccio$Callback): void; + removePackage(name: string, callback: verdaccio$Callback): void; changePackage(name: string, metadata: verdaccio$Package, revision: string, callback: verdaccio$Callback): void; - removeTarball(name: string, filename: string, revision: string, callback: verdaccio$Callback): void; - addTarball(name: string, filename: string): verdaccio$IUploadTarball; - getTarball(name: string, filename: string): verdaccio$IReadTarball; +} + +declare interface verdaccio$IStorageManager extends verdaccio$StoragePackageActions { + config: verdaccio$Config; + logger: verdaccio$Logger; + init(config: verdaccio$Config): Promise; + addPackage(name: string, metadata: any, callback: verdaccio$Callback): Promise; + getPackage(options: any): void; + search(startkey: string, options: any): verdaccio$IReadTarball; + getLocalDatabase(callback: verdaccio$Callback): void; +} + +declare interface verdaccio$IBasicStorage extends verdaccio$StoragePackageActions { + addPackage(name: string, info: verdaccio$Package, callback: verdaccio$Callback): void; + updateVersions(name: string, packageInfo: verdaccio$Package, callback: verdaccio$Callback): void; getPackageMetadata(name: string, callback: verdaccio$Callback): void; - search(startKey: string, options: any): verdaccio$IUploadTarball; + search(startKey: string, options: any): verdaccio$IReadTarball; getSecret(config: verdaccio$Config): Promise; } @@ -347,7 +365,7 @@ declare interface verdaccio$IPluginAuth extends verdaccio$IPlugin { } declare interface verdaccio$IPluginMiddleware extends verdaccio$IPlugin { - register_middlewares(app: any, auth: verdaccio$IBasicAuth, storage: verdaccio$IBasicStorage): void; + register_middlewares(app: any, auth: verdaccio$IBasicAuth, storage: verdaccio$IStorageManager): void; } declare module "@verdaccio/local-storage" { @@ -389,6 +407,7 @@ declare module "@verdaccio/file-locking" { } declare module "@verdaccio/types" { + declare export type IStorageManager = verdaccio$IStorageManager; declare export type IBasicStorage = verdaccio$IBasicStorage; declare export type IBasicAuth = verdaccio$IBasicAuth; declare export type IPluginAuth = verdaccio$IPluginAuth;